From cc00d1b9678b0d1ffa0685dc212f1e7ecfed15ec Mon Sep 17 00:00:00 2001 From: Bastiaan Olij Date: Sat, 4 Mar 2023 22:33:59 +1100 Subject: [PATCH] XR Tools 3.4.0 port to 4.0.0 This commit is an amalgamation of all work done in the 4.0-dev branch and includes authors from many contributors listed in CONTRIBUTORS.md --- .gitattributes | 1 + .github/workflows/build-on-push.yml | 5 - .github/workflows/gdlint-on-push.yml | 3 +- .gitignore | 19 +- LICENSE | 2 +- README.md | 8 +- VERSIONS.md | 6 + .../misc/Hold trigger to continue.png.import | 35 +- .../assets/misc/progress_bar.png.import | 35 +- .../assets/resource_queue/resource_queue.gd | 221 ---- addons/godot-xr-tools/audio/surface_audio.gd | 25 +- .../audio/surface_audio_type.gd | 29 +- .../editor/icons/body.svg.import | 32 +- .../editor/icons/foot.svg.import | 32 +- .../editor/icons/function.svg.import | 32 +- .../editor/icons/hand.svg.import | 32 +- .../editor/icons/movement_provider.svg.import | 32 +- .../editor/icons/node.svg.import | 32 +- addons/godot-xr-tools/effects/vignette.gd | 75 +- .../godot-xr-tools/effects/vignette.gdshader | 6 +- .../godot-xr-tools/effects/vignette.material | Bin 297 -> 0 bytes addons/godot-xr-tools/effects/vignette.tres | 10 + addons/godot-xr-tools/effects/vignette.tscn | 41 +- addons/godot-xr-tools/examples/fall_damage.gd | 21 +- .../godot-xr-tools/examples/fall_damage.tscn | 6 +- .../functions/function_pickup.gd | 147 +-- .../functions/function_pickup.tscn | 8 +- .../functions/function_pointer.gd | 118 +- .../functions/function_pointer.tscn | 37 +- .../functions/function_pose_detector.gd | 43 +- .../functions/function_pose_detector.tscn | 20 +- .../functions/function_teleport.gd | 157 +-- .../functions/function_teleport.tscn | 62 +- .../functions/movement_climb.gd | 53 +- .../functions/movement_climb.tscn | 6 +- .../functions/movement_crouch.gd | 34 +- .../functions/movement_crouch.tscn | 6 +- .../functions/movement_direct.gd | 51 +- .../functions/movement_direct.tscn | 10 +- .../functions/movement_flight.gd | 69 +- .../functions/movement_flight.tscn | 6 +- .../functions/movement_footstep.gd | 57 +- .../functions/movement_footstep.tscn | 6 +- .../functions/movement_glide.gd | 68 +- .../functions/movement_glide.tscn | 6 +- .../functions/movement_grapple.gd | 71 +- .../functions/movement_grapple.tscn | 32 +- .../godot-xr-tools/functions/movement_jump.gd | 32 +- .../functions/movement_jump.tscn | 7 +- .../functions/movement_physical_jump.gd | 58 +- .../functions/movement_physical_jump.tscn | 6 +- .../functions/movement_provider.gd | 43 +- .../functions/movement_sprint.gd | 56 +- .../functions/movement_sprint.tscn | 6 +- .../godot-xr-tools/functions/movement_turn.gd | 42 +- .../functions/movement_turn.tscn | 6 +- .../functions/movement_wall_walk.gd | 15 +- .../functions/movement_wall_walk.tscn | 6 +- .../godot-xr-tools/functions/movement_wind.gd | 45 +- .../functions/movement_wind.tscn | 6 +- .../animations/left/AnimationPlayer.tscn | 149 +-- .../hands/animations/left/Cup.anim | Bin 9874 -> 0 bytes .../hands/animations/left/Cup.res | Bin 0 -> 6011 bytes .../hands/animations/left/Default pose.anim | Bin 9892 -> 0 bytes .../hands/animations/left/Default pose.res | Bin 0 -> 6029 bytes .../hands/animations/left/Grip 1.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Grip 1.res | Bin 0 -> 6017 bytes .../hands/animations/left/Grip 2.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Grip 2.res | Bin 0 -> 6017 bytes .../hands/animations/left/Grip 3.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Grip 3.res | Bin 0 -> 6017 bytes .../hands/animations/left/Grip 4.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Grip 4.res | Bin 0 -> 6017 bytes .../hands/animations/left/Grip 5.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Grip 5.res | Bin 0 -> 6017 bytes .../hands/animations/left/Grip Shaft.anim | Bin 9888 -> 0 bytes .../hands/animations/left/Grip Shaft.res | Bin 0 -> 6025 bytes .../hands/animations/left/Grip.anim | Bin 9876 -> 0 bytes .../hands/animations/left/Grip.res | Bin 0 -> 6013 bytes .../hands/animations/left/Hold.anim | Bin 9876 -> 0 bytes .../hands/animations/left/Hold.res | Bin 0 -> 6013 bytes .../hands/animations/left/Horns.anim | Bin 9878 -> 0 bytes .../hands/animations/left/Horns.res | Bin 0 -> 6015 bytes .../hands/animations/left/Metal.anim | Bin 9878 -> 0 bytes .../hands/animations/left/Metal.res | Bin 0 -> 6015 bytes .../hands/animations/left/Middle.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Middle.res | Bin 0 -> 6017 bytes .../hands/animations/left/OK.anim | Bin 9872 -> 0 bytes .../hands/animations/left/OK.res | Bin 0 -> 6009 bytes .../hands/animations/left/Peace.anim | Bin 9878 -> 0 bytes .../hands/animations/left/Peace.res | Bin 0 -> 6015 bytes .../hands/animations/left/Pinch Flat.anim | Bin 9888 -> 0 bytes .../hands/animations/left/Pinch Flat.res | Bin 0 -> 6025 bytes .../hands/animations/left/Pinch Large.anim | Bin 9890 -> 0 bytes .../hands/animations/left/Pinch Large.res | Bin 0 -> 6027 bytes .../hands/animations/left/Pinch Middle.anim | Bin 9892 -> 0 bytes .../hands/animations/left/Pinch Middle.res | Bin 0 -> 6029 bytes .../hands/animations/left/Pinch Ring.anim | Bin 9888 -> 0 bytes .../hands/animations/left/Pinch Ring.res | Bin 0 -> 6025 bytes .../hands/animations/left/Pinch Tight.anim | Bin 9890 -> 0 bytes .../hands/animations/left/Pinch Tight.res | Bin 0 -> 6027 bytes .../hands/animations/left/Pinch Up.anim | Bin 9884 -> 0 bytes .../hands/animations/left/Pinch Up.res | Bin 0 -> 6021 bytes .../hands/animations/left/PingPong.anim | Bin 9884 -> 0 bytes .../hands/animations/left/PingPong.res | Bin 0 -> 6021 bytes .../hands/animations/left/Pinky.anim | Bin 9878 -> 0 bytes .../hands/animations/left/Pinky.res | Bin 0 -> 6015 bytes .../hands/animations/left/Pistol.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Pistol.res | Bin 0 -> 6017 bytes .../hands/animations/left/Ring.anim | Bin 9876 -> 0 bytes .../hands/animations/left/Ring.res | Bin 0 -> 6013 bytes .../hands/animations/left/Rounded.anim | Bin 9882 -> 0 bytes .../hands/animations/left/Rounded.res | Bin 0 -> 6019 bytes .../hands/animations/left/Sign 1.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Sign 1.res | Bin 0 -> 6017 bytes .../hands/animations/left/Sign 2.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Sign 2.res | Bin 0 -> 6017 bytes .../hands/animations/left/Sign 3.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Sign 3.res | Bin 0 -> 6017 bytes .../hands/animations/left/Sign 4.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Sign 4.res | Bin 0 -> 6017 bytes .../hands/animations/left/Sign 5.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Sign 5.res | Bin 0 -> 6017 bytes .../hands/animations/left/Sign_Point.anim | Bin 9888 -> 0 bytes .../hands/animations/left/Sign_Point.res | Bin 0 -> 6025 bytes .../hands/animations/left/Straight.anim | Bin 9884 -> 0 bytes .../hands/animations/left/Straight.res | Bin 0 -> 6021 bytes .../hands/animations/left/Surfer.anim | Bin 9880 -> 0 bytes .../hands/animations/left/Surfer.res | Bin 0 -> 6017 bytes .../hands/animations/left/Thumb.anim | Bin 9878 -> 0 bytes .../hands/animations/left/Thumb.res | Bin 0 -> 6015 bytes .../animations/left/hand_blend_tree.tres | 46 +- .../animations/right/AnimationPlayer.tscn | 149 +-- .../hands/animations/right/Cup.anim | Bin 9875 -> 0 bytes .../hands/animations/right/Cup.res | Bin 0 -> 6012 bytes .../hands/animations/right/Default pose.anim | Bin 9893 -> 0 bytes .../hands/animations/right/Default pose.res | Bin 0 -> 6030 bytes .../hands/animations/right/Grip 1.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Grip 1.res | Bin 0 -> 6018 bytes .../hands/animations/right/Grip 2.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Grip 2.res | Bin 0 -> 6018 bytes .../hands/animations/right/Grip 3.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Grip 3.res | Bin 0 -> 6018 bytes .../hands/animations/right/Grip 4.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Grip 4.res | Bin 0 -> 6018 bytes .../hands/animations/right/Grip 5.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Grip 5.res | Bin 0 -> 6018 bytes .../hands/animations/right/Grip Shaft.anim | Bin 9889 -> 0 bytes .../hands/animations/right/Grip Shaft.res | Bin 0 -> 6026 bytes .../hands/animations/right/Grip.anim | Bin 9877 -> 0 bytes .../hands/animations/right/Grip.res | Bin 0 -> 6014 bytes .../hands/animations/right/Hold.anim | Bin 9877 -> 0 bytes .../hands/animations/right/Hold.res | Bin 0 -> 6014 bytes .../hands/animations/right/Horns.anim | Bin 9879 -> 0 bytes .../hands/animations/right/Horns.res | Bin 0 -> 6016 bytes .../hands/animations/right/Metal.anim | Bin 9879 -> 0 bytes .../hands/animations/right/Metal.res | Bin 0 -> 6016 bytes .../hands/animations/right/Middle.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Middle.res | Bin 0 -> 6018 bytes .../hands/animations/right/OK.anim | Bin 9873 -> 0 bytes .../hands/animations/right/OK.res | Bin 0 -> 6010 bytes .../hands/animations/right/Peace.anim | Bin 9879 -> 0 bytes .../hands/animations/right/Peace.res | Bin 0 -> 6016 bytes .../hands/animations/right/Pinch Flat.anim | Bin 9889 -> 0 bytes .../hands/animations/right/Pinch Flat.res | Bin 0 -> 6026 bytes .../hands/animations/right/Pinch Large.anim | Bin 9891 -> 0 bytes .../hands/animations/right/Pinch Large.res | Bin 0 -> 6028 bytes .../hands/animations/right/Pinch Middle.anim | Bin 9893 -> 0 bytes .../hands/animations/right/Pinch Middle.res | Bin 0 -> 6030 bytes .../hands/animations/right/Pinch Ring.anim | Bin 9889 -> 0 bytes .../hands/animations/right/Pinch Ring.res | Bin 0 -> 6026 bytes .../hands/animations/right/Pinch Tight.anim | Bin 9891 -> 0 bytes .../hands/animations/right/Pinch Tight.res | Bin 0 -> 6028 bytes .../hands/animations/right/Pinch Up.anim | Bin 9885 -> 0 bytes .../hands/animations/right/Pinch Up.res | Bin 0 -> 6022 bytes .../hands/animations/right/PingPong.anim | Bin 9885 -> 0 bytes .../hands/animations/right/PingPong.res | Bin 0 -> 6022 bytes .../hands/animations/right/Pinky.anim | Bin 9879 -> 0 bytes .../hands/animations/right/Pinky.res | Bin 0 -> 6016 bytes .../hands/animations/right/Pistol.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Pistol.res | Bin 0 -> 6018 bytes .../hands/animations/right/Ring.anim | Bin 9877 -> 0 bytes .../hands/animations/right/Ring.res | Bin 0 -> 6014 bytes .../hands/animations/right/Rounded.anim | Bin 9883 -> 0 bytes .../hands/animations/right/Rounded.res | Bin 0 -> 6020 bytes .../hands/animations/right/Sign 1.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Sign 1.res | Bin 0 -> 6018 bytes .../hands/animations/right/Sign 2.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Sign 2.res | Bin 0 -> 6018 bytes .../hands/animations/right/Sign 3.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Sign 3.res | Bin 0 -> 6018 bytes .../hands/animations/right/Sign 4.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Sign 4.res | Bin 0 -> 6018 bytes .../hands/animations/right/Sign 5.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Sign 5.res | Bin 0 -> 6018 bytes .../hands/animations/right/Sign_Point.anim | Bin 9889 -> 0 bytes .../hands/animations/right/Sign_Point.res | Bin 0 -> 6026 bytes .../hands/animations/right/Straight.anim | Bin 9885 -> 0 bytes .../hands/animations/right/Straight.res | Bin 0 -> 6022 bytes .../hands/animations/right/Surfer.anim | Bin 9881 -> 0 bytes .../hands/animations/right/Surfer.res | Bin 0 -> 6018 bytes .../hands/animations/right/Thumb.anim | Bin 9879 -> 0 bytes .../hands/animations/right/Thumb.res | Bin 0 -> 6016 bytes .../animations/right/hand_blend_tree.tres | 46 +- addons/godot-xr-tools/hands/hand.gd | 86 +- .../godot-xr-tools/hands/hand_physics_bone.gd | 59 +- .../hands/materials/african_hands.material | Bin 860 -> 1072 bytes .../african_hands_realistic.material | Bin 896 -> 1125 bytes .../hands/materials/caucasian_hand.material | Bin 812 -> 1068 bytes .../caucasian_hands_realistic.material | Bin 858 -> 1113 bytes .../hands/materials/cleaning_glove.material | Bin 920 -> 1121 bytes .../hands/materials/ghost_hand.tres | 24 +- .../glove_african_dark_camo.material | Bin 901 -> 1121 bytes .../glove_african_green_camo.material | Bin 900 -> 1127 bytes .../glove_caucasian_dark_camo.material | Bin 905 -> 1127 bytes .../glove_caucasian_green_camo.material | Bin 901 -> 1123 bytes .../hands/materials/labglove.material | Bin 913 -> 1116 bytes .../hands/model/Hand_Glove_L.gltf.import | 1065 +---------------- .../hands/model/Hand_Glove_R.gltf.import | 1065 +---------------- .../hands/model/Hand_Glove_low_L.gltf.import | 1065 +---------------- .../hands/model/Hand_Glove_low_R.gltf.import | 1065 +---------------- .../hands/model/Hand_Nails_L.gltf.import | 1065 +---------------- .../hands/model/Hand_Nails_R.gltf.import | 1065 +---------------- .../hands/model/Hand_Nails_low_L.gltf.import | 1065 +---------------- .../hands/model/Hand_Nails_low_R.gltf.import | 1065 +---------------- .../hands/model/Hand_low_L.gltf.import | 1065 +---------------- .../hands/model/Hand_low_R.gltf.import | 1065 +---------------- .../hands/model/hand_l.gltf.import | 1065 +---------------- .../hands/model/hand_r.gltf.import | 1065 +---------------- addons/godot-xr-tools/hands/physics_hand.gd | 14 +- .../hands/poses/hand_pose_settings.gd | 7 +- .../hands/poses/pose_default_left.tres | 14 +- .../hands/poses/pose_default_right.tres | 14 +- .../hands/poses/pose_point_left.tres | 12 +- .../hands/poses/pose_point_right.tres | 12 +- .../scenes/highpoly/left_fullglove_hand.tscn | 104 +- .../highpoly/left_fullglove_physics_hand.tscn | 282 ++--- .../hands/scenes/highpoly/left_hand.tscn | 104 +- .../scenes/highpoly/left_physics_hand.tscn | 282 ++--- .../highpoly/left_physics_tac_glove.tscn | 275 +++-- .../hands/scenes/highpoly/left_tac_glove.tscn | 111 +- .../scenes/highpoly/right_fullglove_hand.tscn | 104 +- .../right_fullglove_physics_hand.tscn | 278 +++-- .../hands/scenes/highpoly/right_hand.tscn | 104 +- .../scenes/highpoly/right_physics_hand.tscn | 278 +++-- .../highpoly/right_physics_tac_glove.tscn | 275 +++-- .../scenes/highpoly/right_tac_glove.tscn | 111 +- .../scenes/lowpoly/left_fullglove_low.tscn | 89 +- .../hands/scenes/lowpoly/left_hand_low.tscn | 104 +- .../lowpoly/left_physics_fullglove_low.tscn | 278 +++-- .../scenes/lowpoly/left_physics_hand_low.tscn | 278 +++-- .../lowpoly/left_physics_tac_glove_low.tscn | 277 +++-- .../scenes/lowpoly/left_tac_glove_low.tscn | 113 +- .../scenes/lowpoly/right_fullglove_low.tscn | 104 +- .../hands/scenes/lowpoly/right_hand_low.tscn | 104 +- .../lowpoly/right_physics_fullglove_low.tscn | 278 +++-- .../lowpoly/right_physics_hand_low.tscn | 278 +++-- .../lowpoly/right_physics_tac_glove_low.tscn | 277 +++-- .../scenes/lowpoly/right_tac_glove_low.tscn | 113 +- .../textures/african_baseColor.png.import | 37 +- .../african_realistic_baseColor.png.import | 37 +- .../textures/caucasian_baseColor.png.import | 35 +- .../caucasian_realistic_baseColor.png.import | 37 +- .../cleaning_glove_baseColor.png.import | 35 +- .../glove_african_dark_camo.png.import | 37 +- .../glove_african_green_camo.png.import | 35 +- .../glove_caucasian_dark_camo.png.import | 35 +- .../glove_caucasian_green_camo.png.import | 35 +- .../glove_fingerless_normal.png.import | 35 +- ...less_occlusionRoughnessMetallic.png.import | 35 +- .../hands/textures/glove_normal.png.import | 35 +- ...love_occlusionRoughnessMetallic.png.import | 35 +- .../hands/textures/hands_normal.png.import | 39 +- ...ands_occlusionRoughnessMetallic.png.import | 35 +- .../textures/labglove_baseColor.png.import | 35 +- addons/godot-xr-tools/images/icon.png.import | 31 +- addons/godot-xr-tools/images/ring.png.import | 35 +- .../images/teleport_arrow.png.import | 35 +- .../images/teleport_target.png.import | 35 +- .../interactables/interactable_area_button.gd | 97 +- .../interactable_area_button.tscn | 8 +- .../interactables/interactable_handle.gd | 35 +- .../interactables/interactable_handle.tscn | 9 +- .../interactable_handle_driven.gd | 16 +- .../interactables/interactable_hinge.gd | 62 +- .../interactables/interactable_joystick.gd | 98 +- .../interactables/interactable_slider.gd | 31 +- .../interactables/interactable_slider.tscn | 8 +- addons/godot-xr-tools/materials/capsule.tres | 2 +- .../godot-xr-tools/materials/highlight.tres | 76 +- addons/godot-xr-tools/materials/pointer.tres | 2 +- addons/godot-xr-tools/materials/target.tres | 2 +- .../{teleport.shader => teleport.gdshader} | 10 +- addons/godot-xr-tools/materials/teleport.tres | 19 +- addons/godot-xr-tools/misc/arvr_helpers.gd | 135 --- addons/godot-xr-tools/misc/hold_button.gd | 40 +- addons/godot-xr-tools/misc/hold_button.tscn | 34 +- .../misc/hold_button_visualshader.tres | 289 ++--- addons/godot-xr-tools/misc/move_to.gd | 16 +- .../godot-xr-tools/misc/velocity_averager.gd | 4 +- .../misc/velocity_averager_linear.gd | 4 +- .../misc/vr_common_shader_cache.gd | 2 +- .../misc/vr_common_shader_cache.tscn | 78 +- addons/godot-xr-tools/misc/xr_helpers.gd | 137 +++ addons/godot-xr-tools/objects/climbable.gd | 20 +- addons/godot-xr-tools/objects/climbable.tscn | 10 +- .../objects/grab_points/grab_point.gd | 4 +- .../objects/grab_points/grab_point_hand.gd | 32 +- .../grab_points/grab_point_hand_left.tscn | 8 +- .../grab_points/grab_point_hand_right.tscn | 8 +- .../objects/grab_points/grab_point_snap.gd | 14 +- .../objects/grab_points/grab_point_snap.tscn | 8 +- .../godot-xr-tools/objects/hand_pose_area.gd | 19 +- .../objects/hand_pose_area.tscn | 8 +- .../objects/highlight/highlight_material.gd | 35 +- .../objects/highlight/highlight_ring.gd | 23 +- .../objects/highlight/highlight_ring.tres | 4 +- .../objects/highlight/highlight_ring.tscn | 18 +- .../objects/highlight/highlight_visible.gd | 23 +- .../objects/interactable_area.gd | 10 +- .../objects/interactable_body.gd | 3 +- .../objects/keyboard/virtual_key.gd | 8 +- .../objects/keyboard/virtual_key.tscn | 6 +- .../objects/keyboard/virtual_keyboard_2d.gd | 16 +- .../objects/keyboard/virtual_keyboard_2d.tscn | 810 +++++++------ addons/godot-xr-tools/objects/pickable.gd | 86 +- addons/godot-xr-tools/objects/pickable.tscn | 11 +- .../objects/return_to_snap_zone.gd | 29 +- addons/godot-xr-tools/objects/snap_zone.gd | 70 +- addons/godot-xr-tools/objects/snap_zone.tscn | 15 +- .../objects/viewport_2d_in_3d.gd | 88 +- .../objects/viewport_2d_in_3d.tscn | 66 +- .../objects/viewport_2d_in_3d_body.gd | 14 +- .../objects/virtual_keyboard.tscn | 16 +- addons/godot-xr-tools/objects/wind_area.gd | 14 +- addons/godot-xr-tools/objects/wind_area.tscn | 10 +- .../overrides/ground_physics.gd | 27 +- .../overrides/ground_physics.tscn | 6 +- .../overrides/ground_physics_settings.gd | 21 +- addons/godot-xr-tools/player/player_body.gd | 201 ++-- addons/godot-xr-tools/player/player_body.tscn | 9 +- addons/godot-xr-tools/player/poke/poke.gd | 28 +- addons/godot-xr-tools/player/poke/poke.tscn | 35 +- .../godot-xr-tools/player/poke/poke_body.gd | 6 +- addons/godot-xr-tools/plugin.cfg | 2 +- addons/godot-xr-tools/plugin.gd | 8 +- addons/godot-xr-tools/staging/fade.gdshader | 5 +- .../godot-xr-tools/staging/loading_screen.gd | 28 +- .../staging/loading_screen.tscn | 95 +- .../loading_screen/loading_screen_shader.tres | 196 +-- .../staging/loading_screen_shader.tres | 197 +-- addons/godot-xr-tools/staging/scene_base.gd | 30 +- addons/godot-xr-tools/staging/scene_base.tscn | 31 +- addons/godot-xr-tools/staging/staging.gd | 161 +-- addons/godot-xr-tools/staging/staging.tscn | 73 +- .../user_settings/user_settings.gd | 139 ++- .../user_settings/user_settings_ui.gd | 21 +- .../user_settings/user_settings_ui.tscn | 162 +-- addons/godot-xr-tools/xr/start_xr.gd | 128 +- addons/godot-xr-tools/xr/start_xr.tscn | 18 +- addons/godot-xr-tools/xr_tools.gd | 65 +- .../SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import | 37 +- assets/footsteps/default_footstep.ogg.import | 19 + assets/footsteps/default_footstep.wav.import | 7 +- assets/footsteps/grass_footstep.ogg.import | 19 + assets/footsteps/grass_footstep.wav.import | 7 +- assets/footsteps/mud_footstep.ogg.import | 19 + assets/footsteps/mud_footstep.wav.import | 7 +- assets/footsteps/puddle_footstep.ogg.import | 19 + assets/footsteps/puddle_footstep.wav.import | 7 +- assets/footsteps/snow_footstep.ogg.import | 19 + assets/footsteps/snow_footstep.wav.import | 7 +- assets/godot/splash.png.import | 35 +- assets/maps/basic_map.tscn | 114 +- .../meshes/interactables/joystick_smooth.tscn | 112 +- .../meshes/interactables/joystick_snap.tscn | 114 +- .../meshes/interactables/joystick_zero.tscn | 114 +- assets/meshes/interactables/lever_smooth.tscn | 116 +- assets/meshes/interactables/lever_snap.tscn | 114 +- assets/meshes/interactables/lever_zero.tscn | 114 +- .../interactables/pose_grab_ball_left.tres | 14 +- .../interactables/pose_grab_ball_right.tres | 14 +- .../interactables/pose_grab_wheel_left.tres | 14 +- .../interactables/pose_grab_wheel_right.tres | 14 +- assets/meshes/interactables/push_button.tscn | 78 +- .../meshes/interactables/slider_smooth.tscn | 116 +- assets/meshes/interactables/slider_snap.tscn | 114 +- assets/meshes/interactables/slider_zero.tscn | 114 +- assets/meshes/interactables/wheel_smooth.tscn | 175 ++- assets/meshes/mound/mound.glb.import | 1057 +--------------- assets/meshes/mound/mound.tscn | 66 +- assets/meshes/plate/plate.glb.import | 1057 +--------------- assets/meshes/plate/surface_objects.tscn | 227 ++-- assets/meshes/ramps/ramp_material.tres | 4 +- assets/meshes/ramps/ramps.glb.import | 1057 +--------------- assets/meshes/ramps/ramps.tscn | 140 ++- assets/meshes/table/table.tscn | 114 +- assets/meshes/teacup/saucer.glb.import | 1057 +--------------- assets/meshes/teacup/stand.glb.import | 1057 +--------------- assets/meshes/teacup/teacup.glb.import | 1057 +--------------- assets/meshes/teleport/Body.material | Bin 1674 -> 0 bytes assets/meshes/teleport/Title.material | Bin 1676 -> 0 bytes assets/meshes/teleport/teleport.gd | 20 +- assets/meshes/teleport/teleport.glb.import | 1057 +--------------- assets/meshes/teleport/teleport.tscn | 234 ++-- .../meshes/teleport/teleport_area_shader.tres | 176 +-- .../teleport/teleport_body_material.tres | 4 +- .../teleport/teleport_title_material.tres | 133 +- assets/meshes/tube/tube.glb.import | 1057 +--------------- assets/meshes/tube/tube.tscn | 5 + assets/meshes/tube/tube_mesh.tres | 40 +- ...ap_and_constellation_figures_4k.jpg.import | 37 +- assets/wahooney.itch.io/blue_grid.png.import | 35 +- assets/wahooney.itch.io/blue_grid.tres | 4 +- assets/wahooney.itch.io/brown_grid.png.import | 35 +- .../brown_grid_triplanar.tres | 4 +- assets/wahooney.itch.io/green_grid.png.import | 35 +- .../green_grid_triplanar.tres | 4 +- assets/wahooney.itch.io/white_grid.png.import | 35 +- default_env.tres | 19 +- demo_staging.gd | 8 +- demo_staging.tscn | 14 +- export_presets.cfg | 763 +++++++++++- icon.png.import | 31 +- openxr_action_map.tres | 826 +++++++++++++ project.godot | 395 +----- .../basic movement demo.png.import | 35 +- .../basic_movement_demo.tscn | 95 +- .../objects/instructions.tscn | 30 +- .../objects/instructions_2d.tscn | 25 +- .../climbing_gliding_demo.png.import | 35 +- .../climbing_gliding_demo.tscn | 327 +++-- .../materials/ghost_hand.tres | 11 + .../climbing_gliding_demo/objects/cliff.tscn | 28 +- .../climbing_gliding_demo/objects/hill.tscn | 26 +- .../objects/instructions.tscn | 30 +- .../objects/instructions_2d.tscn | 27 +- .../objects/wind_area.tscn | 67 +- .../objects/wind_area_shader.tres | 174 +-- scenes/demo_scene_base.gd | 27 + .../footstep movement demo.png.import | 35 +- .../footstep_movement_demo.tscn | 119 +- .../objects/instructions.tscn | 30 +- .../objects/instructions_2d.tscn | 64 +- .../grappling_demo/grappling_demo.png.import | 35 +- scenes/grappling_demo/grappling_demo.tscn | 145 ++- .../objects/instructions_2d.tscn | 25 +- .../objects/moving_platforms.gd | 6 +- .../objects/moving_platforms.tscn | 10 +- scenes/grappling_demo/objects/platform.tscn | 28 +- scenes/grappling_demo/objects/tower.tscn | 30 +- .../interactables_demo.png.import | 35 +- .../interactables_demo.tscn | 157 ++- .../objects/instructions_2d.tscn | 25 +- scenes/main_menu/main_menu_level.gd | 9 +- scenes/main_menu/main_menu_level.tscn | 413 ++++--- scenes/main_menu/objects/settings_ui.gd | 4 +- scenes/main_menu/objects/settings_ui.tscn | 96 +- .../objects/settings_ui_content.tscn | 28 +- .../objects/settings_ui_material.tres | 6 + .../main_menu/return to main menu.png.import | 35 +- .../objects/instructions.tscn | 30 +- .../objects/instructions_2d.tscn | 25 +- .../objects/pill_orient.tscn | 48 +- .../objects/sphere_orient.tscn | 36 +- .../origin_gravity_demo.png.import | 35 +- .../origin_gravity_demo.tscn | 152 ++- .../pickable_demo/objects/belt_snap_zone.tscn | 27 +- scenes/pickable_demo/objects/grab_ball.tscn | 57 +- scenes/pickable_demo/objects/grab_cube.gd | 35 +- scenes/pickable_demo/objects/grab_cube.tscn | 39 +- scenes/pickable_demo/objects/hammer.tscn | 77 +- .../objects/instructions_2d.tscn | 25 +- scenes/pickable_demo/objects/knife.gd | 17 +- scenes/pickable_demo/objects/knife.tscn | 123 +- scenes/pickable_demo/objects/saucer.tscn | 65 +- .../pickable_demo/objects/snap_toy_red.tscn | 33 +- .../objects/snap_toy_yellow.tscn | 31 +- scenes/pickable_demo/objects/snap_tray.gd | 9 +- scenes/pickable_demo/objects/snap_tray.tscn | 122 +- scenes/pickable_demo/objects/teacup.tscn | 114 +- .../pickable_demo/objects/teacup_stand.tscn | 96 +- scenes/pickable_demo/pickable_demo.png.import | 35 +- scenes/pickable_demo/pickable_demo.tscn | 228 ++-- .../pickable_demo/poses/pose_hammer_left.tres | 14 +- .../poses/pose_hammer_right.tres | 14 +- .../pointer_demo/objects/color_change_cube.gd | 8 +- .../objects/color_change_cube.tscn | 27 +- scenes/pointer_demo/objects/display.tscn | 52 +- .../objects/keyboard_test_screen.tscn | 135 ++- scenes/pointer_demo/pointer_demo.png.import | 35 +- scenes/pointer_demo/pointer_demo.tscn | 96 +- scenes/poke_demo/objects/canvas.gd | 8 +- scenes/poke_demo/objects/canvas.tscn | 74 +- scenes/poke_demo/objects/instructions_2d.tscn | 25 +- scenes/poke_demo/poke_demo.png.import | 35 +- scenes/poke_demo/poke_demo.tscn | 322 ++--- .../environments/constellations.tres | 15 +- scenes/sphere_world_demo/objects/donut.tscn | 12 +- scenes/sphere_world_demo/objects/tower.tscn | 30 +- .../sphere_world_demo.png.import | 35 +- .../sphere_world_demo/sphere_world_demo.tscn | 207 ++-- .../objects/instructions_2d.tscn | 25 +- .../sprinting_demo/sprinting_demo.png.import | 35 +- scenes/sprinting_demo/sprinting_demo.tscn | 154 ++- .../objects/instructions_2d.tscn | 25 +- .../teleport movement demo.png.import | 35 +- scenes/teleport_demo/teleport_demo.tscn | 58 +- 508 files changed, 12680 insertions(+), 31312 deletions(-) delete mode 100644 addons/godot-xr-tools/assets/resource_queue/resource_queue.gd delete mode 100644 addons/godot-xr-tools/effects/vignette.material create mode 100644 addons/godot-xr-tools/effects/vignette.tres delete mode 100644 addons/godot-xr-tools/hands/animations/left/Cup.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Cup.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Default pose.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Default pose.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 1.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 1.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 2.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 2.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 3.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 3.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 4.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 4.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 5.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip 5.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip Shaft.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Grip.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Grip.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Hold.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Hold.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Horns.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Horns.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Metal.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Metal.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Middle.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Middle.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/OK.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/OK.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Peace.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Peace.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Flat.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Large.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Large.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Middle.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Ring.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Tight.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Up.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinch Up.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/PingPong.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/PingPong.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pinky.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pinky.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Pistol.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Pistol.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Ring.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Ring.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Rounded.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Rounded.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 1.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 1.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 2.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 2.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 3.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 3.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 4.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 4.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 5.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign 5.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Sign_Point.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Sign_Point.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Straight.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Straight.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Surfer.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Surfer.res delete mode 100644 addons/godot-xr-tools/hands/animations/left/Thumb.anim create mode 100644 addons/godot-xr-tools/hands/animations/left/Thumb.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Cup.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Cup.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Default pose.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Default pose.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 1.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 1.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 2.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 2.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 3.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 3.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 4.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 4.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 5.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip 5.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip Shaft.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Grip.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Grip.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Hold.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Hold.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Horns.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Horns.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Metal.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Metal.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Middle.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Middle.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/OK.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/OK.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Peace.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Peace.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Flat.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Large.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Large.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Middle.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Ring.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Tight.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Tight.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Up.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinch Up.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/PingPong.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/PingPong.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pinky.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pinky.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Pistol.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Pistol.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Ring.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Ring.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Rounded.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Rounded.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 1.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 1.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 2.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 2.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 3.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 3.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 4.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 4.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 5.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign 5.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Sign_Point.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Sign_Point.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Straight.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Straight.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Surfer.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Surfer.res delete mode 100644 addons/godot-xr-tools/hands/animations/right/Thumb.anim create mode 100644 addons/godot-xr-tools/hands/animations/right/Thumb.res rename addons/godot-xr-tools/materials/{teleport.shader => teleport.gdshader} (77%) delete mode 100644 addons/godot-xr-tools/misc/arvr_helpers.gd create mode 100644 addons/godot-xr-tools/misc/xr_helpers.gd create mode 100644 assets/footsteps/default_footstep.ogg.import create mode 100644 assets/footsteps/grass_footstep.ogg.import create mode 100644 assets/footsteps/mud_footstep.ogg.import create mode 100644 assets/footsteps/puddle_footstep.ogg.import create mode 100644 assets/footsteps/snow_footstep.ogg.import delete mode 100644 assets/meshes/teleport/Body.material delete mode 100644 assets/meshes/teleport/Title.material create mode 100644 assets/meshes/tube/tube.tscn create mode 100644 openxr_action_map.tres create mode 100644 scenes/climbing_gliding_demo/materials/ghost_hand.tres create mode 100644 scenes/demo_scene_base.gd create mode 100644 scenes/main_menu/objects/settings_ui_material.tres diff --git a/.gitattributes b/.gitattributes index 94b635c8..8b58c39d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,4 @@ *.godot eol=lf *.tres eol=lf *.import eol=lf +*.gdshader eol=lf diff --git a/.github/workflows/build-on-push.yml b/.github/workflows/build-on-push.yml index 75d90d51..240ac123 100644 --- a/.github/workflows/build-on-push.yml +++ b/.github/workflows/build-on-push.yml @@ -28,11 +28,6 @@ jobs: cp demo/godot-xr-tools/VERSIONS.md plugin/godot-xr-tools/addons/godot-xr-tools rm -rf demo/godot-xr-tools/.git rm -rf demo/godot-xr-tools/.github - - name: Add OpenXR Plugin - run: | - wget --header "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "https://github.com/GodotVR/godot_openxr/releases/download/1.3.0/godot-openxr.zip" - unzip -qq godot-openxr.zip - cp -r godot_openxr_1.3.0/addons/godot-openxr demo/godot-xr-tools/addons - name: Create XR tools library artifact uses: actions/upload-artifact@v2 with: diff --git a/.github/workflows/gdlint-on-push.yml b/.github/workflows/gdlint-on-push.yml index b0efc009..536d57d7 100644 --- a/.github/workflows/gdlint-on-push.yml +++ b/.github/workflows/gdlint-on-push.yml @@ -19,7 +19,8 @@ jobs: - name: Install Dependencies run: | python -m pip install --upgrade pip - python -m pip install 'gdtoolkit==3.*' + python -m pip install 'gdtoolkit==4.*' - name: Lint Godot XR Tools run: | gdlint addons/godot-xr-tools + diff --git a/.gitignore b/.gitignore index 3807a7c3..887f3a04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,12 @@ -# Godot files to ignore +*.o +*.os .import/ - -# Filesystem files to ignore +.godot/ +*.dblite +*.exp +*.lib +*.obj +*.TMP logs Thumbs.db -.DS_Store - -# Addons sourced externally -addons/godot-openxr/ - -# Blender backup files -*.blend1 +android/ diff --git a/LICENSE b/LICENSE index e55a66ac..f8f1c828 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018-2023 Bastiaan Olij +Copyright (c) 2018-2023 Bastiaan Olij and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index b8760846..bebfa757 100644 --- a/README.md +++ b/README.md @@ -28,15 +28,17 @@ This repository now contains a full demo for XR Tools with the XR Tools add on i After cloning this repository you will need to install the OpenXR plugin for it to work. The OpenXR plugin is not included within this repository. You can obtain the OpenXR plugin [here](https://github.com/GodotVR/godot_openxr/releases) or download it from the asset library within Godot. +Note that the demo in the 4.0-dev branch has been upgraded to work with the most recent 4.0-beta releases. + ### XR Tools library To obtain just the XR Tools library for your own project, please check [releases](https://github.com/GodotVR/godot-xr-tools/releases) or download it from the asset library within Godot. -### Preventing hiccups +### Preventing hickups -As many of the functions in this module will hide objects that are later shown as the user performs actions, the user will experience a hiccup as Godot compiles the shader used to draw the object on screen. +As many of the functions in this module will hide objects that are later shown as the user performs actions, the user will experience a hickup as Godot compiles the shader used to draw the object on screen. -To combat this you will find a scene in this module called `misc/vr_common_shader_cache.tscn`. +To combat this you will find a scene in this module called `misc/VR_Common_Shader_Cache.tscn`. Add this scene as a child node to your ARVRCamera. This will trigger the required shaders being compiled the first time your main scene loads. diff --git a/VERSIONS.md b/VERSIONS.md index ff100907..e5da9f2c 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -1,3 +1,9 @@ +# 4.0.0 +- Conversion to Godot 4 +- Fixed footstep resource leak and added jump sounds and footstep signal +- Added grab-point switching to pickable objects +- Added return-to-snap-zone feature + # 3.4.0 - Fixed footstep resource leak and added jump sounds and footstep signal - Added grab-point switching to pickable objects diff --git a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import index 4aebaa09..172212e6 100644 --- a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import +++ b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.stex" -path.etc="res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc.stex" +type="CompressedTexture2D" +uid="uid://ocyj01x5mtt7" +path.s3tc="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex" +path.etc2="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" -dest_files=[ "res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.stex", "res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc.stex" ] +dest_files=["res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex", "res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/assets/misc/progress_bar.png.import b/addons/godot-xr-tools/assets/misc/progress_bar.png.import index 9c5c3938..45517bb7 100644 --- a/addons/godot-xr-tools/assets/misc/progress_bar.png.import +++ b/addons/godot-xr-tools/assets/misc/progress_bar.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.stex" -path.etc="res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc.stex" +type="CompressedTexture2D" +uid="uid://clbtsf0ahb3fm" +path.s3tc="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex" +path.etc2="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/assets/misc/progress_bar.png" -dest_files=[ "res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.stex", "res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc.stex" ] +dest_files=["res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex", "res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd b/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd deleted file mode 100644 index 9822fb4c..00000000 --- a/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd +++ /dev/null @@ -1,221 +0,0 @@ -class_name XRToolsResourceQueue -extends Node - - -## XRTools Threaded Resource Loader -## -## This class can be used to perform resource loading in the background without -## interrupting the application. - - -# Thread to perform the loading -var _thread : Thread - -# Mutex for safe synchronization -var _mutex : Mutex - -# Semaphore to wake up the loader thread -var _semaphore : Semaphore - -# Thread exit flag -var _exit_thread : bool = false - -# Queue of ResourceInteractiveLoader instances loading resources -var _queue = [] - -# Dictionary of pending results by resource path. -# -# If the resource is still loading then the value is a ResourceInteractiveLoader. -# If the resource has loaded then the value is a Resource. -var _pending = {} - - -## Queue the loading of a resource -func queue_resource(path : String, p_in_front : bool = false) -> void: - # Lock the synchronization mutex - _mutex.lock() - - # Test if the resource has already been queued - if path in _pending: - # Work already queued, nothing to do. - _mutex.unlock() - return - - # Test if the ResourceLoader already has it cached - if ResourceLoader.has_cached(path): - # Put the resource in the pending-results dictionary - _pending[path] = ResourceLoader.load(path) - _mutex.unlock() - return - - # Construct a ResourceInteractiveLoader for the resource - var loader = ResourceLoader.load_interactive(path) - - # Save the resource path in the metadata for later use - loader.set_meta("path", path) - - # Insert into the loading-queue (front for high priority) - if p_in_front: - _queue.push_front(loader) - else: - _queue.push_back(loader) - - # Save the loader in the pending-results dictionary - _pending[path] = loader - - # Post the semaphore to wake the worker thread - _mutex.unlock() - _semaphore.post() - - -## Cancel loading a resource -func cancel_resource(path : String) -> void: - # Lock the synchronization mutex - _mutex.lock() - - # Inspect the pending-results dictionary - if path in _pending: - # Extract the item from the pending-results dictionary - var item = _pending[path] - _pending.erase(path) - - # If the item is still being loaded then remove it from the loading-queue - if item is ResourceInteractiveLoader: - _queue.erase(item) - - # Loading cancelled - _mutex.unlock() - - -## Get the progress of a loading resource -func get_progress(path : String) -> float: - # Lock the synchronization mutex - _mutex.lock() - - # Inspect the pending results dictionary for the progress - var progress := -1.0 - if path in _pending: - var item = _pending[path] - if item is ResourceInteractiveLoader: - # The item is still loading, calculate the progress - progress = float(item.get_stage()) / float(item.get_stage_count()) - else: - # The item is fully loaded - progress = 1.0 - - # Return the progress - _mutex.unlock() - return progress - - -## Test if a resouece is ready -func is_ready(path : String) -> bool: - # Lock the synchronization mutex - _mutex.lock() - - # Inspect the pending results dictionary for the ready status - var ready := false - if path in _pending: - var item = _pending[path] - ready = not item is ResourceInteractiveLoader - - # Return the ready status - _mutex.unlock() - return ready - - -## Get the resource -func get_resource(path : String) -> Resource: - # Lock the synchronization mutex - _mutex.lock() - - # Test if the resource is unknown - if not path in _pending: - # Not queued, just load immediately - _mutex.unlock() - return ResourceLoader.load(path) - - # Loop waiting for resource to load - var res - while true: - # Get the item from the pending-results dictionary - res = _pending[path] - - # Detect loading complete - if res == null or res is Resource: - break - - # Give thread more time to load the item - _mutex.unlock() - OS.delay_usec(16000) # Wait approximately 1 frame. - _mutex.lock(); - - _pending.erase(path) - _mutex.unlock() - return res - - -## Start the resource queue -func start(): - _mutex = Mutex.new() - _semaphore = Semaphore.new() - _thread = Thread.new() - _thread.start(self, "_thread_func", 0) - - -# Triggered by calling "get_tree().quit()". -func _exit_tree(): - _mutex.lock() - _exit_thread = true # Protect with Mutex. - _mutex.unlock() - - # Wake the worker thread - _semaphore.post() - - # Wait until it exits. - _thread.wait_to_finish() - - -# Thread worker function -func _thread_func(_u): - # Lock the synchronization mutex - _mutex.lock() - - # Loop processing work - while true: - # Handle a request to terminate - if _exit_thread: - _mutex.unlock() - return - - # Handle no work - if _queue.size() == 0: - # Wait for work (with the mutex unlocked so work can be added) - _mutex.unlock() - _semaphore.wait() - _mutex.lock() - continue - - # Get the loader - var loader : ResourceInteractiveLoader = _queue.front() - - # Poll the loader (with the mutex unlocked) - _mutex.unlock() - var err = loader.poll() - _mutex.lock() - - # If loader is still busy then continue - if err == OK: - continue - - # Remove from the loading-queue. Note that something may have been - # put at the front of the queue while we polled, so use erase instead - # of remove - _queue.erase(loader) - - # Get the resource path from the loaders metadata - var path : String = loader.get_meta("path") - - # If the result is still pending then update it with the resource - if path in _pending: - _pending[path] = loader.get_resource() diff --git a/addons/godot-xr-tools/audio/surface_audio.gd b/addons/godot-xr-tools/audio/surface_audio.gd index bbd1dffc..9d339c43 100644 --- a/addons/godot-xr-tools/audio/surface_audio.gd +++ b/addons/godot-xr-tools/audio/surface_audio.gd @@ -1,5 +1,6 @@ -tool -class_name XRToolsSurfaceAudio, "res://addons/godot-xr-tools/editor/icons/foot.svg" +@tool +@icon("res://addons/godot-xr-tools/editor/icons/foot.svg") +class_name XRToolsSurfaceAudio extends Node @@ -11,23 +12,21 @@ extends Node ## XRToolsSurfaceAudioType to associate with this surface -export var surface_audio_type : Resource +@export var surface_audio_type : XRToolsSurfaceAudioType # Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsSurfaceAudio" or .is_class(name) +func is_xr_class(name : String) -> bool: + return name == "XRToolsSurfaceAudio" # This method checks for configuration issues. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify the camera if !surface_audio_type: - return "Surface audio type not specified" - - # Verify hit sound - if !surface_audio_type is XRToolsSurfaceAudioType: - return "Surface audio type is not an XRToolsSurfaceAudioType" + warnings.append("Surface audio type not specified") - # No configuration issues detected - return "" + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/audio/surface_audio_type.gd b/addons/godot-xr-tools/audio/surface_audio_type.gd index 209aae0e..f991d74f 100644 --- a/addons/godot-xr-tools/audio/surface_audio_type.gd +++ b/addons/godot-xr-tools/audio/surface_audio_type.gd @@ -1,5 +1,6 @@ -tool -class_name XRToolsSurfaceAudioType, "res://addons/godot-xr-tools/editor/icons/body.svg" +@tool +@icon("res://addons/godot-xr-tools/editor/icons/body.svg") +class_name XRToolsSurfaceAudioType extends Resource @@ -10,29 +11,31 @@ extends Resource ## Surface name -export var name : String = "" +@export var name : String = "" ## Optional audio stream to play when the player jumps on this surface -export var jump_sound : AudioStream +@export var jump_sound : AudioStream ## Optional audio stream to play when the player lands on this surface -export var hit_sound : AudioStream +@export var hit_sound : AudioStream ## Audio streams to play when the player walks on this surface -export(Array, AudioStream) var walk_sounds : Array = [] +@export var walk_sounds :Array[AudioStream] = [] ## Walking sound minimum pitch (to randomize steps) -export(float, 0.5, 1.0) var walk_pitch_minimum : float = 0.8 +@export_range(0.5, 1.0) var walk_pitch_minimum : float = 0.8 ## Walking sound maximum pitch (to randomize steps) -export(float, 1.0, 2.0) var walk_pitch_maximum : float = 1.2 +@export_range(1.0, 2.0) var walk_pitch_maximum : float = 1.2 # This method checks for configuration issues. -func _get_configuration_warning(): - # Verify the name +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify the camera if name == "": - return "Surface audio type must have a name" + warnings.append("Surface audio type must have a name") - # No configuration issues detected - return "" + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/editor/icons/body.svg.import b/addons/godot-xr-tools/editor/icons/body.svg.import index 1e8d1742..787be507 100644 --- a/addons/godot-xr-tools/editor/icons/body.svg.import +++ b/addons/godot-xr-tools/editor/icons/body.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/body.svg-324e141d452c32f3136ca97c338025b4.stex" +type="CompressedTexture2D" +uid="uid://cyg33jxco0rh6" +path="res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/body.svg" -dest_files=[ "res://.import/body.svg-324e141d452c32f3136ca97c338025b4.stex" ] +dest_files=["res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/editor/icons/foot.svg.import b/addons/godot-xr-tools/editor/icons/foot.svg.import index dfeeede1..15c8f098 100644 --- a/addons/godot-xr-tools/editor/icons/foot.svg.import +++ b/addons/godot-xr-tools/editor/icons/foot.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/foot.svg-9e361563e010aa07be49bfb25fdb6639.stex" +type="CompressedTexture2D" +uid="uid://bfkcd3fkyahqu" +path="res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/foot.svg" -dest_files=[ "res://.import/foot.svg-9e361563e010aa07be49bfb25fdb6639.stex" ] +dest_files=["res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/editor/icons/function.svg.import b/addons/godot-xr-tools/editor/icons/function.svg.import index 3994debd..2e4ed639 100644 --- a/addons/godot-xr-tools/editor/icons/function.svg.import +++ b/addons/godot-xr-tools/editor/icons/function.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.stex" +type="CompressedTexture2D" +uid="uid://b5vxil50s0ofi" +path="res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/function.svg" -dest_files=[ "res://.import/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.stex" ] +dest_files=["res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/editor/icons/hand.svg.import b/addons/godot-xr-tools/editor/icons/hand.svg.import index bb4a971d..c59f938f 100644 --- a/addons/godot-xr-tools/editor/icons/hand.svg.import +++ b/addons/godot-xr-tools/editor/icons/hand.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/hand.svg-a05486d804ef16320d6cf54e06292b8f.stex" +type="CompressedTexture2D" +uid="uid://beko1qhyybx7e" +path="res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/hand.svg" -dest_files=[ "res://.import/hand.svg-a05486d804ef16320d6cf54e06292b8f.stex" ] +dest_files=["res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/editor/icons/movement_provider.svg.import b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import index 877a3580..65c9b74a 100644 --- a/addons/godot-xr-tools/editor/icons/movement_provider.svg.import +++ b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.stex" +type="CompressedTexture2D" +uid="uid://04fn15h4x333" +path="res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/movement_provider.svg" -dest_files=[ "res://.import/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.stex" ] +dest_files=["res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/editor/icons/node.svg.import b/addons/godot-xr-tools/editor/icons/node.svg.import index 49ae5fa7..87553f5a 100644 --- a/addons/godot-xr-tools/editor/icons/node.svg.import +++ b/addons/godot-xr-tools/editor/icons/node.svg.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/node.svg-37d53571b4a4459efefcc791c5402b4f.stex" +type="CompressedTexture2D" +uid="uid://b6gwa6o27pbry" +path="res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,27 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/editor/icons/node.svg" -dest_files=[ "res://.import/node.svg-37d53571b4a4459efefcc791c5402b4f.stex" ] +dest_files=["res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot-xr-tools/effects/vignette.gd b/addons/godot-xr-tools/effects/vignette.gd index e4e7e758..c8bb62a5 100644 --- a/addons/godot-xr-tools/effects/vignette.gd +++ b/addons/godot-xr-tools/effects/vignette.gd @@ -1,26 +1,26 @@ -tool +@tool class_name XRToolsVignette -extends Spatial +extends Node3D -export var radius : float = 1.0 setget set_radius -export var fade : float = 0.05 setget set_fade -export var steps : int = 32 setget set_steps +@export var radius : float = 1.0: set = set_radius +@export var fade : float = 0.05: set = set_fade +@export var steps : int = 32: set = set_steps -export var auto_adjust : bool = true setget set_auto_adjust -export var auto_inner_radius : float = 0.35 -export var auto_fade_out_factor : float = 1.5 -export var auto_fade_delay : float = 1.0 -export var auto_rotation_limit : float = 20.0 setget set_auto_rotation_limit -export var auto_velocity_limit : float = 10.0 +@export var auto_adjust : bool = true: set = set_auto_adjust +@export var auto_inner_radius : float = 0.35 +@export var auto_fade_out_factor : float = 1.5 +@export var auto_fade_delay : float = 1.0 +@export var auto_rotation_limit : float = 20.0: set = set_auto_rotation_limit +@export var auto_velocity_limit : float = 10.0 -var material : ShaderMaterial = preload("res://addons/godot-xr-tools/effects/vignette.material") +var material : ShaderMaterial = preload("res://addons/godot-xr-tools/effects/vignette.tres") var auto_first = true var fade_delay = 0.0 var origin_node = null var last_origin_basis : Basis var last_location : Vector3 -onready var auto_rotation_limit_rad = deg2rad(auto_rotation_limit) +@onready var auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit) func set_radius(new_radius : float) -> void: radius = new_radius @@ -30,7 +30,7 @@ func set_radius(new_radius : float) -> void: func _update_radius() -> void: if radius < 1.0: if material: - material.set_shader_param("radius", radius * sqrt(2)) + material.set_shader_parameter("radius", radius * sqrt(2)) $Mesh.visible = true else: $Mesh.visible = false @@ -42,7 +42,7 @@ func set_fade(new_fade : float) -> void: func _update_fade() -> void: if material: - material.set_shader_param("fade", fade) + material.set_shader_parameter("fade", fade) func set_steps(new_steps : int) -> void: @@ -51,13 +51,13 @@ func set_steps(new_steps : int) -> void: _update_mesh() func _update_mesh() -> void: - var vertices : PoolVector3Array - var indices : PoolIntArray + var vertices : PackedVector3Array + var indices : PackedInt32Array vertices.resize(2 * steps) indices.resize(6 * steps) for i in steps: - var v : Vector3 = Vector3.RIGHT.rotated(Vector3.FORWARD, deg2rad((360.0 * i) / steps)) + var v : Vector3 = Vector3.RIGHT.rotated(Vector3.FORWARD, deg_to_rad((360.0 * i) / steps)) vertices[i] = v vertices[steps+i] = v * 2.0 @@ -77,13 +77,14 @@ func _update_mesh() -> void: arr[ArrayMesh.ARRAY_VERTEX] = vertices arr[ArrayMesh.ARRAY_INDEX] = indices arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr) + arr_mesh.custom_aabb = AABB(Vector3(-1.0, -1.0, -1.0), Vector3(1.0, 1.0, 1.0)) $Mesh.mesh = arr_mesh - $Mesh.set_surface_material(0, material) + $Mesh.set_surface_override_material(0, material) func set_auto_adjust(new_auto_adjust : bool) -> void: auto_adjust = new_auto_adjust - if is_inside_tree() and !Engine.editor_hint: + if is_inside_tree() and !Engine.is_editor_hint(): _update_auto_adjust() func _update_auto_adjust() -> void: @@ -94,18 +95,18 @@ func _update_auto_adjust() -> void: func set_auto_rotation_limit(new_auto_rotation_limit : float) -> void: auto_rotation_limit = new_auto_rotation_limit - auto_rotation_limit_rad = deg2rad(auto_rotation_limit) + auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsVignette" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsVignette" # Called when the node enters the scene tree for the first time. func _ready(): - if !Engine.editor_hint: - origin_node = ARVRHelpers.get_arvr_origin(self) + if !Engine.is_editor_hint(): + origin_node = XRHelpers.get_xr_origin(self) _update_mesh() _update_radius() _update_fade() @@ -115,7 +116,7 @@ func _ready(): # Called on process func _process(delta): - if Engine.editor_hint: + if Engine.is_editor_hint(): return if !origin_node: @@ -144,7 +145,7 @@ func _process(delta): # Adjust radius based on rotation speed of our origin point (not of head movement). # We convert our delta rotation to a quaterion. # A quaternion represents a rotation around an angle. - var q = delta_b.get_rotation_quat() + var q = delta_b.get_rotation_quaternion() # We get our angle from our w component and then adjust to get a # rotation speed per second by dividing by delta @@ -177,16 +178,18 @@ func _process(delta): # This method verifies the vignette has a valid configuration. # Specifically it checks the following: -# - ARVROrigin is a parent -# - ARVRCamera is our parent -func _get_configuration_warning(): +# - XROrigin3D is a parent +# - XRCamera3D is our parent +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Check the origin node - if !ARVRHelpers.get_arvr_origin(self): - return "Parent node must be in a branch from ARVROrigin" + if !XRHelpers.get_xr_origin(self): + warnings.append("Parent node must be in a branch from XROrigin3D") # check camera node var parent = get_parent() - if !parent or !parent is ARVRCamera: - return "Parent node must be an ARVRCamera" + if !parent or !parent is XRCamera3D: + warnings.append("Parent node must be an XRCamera3D") - return "" + return warnings diff --git a/addons/godot-xr-tools/effects/vignette.gdshader b/addons/godot-xr-tools/effects/vignette.gdshader index f5c33c39..1309301e 100644 --- a/addons/godot-xr-tools/effects/vignette.gdshader +++ b/addons/godot-xr-tools/effects/vignette.gdshader @@ -1,7 +1,7 @@ shader_type spatial; -render_mode depth_test_disable, skip_vertex_transform, unshaded; +render_mode depth_test_disabled, skip_vertex_transform, unshaded, cull_disabled; -uniform vec4 color : hint_color = vec4(0.0, 0.0, 0.0, 1.0); +uniform vec4 color : source_color = vec4(0.0, 0.0, 0.0, 1.0); uniform float radius = 1.0; uniform float fade = 0.05; @@ -23,6 +23,8 @@ void vertex() { // and we offset our inner circle v.xy += eye.xy / eye.z; } + + // looks like this is broken in Godot 4... POSITION = vec4(v, 1.0); } diff --git a/addons/godot-xr-tools/effects/vignette.material b/addons/godot-xr-tools/effects/vignette.material deleted file mode 100644 index 7df199e0dfd2f000f78248d56c89d21d9614466b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmV+^0oMLfQ$s@n000005C8xa0ssIJ0RR9fwJ-f(6ahU50AfuoE`UqY0W&ZIE1Q9- zj>%}<6`Lf*mizohgveVi!?oaIVO8BM?B`J_=KlEqua*K4lnRB}z{p@Y7$g%N>fnFF z{{iMA5&(H(f*<}r-jA)yg^j}5!WM4i zt4$SpaPg&u^M8Uf<4b)>_ut?a%~sjIw7Fcu^FfF3bg4LLr-n*fO0^c{-2amQ1#ieU z8znXuQdIs!1pWj30UrRkz?le;CegkL&Qd2`iZv= bool: - return name == "XRToolsFallDamage" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFallDamage" func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Set as always active is_active = true diff --git a/addons/godot-xr-tools/examples/fall_damage.tscn b/addons/godot-xr-tools/examples/fall_damage.tscn index a96970f6..e1b607da 100644 --- a/addons/godot-xr-tools/examples/fall_damage.tscn +++ b/addons/godot-xr-tools/examples/fall_damage.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://d2yejwiwab3wv"] -[ext_resource path="res://addons/godot-xr-tools/examples/fall_damage.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/examples/fall_damage.gd" id="1"] [node name="FallDamage" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/function_pickup.gd b/addons/godot-xr-tools/functions/function_pickup.gd index 6901b96e..35b1eb36 100644 --- a/addons/godot-xr-tools/functions/function_pickup.gd +++ b/addons/godot-xr-tools/functions/function_pickup.gd @@ -1,6 +1,7 @@ -tool -class_name XRToolsFunctionPickup, "res://addons/godot-xr-tools/editor/icons/function.svg" -extends Spatial +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionPickup +extends Node3D ## XR Tools Function Pickup Script @@ -31,123 +32,123 @@ const MAX_GRAB_DISTANCE2: float = 1000000.0 ## Pickup enabled property -export var enabled : bool = true +@export var enabled : bool = true ## Grip controller axis -export (XRTools.Axis) var pickup_axis_id = XRTools.Axis.VR_GRIP_AXIS +@export var pickup_axis_action : String = "grip" ## Action controller button -export (XRTools.Buttons) var action_button_id = XRTools.Buttons.VR_TRIGGER +@export var action_button_action : String = "trigger_click" ## Grab distance -export var grab_distance : float = 0.3 setget _set_grab_distance +@export var grab_distance : float = 0.3: set = _set_grab_distance ## Grab collision mask -export (int, LAYERS_3D_PHYSICS) \ - var grab_collision_mask : int = DEFAULT_GRAB_MASK setget _set_grab_collision_mask +@export_flags_3d_physics \ + var grab_collision_mask : int = DEFAULT_GRAB_MASK: set = _set_grab_collision_mask ## If true, ranged-grabbing is enabled -export var ranged_enable : bool = true +@export var ranged_enable : bool = true ## Ranged-grab distance -export var ranged_distance : float = 5.0 setget _set_ranged_distance +@export var ranged_distance : float = 5.0: set = _set_ranged_distance ## Ranged-grab angle -export (float, 0.0, 45.0) var ranged_angle : float = 5.0 setget _set_ranged_angle +@export_range(0.0, 45.0) var ranged_angle : float = 5.0: set = _set_ranged_angle ## Ranged-grab collision mask -export (int, LAYERS_3D_PHYSICS) \ - var ranged_collision_mask : int = DEFAULT_RANGE_MASK setget _set_ranged_collision_mask +@export_flags_3d_physics \ + var ranged_collision_mask : int = DEFAULT_RANGE_MASK: set = _set_ranged_collision_mask ## Throw impulse factor -export var impulse_factor : float = 1.0 +@export var impulse_factor : float = 1.0 ## Throw velocity averaging -export var velocity_samples: int = 5 +@export var velocity_samples: int = 5 # Public fields -var closest_object : Spatial = null -var picked_up_object : Spatial = null -var picked_up_ranged: bool = false -var grip_pressed = false +var closest_object : Node3D = null +var picked_up_object : Node3D = null +var picked_up_ranged : bool = false +var grip_pressed : bool = false # Private fields var _object_in_grab_area := Array() var _object_in_ranged_area := Array() var _velocity_averager := XRToolsVelocityAverager.new(velocity_samples) -var _grab_area : Area -var _grab_collision : CollisionShape -var _ranged_area : Area -var _ranged_collision : CollisionShape +var _grab_area : Area3D +var _grab_collision : CollisionShape3D +var _ranged_area : Area3D +var _ranged_collision : CollisionShape3D ## Controller -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) ## Grip threshold (from configuration) -onready var _grip_threshold : float = XRTools.get_grip_threshold() +@onready var _grip_threshold : float = XRTools.get_grip_threshold() -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsFunctionPickup" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPickup" # Called when the node enters the scene tree for the first time. func _ready(): # Skip creating grab-helpers if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Create the grab collision shape - _grab_collision = CollisionShape.new() + _grab_collision = CollisionShape3D.new() _grab_collision.set_name("GrabCollisionShape") - _grab_collision.shape = SphereShape.new() + _grab_collision.shape = SphereShape3D.new() _grab_collision.shape.radius = grab_distance # Create the grab area - _grab_area = Area.new() + _grab_area = Area3D.new() _grab_area.set_name("GrabArea") _grab_area.collision_layer = 0 _grab_area.collision_mask = grab_collision_mask _grab_area.add_child(_grab_collision) - _grab_area.connect("area_entered", self, "_on_grab_entered") - _grab_area.connect("body_entered", self, "_on_grab_entered") - _grab_area.connect("area_exited", self, "_on_grab_exited") - _grab_area.connect("body_exited", self, "_on_grab_exited") + _grab_area.area_entered.connect(_on_grab_entered) + _grab_area.body_entered.connect(_on_grab_entered) + _grab_area.area_exited.connect(_on_grab_exited) + _grab_area.body_exited.connect(_on_grab_exited) add_child(_grab_area) # Create the ranged collision shape - _ranged_collision = CollisionShape.new() + _ranged_collision = CollisionShape3D.new() _ranged_collision.set_name("RangedCollisionShape") - _ranged_collision.shape = CylinderShape.new() + _ranged_collision.shape = CylinderShape3D.new() _ranged_collision.transform.basis = Basis(Vector3.RIGHT, PI/2) # Create the ranged area - _ranged_area = Area.new() + _ranged_area = Area3D.new() _ranged_area.set_name("RangedArea") _ranged_area.collision_layer = 0 _ranged_area.collision_mask = ranged_collision_mask _ranged_area.add_child(_ranged_collision) - _ranged_area.connect("area_entered", self, "_on_ranged_entered") - _ranged_area.connect("body_entered", self, "_on_ranged_entered") - _ranged_area.connect("area_exited", self, "_on_ranged_exited") - _ranged_area.connect("body_exited", self, "_on_ranged_exited") + _ranged_area.area_entered.connect(_on_ranged_entered) + _ranged_area.body_entered.connect(_on_ranged_entered) + _ranged_area.area_exited.connect(_on_ranged_exited) + _ranged_area.body_exited.connect(_on_ranged_exited) add_child(_ranged_area) # Update the colliders _update_colliders() # Monitor Grab Button - _controller.connect("button_pressed", self, "_on_button_pressed") - _controller.connect("button_release", self, "_on_button_release") + get_parent().connect("button_pressed", _on_button_pressed) + get_parent().connect("button_released", _on_button_released) # Called on each frame to update the pickup func _process(delta): # Do not process if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Skip if disabled, or the controller isn't active @@ -155,7 +156,7 @@ func _process(delta): return # Handle our grip - var grip_value = _controller.get_joystick_axis(pickup_axis_id) + var grip_value = _controller.get_float(pickup_axis_action) if (grip_pressed and grip_value < (_grip_threshold - 0.1)): grip_pressed = false _on_grip_release() @@ -177,10 +178,10 @@ func _process(delta): ## Find an [XRToolsFunctionPickup] node. ## ## This function searches from the specified node for an [XRToolsFunctionPickup] -## assuming the node is a sibling of the pickup under an [ARVRController]. +## assuming the node is a sibling of the pickup under an [XRController3D]. static func find_instance(node : Node) -> XRToolsFunctionPickup: - return XRTools.find_child( - ARVRHelpers.get_arvr_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_xr_controller(node), "*", "XRToolsFunctionPickup") as XRToolsFunctionPickup @@ -188,10 +189,10 @@ static func find_instance(node : Node) -> XRToolsFunctionPickup: ## Find the left [XRToolsFunctionPickup] node. ## ## This function searches from the specified node for the left controller -## [XRToolsFunctionPickup] assuming the node is a sibling of the [ARVROrigin]. +## [XRToolsFunctionPickup] assuming the node is a sibling of the [XOrigin3D]. static func find_left(node : Node) -> XRToolsFunctionPickup: - return XRTools.find_child( - ARVRHelpers.get_left_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_left_controller(node), "*", "XRToolsFunctionPickup") as XRToolsFunctionPickup @@ -199,16 +200,16 @@ static func find_left(node : Node) -> XRToolsFunctionPickup: ## Find the right [XRToolsFunctionPickup] node. ## ## This function searches from the specified node for the right controller -## [XRToolsFunctionPickup] assuming the node is a sibling of the [ARVROrigin]. +## [XRToolsFunctionPickup] assuming the node is a sibling of the [XROrigin3D]. static func find_right(node : Node) -> XRToolsFunctionPickup: - return XRTools.find_child( - ARVRHelpers.get_right_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_right_controller(node), "*", "XRToolsFunctionPickup") as XRToolsFunctionPickup -## Get the [ARVRController] driving this pickup. -func get_controller() -> ARVRController: +## Get the [XRController3D] driving this pickup. +func get_controller() -> XRController3D: return _controller @@ -255,13 +256,13 @@ func _update_colliders() -> void: # Update the ranged-grab cylinder if _ranged_collision: - _ranged_collision.shape.radius = tan(deg2rad(ranged_angle)) * ranged_distance + _ranged_collision.shape.radius = tan(deg_to_rad(ranged_angle)) * ranged_distance _ranged_collision.shape.height = ranged_distance _ranged_collision.transform.origin.z = -ranged_distance * 0.5 # Called when an object enters the grab sphere -func _on_grab_entered(target: Spatial) -> void: +func _on_grab_entered(target: Node3D) -> void: # reject objects which don't support picking up if not target.has_method('pick_up'): return @@ -275,7 +276,7 @@ func _on_grab_entered(target: Spatial) -> void: # Called when an object enters the ranged-grab cylinder -func _on_ranged_entered(target: Spatial) -> void: +func _on_ranged_entered(target: Node3D) -> void: # reject objects which don't support picking up rangedly if not 'can_ranged_grab' in target or not target.can_ranged_grab: return @@ -289,19 +290,19 @@ func _on_ranged_entered(target: Spatial) -> void: # Called when an object exits the grab sphere -func _on_grab_exited(target: Spatial) -> void: +func _on_grab_exited(target: Node3D) -> void: _object_in_grab_area.erase(target) # Called when an object exits the ranged-grab cylinder -func _on_ranged_exited(target: Spatial) -> void: +func _on_ranged_exited(target: Node3D) -> void: _object_in_ranged_area.erase(target) # Update the closest object field with the best choice of grab func _update_closest_object() -> void: # Find the closest object we can pickup - var new_closest_obj: Spatial = null + var new_closest_obj: Node3D = null if not picked_up_object: # Find the closest in grab area new_closest_obj = _get_closest_grab() @@ -324,8 +325,8 @@ func _update_closest_object() -> void: # Find the pickable object closest to our hand's grab location -func _get_closest_grab() -> Spatial: - var new_closest_obj: Spatial = null +func _get_closest_grab() -> Node3D: + var new_closest_obj: Node3D = null var new_closest_distance := MAX_GRAB_DISTANCE2 for o in _object_in_grab_area: # skip objects that can not be picked up @@ -344,9 +345,9 @@ func _get_closest_grab() -> Spatial: # Find the rangedly-pickable object closest to our hand's pointing direction -func _get_closest_ranged() -> Spatial: - var new_closest_obj: Spatial = null - var new_closest_angle_dp := cos(deg2rad(ranged_angle)) +func _get_closest_ranged() -> Node3D: + var new_closest_obj: Node3D = null + var new_closest_angle_dp := cos(deg_to_rad(ranged_angle)) var hand_forwards := -global_transform.basis.z for o in _object_in_ranged_area: # skip objects that can not be picked up @@ -378,7 +379,7 @@ func drop_object() -> void: emit_signal("has_dropped") -func _pick_up_object(target: Spatial) -> void: +func _pick_up_object(target: Node3D) -> void: # check if already holding an object if is_instance_valid(picked_up_object): # skip if holding the target object @@ -408,12 +409,12 @@ func _pick_up_object(target: Spatial) -> void: func _on_button_pressed(p_button) -> void: - if p_button == action_button_id: + if p_button == action_button_action: if is_instance_valid(picked_up_object) and picked_up_object.has_method("action"): picked_up_object.action() -func _on_button_release(_p_button) -> void: +func _on_button_released(_p_button) -> void: pass diff --git a/addons/godot-xr-tools/functions/function_pickup.tscn b/addons/godot-xr-tools/functions/function_pickup.tscn index 14aeacfa..9414a6d4 100644 --- a/addons/godot-xr-tools/functions/function_pickup.tscn +++ b/addons/godot-xr-tools/functions/function_pickup.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://b4ysuy43poobf"] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pickup.gd" id="1"] -[node name="FunctionPickup" type="Spatial"] -script = ExtResource( 1 ) +[node name="FunctionPickup" type="Node3D"] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/function_pointer.gd b/addons/godot-xr-tools/functions/function_pointer.gd index e2f6513f..3fc517f9 100644 --- a/addons/godot-xr-tools/functions/function_pointer.gd +++ b/addons/godot-xr-tools/functions/function_pointer.gd @@ -1,6 +1,7 @@ -tool -class_name XRToolsFunctionPointer, "res://addons/godot-xr-tools/editor/icons/function.svg" -extends Spatial +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionPointer +extends Node3D ## XR Tools Function Pointer Script @@ -31,45 +32,43 @@ enum LaserLength { const DEFAULT_MASK := 0b0000_0000_0001_0000_0000_0000_0000_0000 + ## Pointer enabled property -export var enabled : bool = true setget set_enabled +@export var enabled : bool = true: set = set_enabled ## Show laser property -export (LaserShow) var show_laser : int = LaserShow.SHOW setget set_show_laser +@export var show_laser : LaserShow = LaserShow.SHOW: set = set_show_laser ## Laser length property -export (LaserLength) var laser_length : int = LaserLength.FULL +@export var laser_length : LaserLength = LaserLength.FULL ## If true, the pointer target is shown -export var show_target : bool = false +@export var show_target : bool = false ## Y Offset for pointer -export var y_offset : float = -0.05 setget set_y_offset +@export var y_offset : float = -0.05: set = set_y_offset ## Pointer distance -export var distance : float = 10 setget set_distance +@export var distance : float = 10: set = set_distance ## Pointer collision mask -export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask ## Enable pointer collision with bodies -export var collide_with_bodies : bool = true setget set_collide_with_bodies +@export var collide_with_bodies : bool = true: set = set_collide_with_bodies ## Enable pointer collision with areas -export var collide_with_areas : bool = false setget set_collide_with_areas - -## Active button -export (XRTools.Buttons) var active_button : int = XRTools.Buttons.VR_TRIGGER +@export var collide_with_areas : bool = false: set = set_collide_with_areas -## Action to monitor (if button set to VR_ACTION) -export var action = "" +## Active button action +@export var active_button_action : String = "trigger_click" ## Current target node -var target : Spatial +var target : Node3D ## Last target node -var last_target : Spatial +var last_target : Node3D ## Last collision point var last_collided_at : Vector3 = Vector3.ZERO @@ -78,60 +77,58 @@ var last_collided_at : Vector3 = Vector3.ZERO var _world_scale : float = 1.0 # Left controller node -var _controller_left_node : ARVRController +var _controller_left_node : XRController3D # Right controller node -var _controller_right_node : ARVRController +var _controller_right_node : XRController3D # Parent controller (if this pointer is childed to a specific controller) -var _controller : ARVRController +var _controller : XRController3D # The currently active controller -var _active_controller : ARVRController +var _active_controller : XRController3D -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsFunctionPointer" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPointer" # Called when the node enters the scene tree for the first time. func _ready(): # Do not initialise if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Read the initial world-scale - _world_scale = ARVRServer.world_scale + _world_scale = XRServer.world_scale # Check for a parent controller - _controller = ARVRHelpers.get_arvr_controller(self) + _controller = XRHelpers.get_xr_controller(self) if _controller: # Set as active on the parent controller _active_controller = _controller - # If pointer-trigger is a button then subscribe to button signals - if active_button != XRTools.Buttons.VR_ACTION: - # Get button press feedback from controller - _controller.connect("button_pressed", self, "_on_button_pressed", [_controller]) - _controller.connect("button_release", self, "_on_button_release", [_controller]) + # Get button press feedback from our parent controller + _controller.button_pressed.connect(_on_button_pressed.bind(_controller)) + _controller.button_released.connect(_on_button_released.bind(_controller)) else: # Get the left and right controllers - _controller_left_node = ARVRHelpers.get_left_controller(self) - _controller_right_node = ARVRHelpers.get_right_controller(self) + _controller_left_node = XRHelpers.get_left_controller(self) + _controller_right_node = XRHelpers.get_right_controller(self) # Start out right hand controller _active_controller = _controller_right_node # Get button press feedback from both left and right controllers - _controller_left_node.connect("button_pressed", self, "_on_button_pressed", - [_controller_left_node]) - _controller_left_node.connect("button_release", self, "_on_button_release", - [_controller_left_node]) - _controller_right_node.connect("button_pressed", self, "_on_button_pressed", - [_controller_right_node]) - _controller_right_node.connect("button_release", self, "_on_button_release", - [_controller_right_node]) + _controller_left_node.button_pressed.connect( + _on_button_pressed.bind(_controller_left_node)) + _controller_left_node.button_released.connect( + _on_button_released.bind(_controller_left_node)) + _controller_right_node.button_pressed.connect( + _on_button_pressed.bind(_controller_right_node)) + _controller_right_node.button_released.connect( + _on_button_released.bind(_controller_right_node)) # init our state _update_y_offset() @@ -146,22 +143,15 @@ func _ready(): # Called on each frame to update the pickup func _process(_delta): # Do not process if in the editor - if Engine.editor_hint or !is_inside_tree(): + if Engine.is_editor_hint() or !is_inside_tree(): return # Track the active controller (if this pointer is not childed to a controller) if _controller == null and _active_controller != null: transform = _active_controller.transform - # If pointer-trigger is an action then check for action - if active_button == XRTools.Buttons.VR_ACTION and action != "": - if Input.is_action_just_pressed(action): - _button_pressed() - elif !Input.is_action_pressed(action) and target: - _button_released() - # Handle world-scale changes - var new_world_scale := ARVRServer.world_scale + var new_world_scale := XRServer.world_scale if (_world_scale != new_world_scale): _world_scale = new_world_scale _update_y_offset() @@ -217,7 +207,7 @@ func _process(_delta): if laser_length == LaserLength.COLLIDE: var collide_len : float = new_at.distance_to(global_transform.origin) $Laser.mesh.size.z = collide_len - $Laser.translation.z = collide_len * -0.5 + $Laser.position.z = collide_len * -0.5 # remember our new position last_collided_at = new_at @@ -240,7 +230,7 @@ func _process(_delta): # Restore laser length if set to collide-length if laser_length == LaserLength.COLLIDE: $Laser.mesh.size.z = distance - $Laser.translation.z = distance * -0.5 + $Laser.position.z = distance * -0.5 # Set pointer enabled property @@ -253,7 +243,7 @@ func set_enabled(p_enabled : bool) -> void: # Set show-laser property -func set_show_laser(p_show : int) -> void: +func set_show_laser(p_show : LaserShow) -> void: show_laser = p_show if is_inside_tree(): _update_show_laser() @@ -307,15 +297,15 @@ func _update_show_laser() -> void: # Pointer Y offset update handler func _update_y_offset() -> void: - $Laser.translation.y = y_offset * _world_scale - $RayCast.translation.y = y_offset * _world_scale + $Laser.position.y = y_offset * _world_scale + $RayCast.position.y = y_offset * _world_scale # Pointer distance update handler func _update_distance() -> void: $Laser.mesh.size.z = distance - $Laser.translation.z = distance * -0.5 - $RayCast.cast_to.z = -distance + $Laser.position.z = distance * -0.5 + $RayCast.target_position.z = -distance # Pointer collision mask update handler @@ -359,8 +349,8 @@ func _button_released() -> void: # Button pressed handler -func _on_button_pressed(p_button : int, controller : ARVRController) -> void: - if p_button == active_button and enabled: +func _on_button_pressed(p_button : String, controller : XRController3D) -> void: + if p_button == active_button_action and enabled: if controller == _active_controller: _button_pressed() else: @@ -368,6 +358,6 @@ func _on_button_pressed(p_button : int, controller : ARVRController) -> void: # Button released handler -func _on_button_release(p_button : int, _controller : ARVRController) -> void: - if p_button == active_button and target: +func _on_button_released(p_button : String, _controller : XRController3D) -> void: + if p_button == active_button_action and target: _button_released() diff --git a/addons/godot-xr-tools/functions/function_pointer.tscn b/addons/godot-xr-tools/functions/function_pointer.tscn index f2b96b0b..910013be 100644 --- a/addons/godot-xr-tools/functions/function_pointer.tscn +++ b/addons/godot-xr-tools/functions/function_pointer.tscn @@ -1,35 +1,34 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://cqhw276realc"] -[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.gd" type="Script" id=2] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pointer.gd" id="2"] -[sub_resource type="CubeMesh" id=1] +[sub_resource type="BoxMesh" id="1"] resource_local_to_scene = true -size = Vector3( 0.002, 0.002, 10 ) +size = Vector3(0.002, 0.002, 10) subdivide_depth = 20 -[sub_resource type="SphereMesh" id=2] +[sub_resource type="SphereMesh" id="2"] radius = 0.05 height = 0.1 radial_segments = 16 rings = 8 -[node name="FunctionPointer" type="Spatial"] -script = ExtResource( 2 ) +[node name="FunctionPointer" type="Node3D"] +script = ExtResource("2") -[node name="RayCast" type="RayCast" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0 ) -enabled = true -cast_to = Vector3( 0, 0, -10 ) +[node name="RayCast" type="RayCast3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0) +target_position = Vector3(0, 0, 0) collision_mask = 1048576 -[node name="Laser" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, -5 ) +[node name="Laser" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, -5) cast_shadow = 0 -mesh = SubResource( 1 ) -material/0 = ExtResource( 1 ) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("1") -[node name="Target" type="MeshInstance" parent="."] +[node name="Target" type="MeshInstance3D" parent="."] visible = false -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/function_pose_detector.gd b/addons/godot-xr-tools/functions/function_pose_detector.gd index eaf1cd50..e399c8db 100644 --- a/addons/godot-xr-tools/functions/function_pose_detector.gd +++ b/addons/godot-xr-tools/functions/function_pose_detector.gd @@ -1,6 +1,7 @@ -tool -class_name XRToolsFunctionPoseDetector, "res://addons/godot-xr-tools/editor/icons/hand.svg" -extends Spatial +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsFunctionPoseDetector +extends Node3D ## XR Tools Function Pose Area @@ -14,28 +15,28 @@ const DEFAULT_MASK := 0b0000_0000_0010_0000_0000_0000_0000_0000 ## Collision mask to detect hand pose areas -export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask ## Hand controller -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) ## Hand to control -onready var _hand := XRToolsHand.find_instance(self) +@onready var _hand := XRToolsHand.find_instance(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsFunctionPoseDetector" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionPoseDetector" # Called when the node enters the scene tree for the first time. func _ready(): # Connect signals (if controller and hand are valid) if _controller and _hand: - if $SenseArea.connect("area_entered", self, "_on_area_entered"): + if $SenseArea.area_entered.connect(_on_area_entered): push_error("Unable to connect area_entered signal") - if $SenseArea.connect("area_exited", self, "_on_area_exited"): + if $SenseArea.area_exited.connect(_on_area_exited): push_error("Unable to connect area_exited signal") # Update collision mask @@ -43,16 +44,18 @@ func _ready(): # This method verifies the pose area has a valid configuration. -func _get_configuration_warning(): - if !ARVRHelpers.get_arvr_controller(self): - return "Node must be within a branch of an ARVRController node" +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + if !XRHelpers.get_xr_controller(self): + warnings.append("Node must be within a branch of an XRController3D node") # Verify hand can be found if !XRToolsHand.find_instance(self): - return "Node must be a within a branch of an ARVRController node with a hand" + warnings.append("Node must be a within a branch of an XRController node with a hand") # Pass basic validation - return "" + return warnings func set_collision_mask(mask : int) -> void: @@ -66,19 +69,19 @@ func _update_collision_mask() -> void: ## Signal handler called when this XRToolsFunctionPoseArea enters an area -func _on_area_entered(area : Area) -> void: +func _on_area_entered(area : Area3D) -> void: # Igjnore if the area is not a hand-pose area var pose_area := area as XRToolsHandPoseArea if !pose_area: return # Set the appropriate poses - if _controller.controller_id == 1 and pose_area.left_pose: + if _controller.tracker == "left_hand" and pose_area.left_pose: _hand.add_pose_override( pose_area, pose_area.pose_priority, pose_area.left_pose) - elif _controller.controller_id == 2 and pose_area.right_pose: + elif _controller.tracker == "right_hand" and pose_area.right_pose: _hand.add_pose_override( pose_area, pose_area.pose_priority, @@ -86,7 +89,7 @@ func _on_area_entered(area : Area) -> void: ## Signal handler called when this XRToolsFunctionPoseArea leaves an area -func _on_area_exited(area : Area) -> void: +func _on_area_exited(area : Area3D) -> void: # Ignore if the area is not a hand-pose area var pose_area := area as XRToolsHandPoseArea if !pose_area: diff --git a/addons/godot-xr-tools/functions/function_pose_detector.tscn b/addons/godot-xr-tools/functions/function_pose_detector.tscn index fa02b684..714db38e 100644 --- a/addons/godot-xr-tools/functions/function_pose_detector.tscn +++ b/addons/godot-xr-tools/functions/function_pose_detector.tscn @@ -1,19 +1,19 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://bft3xyxs31ci3"] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pose_detector.gd" id="1"] -[sub_resource type="CapsuleShape" id=1] +[sub_resource type="CapsuleShape3D" id="1"] radius = 0.08 -height = 0.08 +height = 0.24 -[node name="FunctionPoseDetector" type="Spatial"] -script = ExtResource( 1 ) +[node name="FunctionPoseDetector" type="Node3D"] +script = ExtResource("1") -[node name="SenseArea" type="Area" parent="."] +[node name="SenseArea" type="Area3D" parent="."] collision_layer = 0 collision_mask = 2097152 monitorable = false -[node name="CollisionShape" type="CollisionShape" parent="SenseArea"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.04, 0.08 ) -shape = SubResource( 1 ) +[node name="CollisionShape" type="CollisionShape3D" parent="SenseArea"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.04, 0.08) +shape = SubResource("1") diff --git a/addons/godot-xr-tools/functions/function_teleport.gd b/addons/godot-xr-tools/functions/function_teleport.gd index 76d13e88..24d08d5a 100644 --- a/addons/godot-xr-tools/functions/function_teleport.gd +++ b/addons/godot-xr-tools/functions/function_teleport.gd @@ -1,7 +1,9 @@ -tool -class_name XRToolsFunctionTeleport, "res://addons/godot-xr-tools/editor/icons/function.svg" -extends KinematicBody -# should really change this to Spatial once #17401 is resolved +@tool +@icon("res://addons/godot-xr-tools/editor/icons/function.svg") +class_name XRToolsFunctionTeleport +extends CharacterBody3D + +# should really change this to Node3D once #17401 is resolved ## XR Tools Function Teleport Script @@ -17,37 +19,40 @@ const DEFAULT_MASK := 0b1111_1111_1111_1111_1111_1111_1111_1111 ## If true, teleporting is enabled -export var enabled : bool = true setget set_enabled +@export var enabled : bool = true: set = set_enabled ## Teleport allowed color property -export var can_teleport_color : Color = Color(0.0, 1.0, 0.0, 1.0) +@export var can_teleport_color : Color = Color(0.0, 1.0, 0.0, 1.0) ## Teleport denied color property -export var cant_teleport_color : Color = Color(1.0, 0.0, 0.0, 1.0) +@export var cant_teleport_color : Color = Color(1.0, 0.0, 0.0, 1.0) ## Teleport no-collision color property -export var no_collision_color: Color = Color(45.0 / 255.0, 80.0 / 255.0, 220.0 / 255.0, 1.0) +@export var no_collision_color : Color = Color(45.0 / 255.0, 80.0 / 255.0, 220.0 / 255.0, 1.0) ## Player height property -export var player_height : float = 1.8 setget set_player_height +@export var player_height : float = 1.8: set = set_player_height ## Player radius property -export var player_radius : float = 0.4 setget set_player_radius +@export var player_radius : float = 0.4: set = set_player_radius ## Teleport-arc strength -export var strength : float = 5.0 +@export var strength : float = 5.0 ## Maximum floor slope -export var max_slope : float = 20.0 +@export var max_slope : float = 20.0 ## Valid teleport layer mask -export (int, LAYERS_3D_PHYSICS) var valid_teleport_mask : int = DEFAULT_MASK +@export_flags_3d_physics var valid_teleport_mask : int = DEFAULT_MASK # once this is no longer a kinematic body, we'll need this.. # export (int, LAYERS_3D_PHYSICS) var collision_mask = 1 -## Teleport button -export (XRTools.Buttons) var teleport_button : int = XRTools.Buttons.VR_TRIGGER +## Teleport button action +@export var teleport_button_action : String = "trigger_click" + +## Teleport rotation action +@export var rotation_action : String = "primary" var is_on_floor : bool = true @@ -55,39 +60,39 @@ var is_teleporting : bool = false var can_teleport : bool = true var teleport_rotation : float = 0.0; var floor_normal : Vector3 = Vector3.UP -var last_target_transform : Transform = Transform() -var collision_shape : Shape +var last_target_transform : Transform3D = Transform3D() +var collision_shape : Shape3D var step_size : float = 0.5 # World scale -onready var ws : float = ARVRServer.world_scale +@onready var ws : float = XRServer.world_scale # By default we show a capsule to indicate where the player lands. # Turn on editable children, # hide the capsule, # and add your own player character as child. -onready var capsule : MeshInstance = get_node("Target/Player_figure/Capsule") +@onready var capsule : MeshInstance3D = get_node("Target/Player_figure/Capsule") -## [ARVROrigin] node. -onready var origin_node := ARVRHelpers.get_arvr_origin(self) +## [XROrigin3D] node. +@onready var origin_node := XRHelpers.get_xr_origin(self) -## [ARVRCamera] node. -onready var camera_node := ARVRHelpers.get_arvr_camera(self) +## [XRCamera3D] node. +@onready var camera_node := XRHelpers.get_xr_camera(self) -## [ARVRController] node. -onready var controller := ARVRHelpers.get_arvr_controller(self) +## [XRController3D] node. +@onready var controller := XRHelpers.get_xr_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsFunctionTeleport" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsFunctionTeleport" # Called when the node enters the scene tree for the first time. func _ready(): # Do not initialise if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # It's inactive when we start @@ -100,11 +105,11 @@ func _ready(): $Target/Player_figure.scale = Vector3(ws, ws, ws) # get our capsule shape - collision_shape = $CollisionShape.shape - $CollisionShape.shape = null + collision_shape = $CollisionShape3D.shape + $CollisionShape3D.shape = null # now remove our collision shape, we are not using our kinematic body - remove_child($CollisionShape) + remove_child($CollisionShape3D) # call set player to ensure our collision shape is sized _update_player_height() @@ -113,7 +118,7 @@ func _ready(): func _physics_process(delta): # Do not process physics if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Skip if required nodes are missing @@ -132,14 +137,15 @@ func _physics_process(delta): return # check if our world scale has changed.. - var new_ws = ARVRServer.world_scale + var new_ws = XRServer.world_scale if ws != new_ws: ws = new_ws $Teleport.mesh.size = Vector2(0.05 * ws, 1.0) $Target.mesh.size = Vector2(ws, ws) $Target/Player_figure.scale = Vector3(ws, ws, ws) - if controller and controller.get_is_active() and controller.is_button_pressed(teleport_button): + if controller and controller.get_is_active() and \ + controller.is_button_pressed(teleport_button_action): if !is_teleporting: is_teleporting = true $Teleport.visible = true @@ -147,19 +153,19 @@ func _physics_process(delta): teleport_rotation = 0.0 # get our physics engine state - var space = PhysicsServer.body_get_space(self.get_rid()) - var state = PhysicsServer.space_get_direct_state(space) - var query = PhysicsShapeQueryParameters.new() + var space = PhysicsServer3D.body_get_space(self.get_rid()) + var state = PhysicsServer3D.space_get_direct_state(space) + var query = PhysicsShapeQueryParameters3D.new() # init stuff about our query that doesn't change query.collision_mask = collision_mask query.margin = get_safe_margin() query.shape_rid = collision_shape.get_rid() - # make a transform for rotating and offseting our shape, it's always + # make a transform for offsetting our shape, it's always # lying on its side by default... - var shape_transform = Transform( - Basis(Vector3(1.0, 0.0, 0.0), deg2rad(90.0)), + var shape_transform = Transform3D( + Basis(), Vector3(0.0, player_height / 2.0, 0.0)) # update location @@ -176,7 +182,7 @@ func _physics_process(delta): var cast_length = 0.0 var fine_tune = 1.0 var hit_something = false - var max_slope_cos = cos(deg2rad(max_slope)) + var max_slope_cos = cos(deg_to_rad(max_slope)) for i in range(1,26): var new_cast_length = cast_length + (step_size / fine_tune) var global_target = Vector3(0.0, 0.0, -new_cast_length) @@ -186,15 +192,15 @@ func _physics_process(delta): var t2 = t * t # target to world space - global_target = teleport_global_transform.xform(global_target) + global_target = teleport_global_transform * global_target # adjust for gravity global_target += down * t2 # test our new location for collisions - query.transform = Transform(Basis(), global_target) * shape_transform + query.transform = Transform3D(Basis(), global_target) * shape_transform var cast_result = state.collide_shape(query, 10) - if cast_result.empty(): + if cast_result.is_empty(): # we didn't collide with anything so check our next section... cast_length = new_cast_length target_global_origin = global_target @@ -212,11 +218,13 @@ func _physics_process(delta): is_on_floor = false else: # now we cast a ray downwards to see if we're on a surface - var start_pos = target_global_origin + (Vector3.UP * 0.5 * player_height) - var end_pos = target_global_origin - (Vector3.UP * 1.1 * player_height) + var ray_query = PhysicsRayQueryParameters3D.new() + ray_query.from = target_global_origin + (Vector3.UP * 0.5 * player_height) + ray_query.to = target_global_origin - (Vector3.UP * 1.1 * player_height) + ray_query.collision_mask = collision_mask - var intersects = state.intersect_ray(start_pos, end_pos, [], collision_mask) - if intersects.empty(): + var intersects = state.intersect_ray(ray_query) + if intersects.is_empty(): is_on_floor = false else: # did we collide with a floor or a wall? @@ -248,9 +256,9 @@ func _physics_process(delta): break # and just update our shader - $Teleport.get_surface_material(0).set_shader_param("scale_t", 1.0 / strength) - $Teleport.get_surface_material(0).set_shader_param("ws", ws) - $Teleport.get_surface_material(0).set_shader_param("length", cast_length) + $Teleport.get_surface_override_material(0).set_shader_parameter("scale_t", 1.0 / strength) + $Teleport.get_surface_override_material(0).set_shader_parameter("ws", ws) + $Teleport.get_surface_override_material(0).set_shader_parameter("length", cast_length) if hit_something: var color = can_teleport_color var normal = Vector3.UP @@ -263,8 +271,7 @@ func _physics_process(delta): color = cant_teleport_color # check our axis to see if we need to rotate - teleport_rotation += (delta * controller.get_joystick_axis( - XRTools.Axis.VR_PRIMARY_X_AXIS) * -4.0) + teleport_rotation += (delta * controller.get_vector2(rotation_action).x * -4.0) # update target and colour var target_basis = Basis() @@ -281,13 +288,13 @@ func _physics_process(delta): last_target_transform.origin = target_global_origin + Vector3(0.0, 0.001, 0.0) $Target.global_transform = last_target_transform - $Teleport.get_surface_material(0).set_shader_param("mix_color", color) - $Target.get_surface_material(0).albedo_color = color + $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", color) + $Target.get_surface_override_material(0).albedo_color = color $Target.visible = can_teleport else: can_teleport = false $Target.visible = false - $Teleport.get_surface_material(0).set_shader_param("mix_color", no_collision_color) + $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", no_collision_color) elif is_teleporting: if can_teleport: @@ -300,7 +307,7 @@ func _physics_process(delta): # Find out our user's feet's transformation. # The feet are on the ground, but have the same X,Z as the camera var cam_transform = camera_node.transform - var user_feet_transform = Transform() + var user_feet_transform = Transform3D() user_feet_transform.origin = cam_transform.origin user_feet_transform.origin.y = 0 @@ -322,21 +329,23 @@ func _physics_process(delta): # This method verifies the teleport has a valid configuration. -func _get_configuration_warning(): - # Verify we can find the ARVROrigin - if !ARVRHelpers.get_arvr_origin(self): - return "This node must be within a branch of an ARVROrigin node" +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() - # Verify we can find the ARVRCamera - if !ARVRHelpers.get_arvr_camera(self): - return "Unable to find ARVRCamera node" + # Verify we can find the XROrigin3D + if !XRHelpers.get_xr_origin(self): + warnings.append("This node must be within a branch of an XROrigin3D node") - # Verify we can find the ARVRController - if !ARVRHelpers.get_arvr_controller(self): - return "This node must be within a branch of an ARVRController node" + # Verify we can find the XRCamera3D + if !XRHelpers.get_xr_camera(self): + warnings.append("Unable to find XRCamera3D node") - # Pass basic validation - return "" + # Verify we can find the XRController3D + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") + + # Return warnings + return warnings # Set enabled property @@ -368,16 +377,16 @@ func _update_player_height() -> void: collision_shape.height = player_height - (2.0 * player_radius) if capsule: - capsule.mesh.mid_height = player_height - (2.0 * player_radius) - capsule.translation = Vector3(0.0, player_height/2.0, 0.0) + capsule.mesh.height = player_height + capsule.position = Vector3(0.0, player_height/2.0, 0.0) # Player radius update handler func _update_player_radius(): if collision_shape: - collision_shape.height = player_height - (2.0 * player_radius) + collision_shape.height = player_height collision_shape.radius = player_radius if capsule: - capsule.mesh.mid_height = player_height - (2.0 * player_radius) + capsule.mesh.height = player_height capsule.mesh.radius = player_radius diff --git a/addons/godot-xr-tools/functions/function_teleport.tscn b/addons/godot-xr-tools/functions/function_teleport.tscn index e87cf216..6138c811 100644 --- a/addons/godot-xr-tools/functions/function_teleport.tscn +++ b/addons/godot-xr-tools/functions/function_teleport.tscn @@ -1,48 +1,48 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=9 format=3 uid="uid://fiul51tsyoop"] -[ext_resource path="res://addons/godot-xr-tools/materials/target.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/materials/capsule.tres" type="Material" id=2] -[ext_resource path="res://addons/godot-xr-tools/materials/teleport.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/functions/function_teleport.gd" type="Script" id=4] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_teleport.gd" id="1"] +[ext_resource type="Material" uid="uid://bk72wfw25ff0v" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4"] -[sub_resource type="PlaneMesh" id=1] -size = Vector2( 0.05, 1 ) +[sub_resource type="PlaneMesh" id="1"] +size = Vector2(0.05, 1) subdivide_depth = 40 -[sub_resource type="PlaneMesh" id=2] -size = Vector2( 1, 1 ) +[sub_resource type="PlaneMesh" id="2"] +size = Vector2(1, 1) -[sub_resource type="CapsuleMesh" id=3] +[sub_resource type="CapsuleMesh" id="3"] radius = 0.4 +height = 1.8 -[sub_resource type="CapsuleShape" id=4] -radius = 0.1 +[sub_resource type="CapsuleShape3D" id="4"] +radius = 0.05 height = 0.1 -[node name="FunctionTeleport" type="KinematicBody"] +[node name="FunctionTeleport" type="CharacterBody3D"] collision_layer = 524288 collision_mask = 1023 input_ray_pickable = false -collision/safe_margin = 0.01 -script = ExtResource( 4 ) -no_collision_color = Color( 0.176471, 0.313726, 0.862745, 1 ) +script = ExtResource("1") +no_collision_color = Color(0.176471, 0.313726, 0.862745, 1) -[node name="Teleport" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) -material/0 = ExtResource( 3 ) +[node name="Teleport" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") -[node name="Target" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -4.92359 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="Target" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -4.92359) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("3") -[node name="Player_figure" type="Position3D" parent="Target"] +[node name="Player_figure" type="Marker3D" parent="Target"] -[node name="Capsule" type="MeshInstance" parent="Target/Player_figure"] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.9, 0 ) -mesh = SubResource( 3 ) -material/0 = ExtResource( 2 ) +[node name="Capsule" type="MeshInstance3D" parent="Target/Player_figure"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0) +mesh = SubResource("3") +surface_material_override/0 = ExtResource("4") -[node name="CollisionShape" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0) +shape = SubResource("4") diff --git a/addons/godot-xr-tools/functions/movement_climb.gd b/addons/godot-xr-tools/functions/movement_climb.gd index 8e91564a..29e0fdbc 100644 --- a/addons/godot-xr-tools/functions/movement_climb.gd +++ b/addons/godot-xr-tools/functions/movement_climb.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementClimb extends XRToolsMovementProvider @@ -8,7 +8,7 @@ extends XRToolsMovementProvider ## This script provides climbing movement for the player. To add climbing ## support, the player must also have [XRToolsFunctionPickup] nodes attached ## to the left and right controllers, and an [XRToolsPlayerBody] under the -## [ARVROrigin]. +## [XROrigin3D]. ## ## Climbable objects can inherit from the climbable scene, or be [StaticBody] ## objects with the [XRToolsClimbable] script attached to them. @@ -31,16 +31,16 @@ const SNAP_DISTANCE : float = 1.0 ## Movement provider order -export var order : int = 15 +@export var order : int = 15 ## Push forward when flinging -export var forward_push : float = 1.0 +@export var forward_push : float = 1.0 ## Velocity multiplier when flinging up walls -export var fling_multiplier : float = 1.0 +@export var fling_multiplier : float = 1.0 ## Averages for velocity measurement -export var velocity_averages : int = 5 +@export var velocity_averages : int = 5 ## Left climbable @@ -54,30 +54,33 @@ var _dominant : XRToolsFunctionPickup # Velocity averager -onready var _averager := XRToolsVelocityAveragerLinear.new(velocity_averages) +@onready var _averager := XRToolsVelocityAveragerLinear.new(velocity_averages) # Left pickup node -onready var _left_pickup_node := XRToolsFunctionPickup.find_left(self) +@onready var _left_pickup_node := XRToolsFunctionPickup.find_left(self) # Right pickup node -onready var _right_pickup_node := XRToolsFunctionPickup.find_right(self) +@onready var _right_pickup_node := XRToolsFunctionPickup.find_right(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementClimb" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementClimb" or super(name) ## Called when the node enters the scene tree for the first time. func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Connect pickup funcitons - if _left_pickup_node.connect("has_picked_up", self, "_on_left_picked_up"): + if _left_pickup_node.connect("has_picked_up", _on_left_picked_up): push_error("Unable to connect left picked up signal") - if _right_pickup_node.connect("has_picked_up", self, "_on_right_picked_up"): + if _right_pickup_node.connect("has_picked_up", _on_right_picked_up): push_error("Unable to connect right picked up signal") - if _left_pickup_node.connect("has_dropped", self, "_on_left_dropped"): + if _left_pickup_node.connect("has_dropped", _on_left_dropped): push_error("Unable to connect left dropped signal") - if _right_pickup_node.connect("has_dropped", self, "_on_right_dropped"): + if _right_pickup_node.connect("has_dropped", _on_right_dropped): push_error("Unable to connect right dropped signal") @@ -160,7 +163,7 @@ func _set_climbing(active: bool, player_body: XRToolsPlayerBody) -> void: ## Handler for left controller picked up -func _on_left_picked_up(what : Spatial) -> void: +func _on_left_picked_up(what : Node3D) -> void: # Get the climbable _left_climbable = what as XRToolsClimbable @@ -172,7 +175,7 @@ func _on_left_picked_up(what : Spatial) -> void: ## Handler for right controller picked up -func _on_right_picked_up(what : Spatial) -> void: +func _on_right_picked_up(what : Node3D) -> void: # Get the climbable _right_climbable = what as XRToolsClimbable @@ -208,18 +211,20 @@ func _on_right_dropped() -> void: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Verify the left controller pickup if !XRToolsFunctionPickup.find_left(self): - return "Unable to find left XRToolsFunctionPickup node" + warnings.append("Unable to find left XRToolsFunctionPickup node") # Verify the right controller pickup if !XRToolsFunctionPickup.find_right(self): - return "Unable to find right XRToolsFunctionPickup node" + warnings.append("Unable to find right XRToolsFunctionPickup node") # Verify velocity averages if velocity_averages < 2: - return "Minimum of 2 velocity averages needed" + warnings.append("Minimum of 2 velocity averages needed") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_climb.tscn b/addons/godot-xr-tools/functions/movement_climb.tscn index 05be2f54..e6d60ced 100644 --- a/addons/godot-xr-tools/functions/movement_climb.tscn +++ b/addons/godot-xr-tools/functions/movement_climb.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bxm1ply47vaan"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_climb.gd" id="1"] [node name="MovementClimb" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_crouch.gd b/addons/godot-xr-tools/functions/movement_crouch.gd index 42fa2544..0b4db5a6 100644 --- a/addons/godot-xr-tools/functions/movement_crouch.gd +++ b/addons/godot-xr-tools/functions/movement_crouch.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementCrouch extends XRToolsMovementProvider @@ -6,7 +6,7 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Crouching ## ## This script works with the [XRToolsPlayerBody] attached to the players -## [ARVROrigin]. +## [XROrigin3D]. ## ## While the player presses the crounch button, the height is overridden to ## the specified crouch height. @@ -20,16 +20,16 @@ enum CrouchType { ## Movement provider order -export var order : int = 10 +@export var order : int = 10 ## Crouch height -export var crouch_height : float = 1.0 +@export var crouch_height : float = 1.0 ## Crouch button -export (XRTools.Buttons) var crouch_button : int = XRTools.Buttons.VR_PAD +@export var crouch_button_action : String = "primary_click" ## Type of crouching -export (CrouchType) var crouch_type : int = CrouchType.HOLD_TO_CROUCH +@export var crouch_type : CrouchType = CrouchType.HOLD_TO_CROUCH ## Crouching flag @@ -40,12 +40,12 @@ var _crouch_button_down : bool = false # Controller node -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementCrouch" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementCrouch" or super(name) # Perform jump movement @@ -55,7 +55,7 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: return # Detect crouch button down and pressed states - var crouch_button_down := _controller.is_button_pressed(crouch_button) != 0 + var crouch_button_down := _controller.is_button_pressed(crouch_button_action) var crouch_button_pressed := crouch_button_down and !_crouch_button_down _crouch_button_down = crouch_button_down @@ -81,10 +81,12 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Check the controller node - if !ARVRHelpers.get_arvr_controller(self): - return "This node must be within a branch of an ARVRController node" + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_crouch.tscn b/addons/godot-xr-tools/functions/movement_crouch.tscn index b039295e..824cfca5 100644 --- a/addons/godot-xr-tools/functions/movement_crouch.tscn +++ b/addons/godot-xr-tools/functions/movement_crouch.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://clt88d5d1dje4"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_crouch.gd" id="1"] [node name="MovementCrouch" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_direct.gd b/addons/godot-xr-tools/functions/movement_direct.gd index ad31d29c..5b88b8b7 100644 --- a/addons/godot-xr-tools/functions/movement_direct.gd +++ b/addons/godot-xr-tools/functions/movement_direct.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementDirect extends XRToolsMovementProvider @@ -6,29 +6,32 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Direct Movement ## ## This script provides direct movement for the player. This script works -## with the [XRToolsPlayerBody] attached to the players [ARVROrigin]. +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. ## ## The player may have multiple [XRToolsMovementDirect] nodes attached to ## different controllers to provide different types of direct movement. ## Movement provider order -export var order : int = 10 +@export var order : int = 10 ## Movement speed -export var max_speed : float = 10.0 +@export var max_speed : float = 10.0 ## If true, the player can strafe -export var strafe : bool = false +@export var strafe : bool = false + +## Input action for movement direction +@export var input_action : String = "primary" # Controller node -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementDirect" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementDirect" or super(name) # Perform jump movement @@ -38,13 +41,11 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: return # Apply forwards/backwards ground control - player_body.ground_control_velocity.y += _controller.get_joystick_axis( - XRTools.Axis.VR_PRIMARY_Y_AXIS) * max_speed + player_body.ground_control_velocity.y += _controller.get_vector2(input_action).y * max_speed # Apply left/right ground control if strafe: - player_body.ground_control_velocity.x += _controller.get_joystick_axis( - XRTools.Axis.VR_PRIMARY_X_AXIS) * max_speed + player_body.ground_control_velocity.x += _controller.get_vector2(input_action).x * max_speed # Clamp ground control var length := player_body.ground_control_velocity.length() @@ -53,22 +54,24 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Check the controller node - if !ARVRHelpers.get_arvr_controller(self): - return "This node must be within a branch of an ARVRController node" + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings ## Find the left [XRToolsMovementDirect] node. ## ## This function searches from the specified node for the left controller -## [XRToolsMovementDirect] assuming the node is a sibling of the [ARVROrigin]. +## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D]. static func find_left(node : Node) -> XRToolsMovementDirect: - return XRTools.find_child( - ARVRHelpers.get_left_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_left_controller(node), "*", "XRToolsMovementDirect") as XRToolsMovementDirect @@ -76,9 +79,9 @@ static func find_left(node : Node) -> XRToolsMovementDirect: ## Find the right [XRToolsMovementDirect] node. ## ## This function searches from the specified node for the right controller -## [XRToolsMovementDirect] assuming the node is a sibling of the [ARVROrigin]. +## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D]. static func find_right(node : Node) -> XRToolsMovementDirect: - return XRTools.find_child( - ARVRHelpers.get_right_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_right_controller(node), "*", "XRToolsMovementDirect") as XRToolsMovementDirect diff --git a/addons/godot-xr-tools/functions/movement_direct.tscn b/addons/godot-xr-tools/functions/movement_direct.tscn index 209ccc16..c58096bb 100644 --- a/addons/godot-xr-tools/functions/movement_direct.tscn +++ b/addons/godot-xr-tools/functions/movement_direct.tscn @@ -1,10 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bl2nuu3qhlb5k"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_direct.gd" id="1"] [node name="MovementDirect" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) -enabled = null -order = null -max_speed = null -strafe = null +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_flight.gd b/addons/godot-xr-tools/functions/movement_flight.gd index c110ed51..2f9cbbd7 100644 --- a/addons/godot-xr-tools/functions/movement_flight.gd +++ b/addons/godot-xr-tools/functions/movement_flight.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementFlight extends XRToolsMovementProvider @@ -57,58 +57,61 @@ enum FlightBearing { ## Movement provider order -export var order : int = 30 +@export var order : int = 30 ## Flight controller -export (FlightController) var controller : int = FlightController.LEFT +@export var controller : FlightController = FlightController.LEFT ## Flight toggle button -export (XRTools.Buttons) var flight_button : int = XRTools.Buttons.VR_BUTTON_BY +@export var flight_button : String = "by_button" ## Flight pitch control -export (FlightPitch) var pitch : int = FlightPitch.CONTROLLER +@export var pitch : FlightPitch = FlightPitch.CONTROLLER ## Flight bearing control -export (FlightBearing) var bearing : int = FlightBearing.CONTROLLER +@export var bearing : FlightBearing = FlightBearing.CONTROLLER ## Flight speed from control -export var speed_scale : float = 5.0 +@export var speed_scale : float = 5.0 ## Flight traction pulling flight velocity towards the controlled speed -export var speed_traction : float = 3.0 +@export var speed_traction : float = 3.0 ## Flight acceleration from control -export var acceleration_scale : float = 0.0 +@export var acceleration_scale : float = 0.0 ## Flight drag -export var drag : float = 0.1 +@export var drag : float = 0.1 ## Guidance effect (virtual fins/wings) -export var guidance : float = 0.0 +@export var guidance : float = 0.0 ## If true, flight movement is exclusive preventing further movement functions -export var exclusive : bool = true +@export var exclusive : bool = true ## Flight button state var _flight_button : bool = false ## Flight controller -var _controller : ARVRController +var _controller : XRController3D # Node references -onready var _camera := ARVRHelpers.get_arvr_camera(self) -onready var _left_controller := ARVRHelpers.get_left_controller(self) -onready var _right_controller := ARVRHelpers.get_right_controller(self) +@onready var _camera := XRHelpers.get_xr_camera(self) +@onready var _left_controller := XRHelpers.get_left_controller(self) +@onready var _right_controller := XRHelpers.get_right_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementFlight" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementFlight" or super(name) func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Get the flight controller if controller == FlightController.LEFT: _controller = _left_controller @@ -165,20 +168,20 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo var side := forwards.cross(player_body.up_player_vector) # Construct the target velocity - var joy_forwards := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_Y_AXIS) - var joy_side := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_X_AXIS) + var joy_forwards := _controller.get_vector2("primary").y + var joy_side := _controller.get_vector2("primary").x var heading := forwards * joy_forwards + side * joy_side # Calculate the flight velocity var flight_velocity := player_body.velocity flight_velocity *= 1.0 - drag * delta - flight_velocity = lerp(flight_velocity, heading * speed_scale, speed_traction * delta) + flight_velocity = flight_velocity.lerp(heading * speed_scale, speed_traction * delta) flight_velocity += heading * acceleration_scale * delta # Apply virtual guidance effect if guidance > 0.0: var velocity_forwards := forwards * flight_velocity.length() - flight_velocity = lerp(flight_velocity, velocity_forwards, guidance * delta) + flight_velocity = flight_velocity.lerp(velocity_forwards, guidance * delta) # If exclusive then perform the exclusive move-and-slide if exclusive: @@ -206,18 +209,20 @@ func set_flying(active: bool) -> void: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Verify the camera - if !ARVRHelpers.get_arvr_camera(self): - return "Unable to find ARVRCamera" + if !XRHelpers.get_xr_camera(self): + warnings.append("Unable to find XRCamera3D") # Verify the left controller - if !ARVRHelpers.get_left_controller(self): - return "Unable to find left ARVRController node" + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") # Verify the right controller - if !ARVRHelpers.get_right_controller(self): - return "Unable to find left ARVRController node" + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find left XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_flight.tscn b/addons/godot-xr-tools/functions/movement_flight.tscn index de534761..deb568c8 100644 --- a/addons/godot-xr-tools/functions/movement_flight.tscn +++ b/addons/godot-xr-tools/functions/movement_flight.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://kyhaogt0a4q8"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_flight.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_flight.gd" id="1"] [node name="MovementFlight" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_footstep.gd b/addons/godot-xr-tools/functions/movement_footstep.gd index ae401484..d4c6f230 100644 --- a/addons/godot-xr-tools/functions/movement_footstep.gd +++ b/addons/godot-xr-tools/functions/movement_footstep.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementFootstep extends XRToolsMovementProvider @@ -19,16 +19,16 @@ const AUDIO_POOL_SIZE := 3 ## Movement provider order -export var order : int = 1001 +@export var order : int = 1001 ## Default XRToolsSurfaceAudioType when not overridden -export var default_surface_audio_type : Resource +@export var default_surface_audio_type : XRToolsSurfaceAudioType ## Speed at which the player is considered walking -export var walk_speed := 0.4 +@export var walk_speed := 0.4 ## Step per meter by time -export var steps_per_meter = 1.0 +@export var steps_per_meter = 1.0 # step time @@ -38,10 +38,10 @@ var step_time = 0.0 var _old_on_ground := true # Node representing the location of the players foot -var _foot_spatial : Spatial +var _foot_spatial : Node3D # Pool of idle AudioStreamPlayer3D nodes -var _audio_pool_idle : Array +var _audio_pool_idle : Array[AudioStreamPlayer3D] # Last ground node var _ground_node : Node @@ -51,17 +51,20 @@ var _ground_node_audio_type : XRToolsSurfaceAudioType ## PlayerBody - Player Physics Body Script -onready var player_body := XRToolsPlayerBody.find_instance(self) +@onready var player_body := XRToolsPlayerBody.find_instance(self) # Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementFootstep" or .is_class(name) +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementFootstep" or super(name) func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Construct the foot spatial - we will move it around as the player moves. - _foot_spatial = Spatial.new() + _foot_spatial = Node3D.new() _foot_spatial.name = "FootSpatial" add_child(_foot_spatial) @@ -71,27 +74,25 @@ func _ready(): player.name = "PlayerCopy%d" % (i + 1) _foot_spatial.add_child(player) _audio_pool_idle.append(player) - player.connect("finished", self, "_on_player_finished", [ player ]) + player.finished.connect(_on_player_finished.bind(player)) # Set as always active is_active = true # Listen for the player jumping - player_body.connect("player_jumped", self, "_on_player_jumped") + player_body.player_jumped.connect(_on_player_jumped) # This method checks for configuration issues. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Verify player settings node exists if not $PlayerSettings: - return "Missing player settings node" - - # Verify hit sound - if default_surface_audio_type and !default_surface_audio_type is XRToolsSurfaceAudioType: - return "Default surface audio type is not an XRToolsSurfaceAudioType" + warnings.append("Missing player settings node") - # No configuration issues detected - return "" + # Return warnings + return warnings func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool): @@ -132,10 +133,10 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: # Update the foot spatial to be where the players foot is func _update_foot_spatial() -> void: # Project the players camera down to the XZ plane (real-world space) - var local_foot := Plane.PLANE_XZ.project(player_body.camera_node.translation) + var local_foot := Plane.PLANE_XZ.project(player_body.camera_node.position) # Move the foot_spatial to the local foot in the global origin space - _foot_spatial.global_translation = player_body.origin_node.global_transform.xform(local_foot) + _foot_spatial.global_position = player_body.origin_node.global_transform * local_foot # Update the ground audio information @@ -153,7 +154,7 @@ func _update_ground_audio() -> void: return # Find the surface audio for the ground (if any) - var ground_audio : XRToolsSurfaceAudio = XRTools.find_child( + var ground_audio : XRToolsSurfaceAudio = XRTools.find_xr_child( _ground_node, "*", "XRToolsSurfaceAudio") if ground_audio: _ground_node_audio_type = ground_audio.surface_audio_type @@ -195,7 +196,7 @@ func _play_step_sound() -> void: var idx := randi() % _ground_node_audio_type.walk_sounds.size() # Pick the playback pitck - var pitch := rand_range( + var pitch := randf_range( _ground_node_audio_type.walk_pitch_minimum, _ground_node_audio_type.walk_pitch_maximum) @@ -214,7 +215,7 @@ func _play_sound(name : String, stream : AudioStream, pitch : float = 1.0) -> vo return # Emit the footstep signal - emit_signal("footstep", name) + footstep.emit(name) # Verify we have an audio player if _audio_pool_idle.size() == 0: @@ -238,7 +239,7 @@ func _on_player_finished(player : AudioStreamPlayer3D) -> void: ## This function searches from the specified node for an [XRToolsMovementFootstep] ## assuming the node is a sibling of the body under an [ARVROrigin]. static func find_instance(node: Node) -> XRToolsMovementFootstep: - return XRTools.find_child( - ARVRHelpers.get_arvr_origin(node), + return XRTools.find_xr_child( + XRHelpers.get_xr_origin(node), "*", "XRToolsMovementFootstep") as XRToolsMovementFootstep diff --git a/addons/godot-xr-tools/functions/movement_footstep.tscn b/addons/godot-xr-tools/functions/movement_footstep.tscn index 89ca3a17..f63cf54d 100644 --- a/addons/godot-xr-tools/functions/movement_footstep.tscn +++ b/addons/godot-xr-tools/functions/movement_footstep.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://0xlsitpu17r1"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_footstep.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_footstep.gd" id="1"] [node name="MovementFootstep" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="PlayerSettings" type="AudioStreamPlayer3D" parent="."] diff --git a/addons/godot-xr-tools/functions/movement_glide.gd b/addons/godot-xr-tools/functions/movement_glide.gd index 0ac46730..2f1d4bcd 100644 --- a/addons/godot-xr-tools/functions/movement_glide.gd +++ b/addons/godot-xr-tools/functions/movement_glide.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementGlide extends XRToolsMovementProvider @@ -6,7 +6,7 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Gliding ## ## This script provides glide mechanics for the player. This script works -## with the [XRToolsPlayerBody] attached to the players [ARVROrigin]. +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. ## ## The player enables flying by moving the controllers apart further than ## 'glide_detect_distance'. @@ -29,44 +29,44 @@ signal player_glide_end signal player_flapped ## Movement provider order -export var order : int = 35 +@export var order : int = 35 ## Controller separation distance to register as glide -export var glide_detect_distance : float = 1.0 +@export var glide_detect_distance : float = 1.0 ## Minimum falling speed to be considered gliding -export var glide_min_fall_speed : float = -1.5 +@export var glide_min_fall_speed : float = -1.5 ## Glide falling speed -export var glide_fall_speed : float = -2.0 +@export var glide_fall_speed : float = -2.0 ## Glide forward speed -export var glide_forward_speed : float = 12.0 +@export var glide_forward_speed : float = 12.0 ## Slew rate to transition to gliding -export var horizontal_slew_rate : float = 1.0 +@export var horizontal_slew_rate : float = 1.0 ## Slew rate to transition to gliding -export var vertical_slew_rate : float = 2.0 +@export var vertical_slew_rate : float = 2.0 ## glide rotate with roll angle -export var turn_with_roll : bool = false +@export var turn_with_roll : bool = false ## Smooth turn speed in radians per second -export var roll_turn_speed : float = 1 +@export var roll_turn_speed : float = 1 ## Add vertical impulse by flapping controllers -export var wings_impulse : bool = false +@export var wings_impulse : bool = false ## Minimum velocity for flapping -export var flap_min_speed : float = 0.3 +@export var flap_min_speed : float = 0.3 ## Flapping force multiplier -export var wings_force : float = 1.0 +@export var wings_force : float = 1.0 ## Minimum distance from controllers to ARVRCamera to rearm flaps. ## if set to 0, you need to reach head level with hands to rearm flaps -export var rearm_distance_offset : float = 0.2 +@export var rearm_distance_offset : float = 0.2 ## Flap activated (when both controllers are near the ARVRCamera height) @@ -81,18 +81,18 @@ var _has_controller_positions : bool = false # Left controller -onready var _left_controller := ARVRHelpers.get_left_controller(self) +@onready var _left_controller := XRHelpers.get_left_controller(self) # Right controller -onready var _right_controller := ARVRHelpers.get_right_controller(self) +@onready var _right_controller := XRHelpers.get_right_controller(self) # ARVRCamera -onready var _camera_node := ARVRHelpers.get_arvr_camera(self) +@onready var _camera_node := XRHelpers.get_xr_camera(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementGlide" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementGlide" or super(name) func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool): @@ -171,7 +171,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo player_body.rotate_player(roll_turn_speed * delta * angle) # Set gliding based on hand separation - var separation := left_to_right.length() / ARVRServer.world_scale + var separation := left_to_right.length() / XRServer.world_scale _set_gliding(separation >= glide_detect_distance) # Skip if not gliding @@ -186,7 +186,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo var dir_forward := player_body.up_gravity_plane.project( left_to_right.rotated(player_body.up_gravity_vector, PI/2)).normalized() var forward_velocity := dir_forward * glide_forward_speed - horizontal_velocity = lerp(horizontal_velocity, forward_velocity, horizontal_slew_rate * delta) + horizontal_velocity = horizontal_velocity.lerp(forward_velocity, horizontal_slew_rate * delta) # Perform the glide var glide_velocity := horizontal_velocity + vertical_velocity * player_body.up_gravity_vector @@ -213,22 +213,24 @@ func _set_gliding(active: bool) -> void: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Verify the left controller - if !ARVRHelpers.get_left_controller(self): - return "Unable to find left ARVRController node" + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") # Verify the right controller - if !ARVRHelpers.get_right_controller(self): - return "Unable to find right ARVRController node" + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find right XRController3D node") # Check glide parameters if glide_min_fall_speed > 0: - return "Glide minimum fall speed must be zero or less" + warnings.append("Glide minimum fall speed must be zero or less") if glide_fall_speed > 0: - return "Glide fall speed must be zero or less" + warnings.append("Glide fall speed must be zero or less") if glide_min_fall_speed < glide_fall_speed: - return "Glide fall speed must be faster than minimum fall speed" + warnings.append("Glide fall speed must be faster than minimum fall speed") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_glide.tscn b/addons/godot-xr-tools/functions/movement_glide.tscn index 372ff37a..9aed0f39 100644 --- a/addons/godot-xr-tools/functions/movement_glide.tscn +++ b/addons/godot-xr-tools/functions/movement_glide.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://cvokcudrffkgc"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_glide.gd" id="1"] [node name="MovementGlide" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_grapple.gd b/addons/godot-xr-tools/functions/movement_grapple.gd index 141a8038..5bef0b1f 100644 --- a/addons/godot-xr-tools/functions/movement_grapple.gd +++ b/addons/godot-xr-tools/functions/movement_grapple.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementGrapple extends XRToolsMovementProvider @@ -8,7 +8,7 @@ extends XRToolsMovementProvider ## This script provide simple grapple based movement - "bat hook" style ## where the player flings a rope to the target and swings on it. ## This script works with the [XRToolsPlayerBody] attached to the players -## [ARVROrigin]. +## [XROrigin3D]. ## Signal emitted when grapple starts @@ -31,36 +31,36 @@ const DEFAULT_MASK := 0b0000_0000_0000_0000_0000_0000_0000_0001 ## Movement provider order -export var order : int = 20 +@export var order : int = 20 ## Grapple length - use to adjust maximum distance for possible grapple hooking. -export var grapple_length : float = 15.0 +@export var grapple_length : float = 15.0 ## Grapple collision mask -export (int, LAYERS_3D_PHYSICS) \ - var grapple_collision_mask : int = DEFAULT_MASK setget _set_grapple_collision_mask +@export_flags_3d_physics \ + var grapple_collision_mask : int = DEFAULT_MASK: set = _set_grapple_collision_mask ## Impulse speed applied to the player on first grapple -export var impulse_speed : float = 10.0 +@export var impulse_speed : float = 10.0 ## Winch speed applied to the player while the grapple is held -export var winch_speed : float = 2.0 +@export var winch_speed : float = 2.0 ## Probably need to add export variables for line size, maybe line material at ## some point so dev does not need to make children editable to do this. ## For now, right click on grapple node and make children editable to edit these ## facets. -export var rope_width : float = 0.02 +@export var rope_width : float = 0.02 ## Air friction while grappling -export var friction : float = 0.1 +@export var friction : float = 0.1 ## Grapple button (triggers grappling movement). Be sure this button does not ## conflict with other functions. -export (XRTools.Buttons) var grapple_button_id : int = XRTools.Buttons.VR_TRIGGER +@export var grapple_button_action : String = "trigger_click" # Hook related variables -var hook_object : Spatial = null +var hook_object : Node3D = null var hook_local := Vector3(0,0,0) var hook_point := Vector3(0,0,0) @@ -68,39 +68,42 @@ var hook_point := Vector3(0,0,0) var _grapple_button := false # Get line creation nodes -onready var _line_helper : Spatial = $LineHelper -onready var _line : CSGCylinder = $LineHelper/Line +@onready var _line_helper : Node3D = $LineHelper +@onready var _line : CSGCylinder3D = $LineHelper/Line # Get Controller node - consider way to universalize this if user wanted to # attach this to a gun instead of player's hand. Could consider variable to # select controller instead. -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) # Get Raycast node -onready var _grapple_raycast : RayCast = $Grapple_RayCast +@onready var _grapple_raycast : RayCast3D = $Grapple_RayCast # Get Grapple Target Node -onready var _grapple_target : Spatial = $Grapple_Target +@onready var _grapple_target : Node3D = $Grapple_Target -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementGrapple" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementGrapple" or super(name) # Function run when node is added to scene func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Skip if running in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Ensure grapple length is valid - var min_hook_length := 1.5 * ARVRServer.world_scale + var min_hook_length := 1.5 * XRServer.world_scale if grapple_length < min_hook_length: grapple_length = min_hook_length # Set ray-cast - _grapple_raycast.cast_to = Vector3(0, 0, -grapple_length) * ARVRServer.world_scale + _grapple_raycast.target_position = Vector3(0, 0, -grapple_length) * XRServer.world_scale _grapple_raycast.collision_mask = grapple_collision_mask # Deal with line @@ -111,7 +114,7 @@ func _ready(): # Update grapple display objects func _process(_delta: float): # Skip if running in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Update grapple line @@ -119,7 +122,7 @@ func _process(_delta: float): var line_length := (hook_point - _controller.global_transform.origin).length() _line_helper.look_at(hook_point, Vector3.UP) _line.height = line_length - _line.translation.z = line_length / -2 + _line.position.z = line_length / -2 _line.visible = true else: _line.visible = false @@ -142,7 +145,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo # Update grapple button var old_grapple_button := _grapple_button - _grapple_button = _controller.is_button_pressed(grapple_button_id) + _grapple_button = _controller.is_button_pressed(grapple_button_action) # Enable/disable grappling var do_impulse := false @@ -151,7 +154,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo elif _grapple_button and !old_grapple_button and _grapple_raycast.is_colliding(): hook_object = _grapple_raycast.get_collider() hook_point = _grapple_raycast.get_collision_point() - hook_local = hook_object.global_transform.xform_inv(hook_point) + hook_local = hook_point * hook_object.global_transform do_impulse = true _set_grappling(true) @@ -160,7 +163,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo return # Get hook direction - hook_point = hook_object.global_transform.xform(hook_local) + hook_point = hook_object.global_transform * hook_local var hook_vector := hook_point - _controller.global_transform.origin var hook_length := hook_vector.length() var hook_direction := hook_vector / hook_length @@ -210,10 +213,12 @@ func _set_grappling(active: bool) -> void: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Check the controller node - if !ARVRHelpers.get_arvr_controller(self): - return "This node must be within a branch of an ARVRController node" + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_grapple.tscn b/addons/godot-xr-tools/functions/movement_grapple.tscn index 04ada5cc..a812f116 100644 --- a/addons/godot-xr-tools/functions/movement_grapple.tscn +++ b/addons/godot-xr-tools/functions/movement_grapple.tscn @@ -1,30 +1,28 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://c78tjrtiyqna8"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_grapple.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="2_n6olo"] -[sub_resource type="CubeMesh" id=1] +[sub_resource type="BoxMesh" id="1"] resource_local_to_scene = true -size = Vector3( 0.05, 0.05, 0.05 ) +size = Vector3(0.05, 0.05, 0.05) subdivide_depth = 20 -[node name="MovementGrapple" type="Spatial" groups=["movement_providers"]] -script = ExtResource( 1 ) +[node name="MovementGrapple" type="Node3D" groups=["movement_providers"]] +script = ExtResource("1") -[node name="Grapple_RayCast" type="RayCast" parent="."] -enabled = true -cast_to = Vector3( 0, 0, -15 ) +[node name="Grapple_RayCast" type="RayCast3D" parent="."] collision_mask = 3 -debug_shape_custom_color = Color( 0.862745, 0.278431, 0.278431, 1 ) +debug_shape_custom_color = Color(0.862745, 0.278431, 0.278431, 1) debug_shape_thickness = 1 -[node name="Grapple_Target" type="MeshInstance" parent="."] +[node name="Grapple_Target" type="MeshInstance3D" parent="."] visible = false -mesh = SubResource( 1 ) -material/0 = ExtResource( 2 ) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2_n6olo") -[node name="LineHelper" type="Spatial" parent="."] +[node name="LineHelper" type="Node3D" parent="."] -[node name="Line" type="CSGCylinder" parent="LineHelper"] -transform = Transform( 1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0 ) +[node name="Line" type="CSGCylinder3D" parent="LineHelper"] +transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0) radius = 0.02 diff --git a/addons/godot-xr-tools/functions/movement_jump.gd b/addons/godot-xr-tools/functions/movement_jump.gd index 61317562..2ef5d2a9 100644 --- a/addons/godot-xr-tools/functions/movement_jump.gd +++ b/addons/godot-xr-tools/functions/movement_jump.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementJump extends XRToolsMovementProvider @@ -6,27 +6,27 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Jumping ## ## This script provides jumping mechanics for the player. This script works -## with the [XRToolsPlayerBody] attached to the players [ARVROrigin]. +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. ## ## The player enables jumping by attaching an [XRToolsMovementJump] as a -## child of the appropriate [ARVRController], then configuring the jump button +## child of the appropriate [XRController3D], then configuring the jump button ## and jump velocity. ## Movement provider order -export var order : int = 20 +@export var order : int = 20 ## Button to trigger jump -export (XRTools.Buttons) var jump_button_id : int = XRTools.Buttons.VR_TRIGGER +@export var jump_button_action : String = "trigger_click" # Node references -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementJump" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementJump" or super(name) # Perform jump movement @@ -36,15 +36,17 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: return # Request jump if the button is pressed - if _controller.is_button_pressed(jump_button_id): + if _controller.is_button_pressed(jump_button_action): player_body.request_jump() # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Check the controller node - if !ARVRHelpers.get_arvr_controller(self): - return "This node must be within a branch of an ARVRController node" + if !XRHelpers.get_xr_controller(self): + warnings.append("This node must be within a branch of an XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_jump.tscn b/addons/godot-xr-tools/functions/movement_jump.tscn index f663e4e7..187612eb 100644 --- a/addons/godot-xr-tools/functions/movement_jump.tscn +++ b/addons/godot-xr-tools/functions/movement_jump.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://c2q5phg8w08o"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_jump.gd" id="1"] [node name="MovementJump" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) -jump_button_id = null +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.gd b/addons/godot-xr-tools/functions/movement_physical_jump.gd index cacc6c2a..7839afc4 100644 --- a/addons/godot-xr-tools/functions/movement_physical_jump.gd +++ b/addons/godot-xr-tools/functions/movement_physical_jump.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementPhysicalJump extends XRToolsMovementProvider @@ -20,22 +20,22 @@ extends XRToolsMovementProvider ## Movement provider order -export var order : int = 20 +@export var order : int = 20 ## If true, jumps are detected via the players body (through the camera) -export var body_jump_enable : bool = true +@export var body_jump_enable : bool = true ## If true, the player jump is as high as the physical jump(no ground physics) -export var body_jump_player_only : bool = false +@export var body_jump_player_only : bool = false ## Body jump detection threshold (M/S^2) -export var body_jump_threshold : float = 2.5 +@export var body_jump_threshold : float = 2.5 ## If true, jumps are detected via the players arms (through the controllers) -export var arms_jump_enable : bool = false +@export var arms_jump_enable : bool = false ## Arms jump detection threshold (M/S^2) -export var arms_jump_threshold : float = 5.0 +@export var arms_jump_threshold : float = 5.0 # Node Positions @@ -50,10 +50,10 @@ var _controller_right_velocity : SlidingAverage = SlidingAverage.new(5) # Node references -onready var _origin_node := ARVRHelpers.get_arvr_origin(self) -onready var _camera_node := ARVRHelpers.get_arvr_camera(self) -onready var _controller_left_node := ARVRHelpers.get_left_controller(self) -onready var _controller_right_node := ARVRHelpers.get_right_controller(self) +@onready var _origin_node := XRHelpers.get_xr_origin(self) +@onready var _camera_node := XRHelpers.get_xr_camera(self) +@onready var _controller_left_node := XRHelpers.get_left_controller(self) +@onready var _controller_right_node := XRHelpers.get_right_controller(self) # Sliding Average class @@ -91,9 +91,9 @@ class SlidingAverage: return _sum / _size -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementPhysicalJump" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementPhysicalJump" or super(name) # Perform jump detection @@ -108,25 +108,27 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Verify the camera - if !ARVRHelpers.get_arvr_origin(self): - return "This node must be within a branch of an ARVROrigin node" + if !XRHelpers.get_xr_origin(self): + warnings.append("This node must be within a branch of an XROrigin3D node") # Verify the camera - if !ARVRHelpers.get_arvr_camera(self): - return "Unable to find ARVRCamera" + if !XRHelpers.get_xr_camera(self): + warnings.append("Unable to find XRCamera3D") # Verify the left controller - if !ARVRHelpers.get_left_controller(self): - return "Unable to find left ARVRController node" + if !XRHelpers.get_left_controller(self): + warnings.append("Unable to find left XRController3D node") # Verify the right controller - if !ARVRHelpers.get_right_controller(self): - return "Unable to find left ARVRController node" + if !XRHelpers.get_right_controller(self): + warnings.append("Unable to find left XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings # Detect the player jumping with their body (using the headset camera) @@ -141,7 +143,7 @@ func _detect_body_jump(delta: float, player_body: XRToolsPlayerBody) -> void: return; # Correct for world-scale (convert to player units) - camera_vel /= ARVRServer.world_scale + camera_vel /= XRServer.world_scale # Clamp the camera instantaneous velocity to +/- 2x the jump threshold camera_vel = clamp(camera_vel, -2.0 * body_jump_threshold, 2.0 * body_jump_threshold) @@ -173,8 +175,8 @@ func _detect_arms_jump(delta: float, player_body: XRToolsPlayerBody) -> void: return # Correct for world-scale (convert to player units) - controller_left_vel /= ARVRServer.world_scale - controller_right_vel /= ARVRServer.world_scale + controller_left_vel /= XRServer.world_scale + controller_right_vel /= XRServer.world_scale # Clamp the controller instantaneous velocity to +/- 2x the jump threshold controller_left_vel = clamp( diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.tscn b/addons/godot-xr-tools/functions/movement_physical_jump.tscn index 3eecde88..6386085d 100644 --- a/addons/godot-xr-tools/functions/movement_physical_jump.tscn +++ b/addons/godot-xr-tools/functions/movement_physical_jump.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://ckt118vcpmr6q"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_physical_jump.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_physical_jump.gd" id="1"] [node name="MovementPhysicalJump" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") arms_jump_enable = true diff --git a/addons/godot-xr-tools/functions/movement_provider.gd b/addons/godot-xr-tools/functions/movement_provider.gd index d398233d..5ccc1a77 100644 --- a/addons/godot-xr-tools/functions/movement_provider.gd +++ b/addons/godot-xr-tools/functions/movement_provider.gd @@ -1,5 +1,6 @@ -tool -class_name XRToolsMovementProvider, "res://addons/godot-xr-tools/editor/icons/movement_provider.svg" +@tool +@icon("res://addons/godot-xr-tools/editor/icons/movement_provider.svg") +class_name XRToolsMovementProvider extends Node @@ -19,7 +20,7 @@ const PLAYER_BODY := preload("res://addons/godot-xr-tools/player/player_body.tsc ## Enable movement provider -export var enabled : bool = true +@export var enabled : bool = true ## If true, the movement provider is actively performing a move @@ -29,30 +30,30 @@ var is_active := false # If missing we need to add our [XRToolsPlayerBody] func _create_player_body_node(): # get our origin node - var arvr_origin := ARVRHelpers.get_arvr_origin(self) - if !arvr_origin: + var xr_origin = XRHelpers.get_xr_origin(self) + if !xr_origin: return # Double check if it hasn't already been created by another movement function var player_body := XRToolsPlayerBody.find_instance(self) if !player_body: # create our XRToolsPlayerBody node and add it into our tree - player_body = PLAYER_BODY.instance() + player_body = PLAYER_BODY.instantiate() player_body.set_name("PlayerBody") - arvr_origin.add_child(player_body) + xr_origin.add_child(player_body) player_body.set_owner(get_tree().get_edited_scene_root()) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementProvider" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementProvider" # Function run when node is added to scene func _ready(): # If we're in the editor, help the user out by creating our XRToolsPlayerBody node # automatically when needed. - if Engine.editor_hint: + if Engine.is_editor_hint(): var player_body = XRToolsPlayerBody.find_instance(self) if !player_body: # This call needs to be deferred, we can't add nodes during scene construction @@ -70,21 +71,23 @@ func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, _disabled: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): - # Verify we're within the tree of an ARVROrigin node - if !ARVRHelpers.get_arvr_origin(self): - return "This node must be within a branch on an ARVROrigin node" +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + + # Verify we're within the tree of an XROrigin3D node + if !XRHelpers.get_xr_origin(self): + warnings.append("This node must be within a branch on an XROrigin3D node") if !XRToolsPlayerBody.find_instance(self): - return "Missing PlayerBody node on the ARVROrigin" + warnings.append("Missing PlayerBody node on the XROrigin3D") # Verify movement provider is in the correct group if !is_in_group("movement_providers"): - return "Movement provider not in 'movement_providers' group" + warnings.append("Movement provider not in 'movement_providers' group") # Verify order property exists if !"order" in self: - return "Movement provider does not expose an order property" + warnings.append("Movement provider does not expose an order property") - # Passed basic validation - return "" + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_sprint.gd b/addons/godot-xr-tools/functions/movement_sprint.gd index 8330d306..6cd96b35 100644 --- a/addons/godot-xr-tools/functions/movement_sprint.gd +++ b/addons/godot-xr-tools/functions/movement_sprint.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementSprint extends XRToolsMovementProvider @@ -10,7 +10,7 @@ extends XRToolsMovementProvider ## ## There will not be an error, there just will not be any reason for it to ## have any impact on the player. This node should be a direct child of -## the [ARVROrigin] node rather than to a specific [ARVRController]. +## the [XROrigin3D] node rather than to a specific [XRController3D]. ## Signal emitted when sprinting starts @@ -35,23 +35,23 @@ enum SprintType { ## Type of sprinting -export (SprintType) var sprint_type : int = SprintType.HOLD_TO_SPRINT +@export var sprint_type : SprintType = SprintType.HOLD_TO_SPRINT ## Sprint speed multiplier (multiplier from speed set by direct movement node(s)) -export (float, 1.0, 4.0) var sprint_speed_multiplier : float = 2.0 +@export_range(1.0, 4.0) var sprint_speed_multiplier : float = 2.0 ## Movement provider order -export var order : int = 11 +@export var order : int = 11 ## Sprint controller -export (SprintController) var controller : int = SprintController.LEFT +@export var controller : SprintController = SprintController.LEFT ## Sprint button -export (XRTools.Buttons) var sprint_button : int = XRTools.Buttons.VR_PAD +@export var sprint_button : String = "primary_click" # Sprint controller -var _controller : ARVRController +var _controller : XRController3D # Sprint button down state var _sprint_button_down : bool = false @@ -64,24 +64,27 @@ var _right_controller_original_max_speed : float = 0.0 # Variable used to cache left controller direct movement function, if any -onready var _left_controller_direct_move := XRToolsMovementDirect.find_left(self) +@onready var _left_controller_direct_move := XRToolsMovementDirect.find_left(self) # Variable used to cache right controller direct movement function, if any -onready var _right_controller_direct_move := XRToolsMovementDirect.find_right(self) +@onready var _right_controller_direct_move := XRToolsMovementDirect.find_right(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementSprint" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementSprint" or super(name) func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Get the sprinting controller if controller == SprintController.LEFT: - _controller = ARVRHelpers.get_left_controller(self) + _controller = XRHelpers.get_left_controller(self) else: - _controller = ARVRHelpers.get_right_controller(self) + _controller = XRHelpers.get_right_controller(self) # Perform sprinting @@ -92,7 +95,7 @@ func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, disabled: return # Detect sprint button down and pressed states - var sprint_button_down := _controller.is_button_pressed(sprint_button) != 0 + var sprint_button_down := _controller.is_button_pressed(sprint_button) var sprint_button_pressed := sprint_button_down and !_sprint_button_down _sprint_button_down = sprint_button_down @@ -155,21 +158,12 @@ func set_sprinting(active: bool) -> void: # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Make sure player has at least one direct movement node if !XRToolsMovementDirect.find_left(self) and !XRToolsMovementDirect.find_right(self): - return "Unable to find XRToolsMovementDirect instance for player to support sprinting" - - # Call base class - return ._get_configuration_warning() + warnings.append("Player missing XRToolsMovementDirect nodes") - -## Find an [XRToolsMovementSprint] node. -## -## This function searches from the specified node for an [XRToolsMovementSprint] -## assuming the node is a sibling of the body under an [ARVROrigin]. -static func find_instance(node: Node) -> XRToolsMovementSprint: - return XRTools.find_child( - ARVRHelpers.get_arvr_origin(node), - "*", - "XRToolsMovementSprint") as XRToolsMovementSprint + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/functions/movement_sprint.tscn b/addons/godot-xr-tools/functions/movement_sprint.tscn index 5a36a045..1d71468a 100644 --- a/addons/godot-xr-tools/functions/movement_sprint.tscn +++ b/addons/godot-xr-tools/functions/movement_sprint.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://drs4eeq721ojn"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_sprint.gd" id="1"] [node name="MovementSprint" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_turn.gd b/addons/godot-xr-tools/functions/movement_turn.gd index 2f874998..b64b601e 100644 --- a/addons/godot-xr-tools/functions/movement_turn.gd +++ b/addons/godot-xr-tools/functions/movement_turn.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementTurn extends XRToolsMovementProvider @@ -6,7 +6,7 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Turning ## ## This script provides turning support for the player. This script works -## with the PlayerBody attached to the players [ARVROrigin]. +## with the PlayerBody attached to the players XROrigin3D. ## Movement mode @@ -18,32 +18,34 @@ enum TurnMode { ## Movement provider order -export var order : int = 5 +@export var order : int = 5 ## Movement mode property -export (TurnMode) var turn_mode = TurnMode.DEFAULT +@export var turn_mode : TurnMode = TurnMode.DEFAULT ## Smooth turn speed in radians per second -export var smooth_turn_speed : float = 2.0 +@export var smooth_turn_speed : float = 2.0 -## Seconds per step (at maximum turn rate), 0 for single turn -export var step_turn_delay : float = 0.2 +## Seconds per step (at maximum turn rate) +@export var step_turn_delay : float = 0.2 ## Step turn angle in degrees -export var step_turn_angle : float = 20.0 +@export var step_turn_angle : float = 20.0 +## Our directional input +@export var input_action : String = "primary" # Turn step accumulator var _turn_step : float = 0.0 # Controller node -onready var _controller := ARVRHelpers.get_arvr_controller(self) +@onready var _controller := XRHelpers.get_xr_controller(self) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementTurn" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementTurn" or super(name) # Perform jump movement @@ -57,7 +59,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b deadzone = XRTools.get_snap_turning_deadzone() # Read the left/right joystick axis - var left_right := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_X_AXIS) + var left_right := _controller.get_vector2(input_action).x if abs(left_right) <= deadzone: # Not turning _turn_step = 0.0 @@ -81,17 +83,19 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b # Turn one step in the requested direction if step_turn_delay != 0.0: _turn_step = step_turn_delay - player_body.rotate_player(deg2rad(step_turn_angle) * sign(left_right)) + player_body.rotate_player(deg_to_rad(step_turn_angle) * sign(left_right)) # This method verifies the movement provider has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super() + # Check the controller node - if !ARVRHelpers.get_arvr_controller(self): - return "Unable to find ARVR Controller node" + if !XRHelpers.get_xr_controller(self): + warnings.append("Unable to find XRController3D node") - # Call base class - return ._get_configuration_warning() + # Return warnings + return warnings # Test if snap turning should be used diff --git a/addons/godot-xr-tools/functions/movement_turn.tscn b/addons/godot-xr-tools/functions/movement_turn.tscn index 2933c621..8ae0f7d1 100644 --- a/addons/godot-xr-tools/functions/movement_turn.tscn +++ b/addons/godot-xr-tools/functions/movement_turn.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://b6bk2pj8vbj28"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_turn.gd" id="1"] [node name="MovementTurn" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.gd b/addons/godot-xr-tools/functions/movement_wall_walk.gd index 4cfe6b10..47169a2e 100644 --- a/addons/godot-xr-tools/functions/movement_wall_walk.gd +++ b/addons/godot-xr-tools/functions/movement_wall_walk.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementWallWalk extends XRToolsMovementProvider @@ -8,17 +8,16 @@ const DEFAULT_MASK := 0b0000_0000_0000_0000_0000_0000_0000_1000 ## Wall walking provider order -export var order : int = 25 +@export var order : int = 25 ## Set our follow layer mask -export (int, LAYERS_3D_PHYSICS) var follow_mask : int = DEFAULT_MASK +@export_flags_3d_physics var follow_mask : int = DEFAULT_MASK ## Wall stick distance -export var stick_distance : float = 1.0 +@export var stick_distance : float = 1.0 ## Wall stick strength -export var stick_strength : float = 9.8 - +@export var stick_strength : float = 9.8 func physics_pre_movement(_delta: float, player_body: XRToolsPlayerBody): @@ -29,8 +28,8 @@ func physics_pre_movement(_delta: float, player_body: XRToolsPlayerBody): return # Get the wall information - var wall_node := wall_collision.collider - var wall_normal := wall_collision.normal + var wall_node := wall_collision.get_collider() + var wall_normal := wall_collision.get_normal() # Skip if the wall node doesn't have a collision layer if not "collision_layer" in wall_node: diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.tscn b/addons/godot-xr-tools/functions/movement_wall_walk.tscn index ad16a85e..664f3323 100644 --- a/addons/godot-xr-tools/functions/movement_wall_walk.tscn +++ b/addons/godot-xr-tools/functions/movement_wall_walk.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bk6ban0hctyym"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wall_walk.gd" id="1"] [node name="MovementWallWalk" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/functions/movement_wind.gd b/addons/godot-xr-tools/functions/movement_wind.gd index d41c36e5..d24a345a 100644 --- a/addons/godot-xr-tools/functions/movement_wind.gd +++ b/addons/godot-xr-tools/functions/movement_wind.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsMovementWind extends XRToolsMovementProvider @@ -6,7 +6,7 @@ extends XRToolsMovementProvider ## XR Tools Movement Provider for Wind ## ## This script provides wind mechanics for the player. This script works -## with the [XRToolsPlayerBody] attached to the players [ARVROrigin]. +## with the [XRToolsPlayerBody] attached to the players [XROrigin3D]. ## ## When the player enters an [XRToolsWindArea], the wind pushes the player ## around, and can even lift the player into the air. @@ -21,17 +21,17 @@ const DEFAULT_MASK := 0b0000_0000_0000_1000_0000_0000_0000_0000 ## Movement provider order -export var order : int = 25 +@export var order : int = 25 ## Drag multiplier for the player -export var drag_multiplier : float = 1.0 +@export var drag_multiplier : float = 1.0 # Set our collision mask -export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask +@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask # Wind detection area -var _sense_area : Area +var _sense_area : Area3D # Array of wind areas the player is in var _in_wind_areas := Array() @@ -40,33 +40,36 @@ var _in_wind_areas := Array() var _active_wind_area : XRToolsWindArea -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMovementWind" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMovementWind" or super(name) # Called when the node enters the scene tree for the first time. func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Skip if running in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Skip if we don't have a camera - var camera := ARVRHelpers.get_arvr_camera(self) + var camera := XRHelpers.get_xr_camera(self) if !camera: return # Construct the sphere shape - var sphere_shape := SphereShape.new() + var sphere_shape := SphereShape3D.new() sphere_shape.radius = 0.3 # Construct the collision shape - var collision_shape := CollisionShape.new() + var collision_shape := CollisionShape3D.new() collision_shape.set_name("WindSensorShape") collision_shape.shape = sphere_shape # Construct the sense area - _sense_area = Area.new() + _sense_area = Area3D.new() _sense_area.set_name("WindSensorArea") _sense_area.collision_mask = collision_mask _sense_area.add_child(collision_shape) @@ -75,8 +78,8 @@ func _ready(): camera.add_child(_sense_area) # Subscribe to area notifications - _sense_area.connect("area_entered", self, "_on_area_entered") - _sense_area.connect("area_exited", self, "_on_area_exited") + _sense_area.area_entered.connect(_on_area_entered) + _sense_area.area_exited.connect(_on_area_exited) func set_collision_mask(new_mask: int) -> void: @@ -85,7 +88,7 @@ func set_collision_mask(new_mask: int) -> void: _sense_area.collision_mask = collision_mask -func _on_area_entered(area: Area): +func _on_area_entered(area: Area3D): # Skip if not wind area var wind_area = area as XRToolsWindArea if !wind_area: @@ -99,7 +102,7 @@ func _on_area_entered(area: Area): emit_signal("wind_area_changed", _active_wind_area) -func _on_area_exited(area: Area): +func _on_area_exited(area: Area3D): # Erase from the wind area _in_wind_areas.erase(area) @@ -108,7 +111,7 @@ func _on_area_exited(area: Area): return # Select a new active wind area - if _in_wind_areas.empty(): + if _in_wind_areas.is_empty(): _active_wind_area = null else: _active_wind_area = _in_wind_areas.front() @@ -124,9 +127,9 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b return # Calculate the global wind velocity of the wind area - var wind_velocity := _active_wind_area.global_transform.basis.xform(_active_wind_area.wind_vector) + var wind_velocity := _active_wind_area.global_transform.basis * _active_wind_area.wind_vector # Drag the player into the wind var drag_factor := _active_wind_area.drag * drag_multiplier * delta drag_factor = clamp(drag_factor, 0.0, 1.0) - player_body.velocity = lerp(player_body.velocity, wind_velocity, drag_factor) + player_body.velocity = player_body.velocity.lerp(wind_velocity, drag_factor) diff --git a/addons/godot-xr-tools/functions/movement_wind.tscn b/addons/godot-xr-tools/functions/movement_wind.tscn index 3a59c41e..2461b1aa 100644 --- a/addons/godot-xr-tools/functions/movement_wind.tscn +++ b/addons/godot-xr-tools/functions/movement_wind.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bgts3vpmjn6bb"] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wind.gd" id="1"] [node name="MovementWind" type="Node" groups=["movement_providers"]] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn index f59522b5..3a4374ca 100644 --- a/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn +++ b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn @@ -1,74 +1,81 @@ -[gd_scene load_steps=36 format=2] +[gd_scene load_steps=37 format=3 uid="uid://the6y7swe6j0"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip.anim" type="Animation" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Hold.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.anim" type="Animation" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Horns.anim" type="Animation" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Cup.anim" type="Animation" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Default pose.anim" type="Animation" id=7] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.anim" type="Animation" id=8] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.anim" type="Animation" id=9] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=10] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim" type="Animation" id=11] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Straight.anim" type="Animation" id=12] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.anim" type="Animation" id=13] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.anim" type="Animation" id=14] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.anim" type="Animation" id=15] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Surfer.anim" type="Animation" id=16] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Thumb.anim" type="Animation" id=17] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Metal.anim" type="Animation" id=18] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.anim" type="Animation" id=19] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim" type="Animation" id=20] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/PingPong.anim" type="Animation" id=21] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Middle.anim" type="Animation" id=22] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim" type="Animation" id=23] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim" type="Animation" id=24] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.anim" type="Animation" id=25] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/OK.anim" type="Animation" id=26] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinky.anim" type="Animation" id=27] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Peace.anim" type="Animation" id=28] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Ring.anim" type="Animation" id=29] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Rounded.anim" type="Animation" id=30] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.anim" type="Animation" id=31] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.anim" type="Animation" id=32] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim" type="Animation" id=33] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.anim" type="Animation" id=34] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pistol.anim" type="Animation" id=35] +[ext_resource type="Animation" uid="uid://dgfeikrugfewi" path="res://addons/godot-xr-tools/hands/animations/left/Cup.res" id="1_7svyl"] +[ext_resource type="Animation" uid="uid://dlxa6f6hwurka" path="res://addons/godot-xr-tools/hands/animations/left/Default pose.res" id="2_ykhfd"] +[ext_resource type="Animation" uid="uid://dqa0h82y3qn1t" path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.res" id="3_y80ds"] +[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="4_1nbr8"] +[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="5_28lp1"] +[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="6_uj648"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="7_yxjeh"] +[ext_resource type="Animation" uid="uid://nq3xh1olqipq" path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.res" id="8_i0ro5"] +[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="9_811qe"] +[ext_resource type="Animation" uid="uid://bi1l6lre2w2lp" path="res://addons/godot-xr-tools/hands/animations/left/Hold.res" id="10_o5u3q"] +[ext_resource type="Animation" uid="uid://c3e6h0rv2uw2d" path="res://addons/godot-xr-tools/hands/animations/left/Horns.res" id="11_i2b8g"] +[ext_resource type="Animation" uid="uid://dfekure1r6q13" path="res://addons/godot-xr-tools/hands/animations/left/Metal.res" id="12_yoig6"] +[ext_resource type="Animation" uid="uid://b0rhk4r0r0t32" path="res://addons/godot-xr-tools/hands/animations/left/Middle.res" id="13_kvhwh"] +[ext_resource type="Animation" uid="uid://f5k0gh4qnmv5" path="res://addons/godot-xr-tools/hands/animations/left/OK.res" id="14_ofab3"] +[ext_resource type="Animation" uid="uid://1nlkfvitq7ku" path="res://addons/godot-xr-tools/hands/animations/left/Peace.res" id="15_a4q3y"] +[ext_resource type="Animation" uid="uid://dhjb0e334tfwl" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.res" id="16_ixe2d"] +[ext_resource type="Animation" uid="uid://dkjsnihi81b7p" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.res" id="17_oifug"] +[ext_resource type="Animation" uid="uid://bn0fdhe2jwq3h" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.res" id="18_2ic2e"] +[ext_resource type="Animation" uid="uid://bo1b8w0s4ci81" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.res" id="19_4a8v4"] +[ext_resource type="Animation" uid="uid://m5x2m8x3tcel" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.res" id="20_ugc01"] +[ext_resource type="Animation" uid="uid://fi23m6i7orhw" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.res" id="21_l3kgg"] +[ext_resource type="Animation" uid="uid://c8qmcuyaltdnw" path="res://addons/godot-xr-tools/hands/animations/left/PingPong.res" id="22_j83er"] +[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="23_sm4sd"] +[ext_resource type="Animation" uid="uid://ddbo6ioa282en" path="res://addons/godot-xr-tools/hands/animations/left/Pistol.res" id="24_r4kss"] +[ext_resource type="Animation" uid="uid://brkptjihht3ae" path="res://addons/godot-xr-tools/hands/animations/left/Ring.res" id="25_2ncut"] +[ext_resource type="Animation" uid="uid://cnng6xumhw7cx" path="res://addons/godot-xr-tools/hands/animations/left/Rounded.res" id="26_02lfv"] +[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="27_o5si3"] +[ext_resource type="Animation" uid="uid://cc6phxovf1ban" path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.res" id="28_ble5k"] +[ext_resource type="Animation" uid="uid://ohthjp8qbcc4" path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.res" id="29_twq1x"] +[ext_resource type="Animation" uid="uid://dmx42g64577g5" path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.res" id="30_eyeuv"] +[ext_resource type="Animation" uid="uid://dhsoxntrktx0p" path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.res" id="31_50jrs"] +[ext_resource type="Animation" uid="uid://c0u2a3yc2vhg8" path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.res" id="32_7v122"] +[ext_resource type="Animation" uid="uid://4g211my0hoiw" path="res://addons/godot-xr-tools/hands/animations/left/Straight.res" id="33_m3lif"] +[ext_resource type="Animation" uid="uid://d06l7hygl4qt3" path="res://addons/godot-xr-tools/hands/animations/left/Surfer.res" id="34_b3p10"] +[ext_resource type="Animation" uid="uid://bxei4oebd4hu3" path="res://addons/godot-xr-tools/hands/animations/left/Thumb.res" id="35_huikq"] + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_kw48d"] +_data = { +"Cup": ExtResource("1_7svyl"), +"Default pose": ExtResource("2_ykhfd"), +"Grip": ExtResource("9_811qe"), +"Grip 1": ExtResource("3_y80ds"), +"Grip 2": ExtResource("4_1nbr8"), +"Grip 3": ExtResource("5_28lp1"), +"Grip 4": ExtResource("6_uj648"), +"Grip 5": ExtResource("7_yxjeh"), +"Grip Shaft": ExtResource("8_i0ro5"), +"Hold": ExtResource("10_o5u3q"), +"Horns": ExtResource("11_i2b8g"), +"Metal": ExtResource("12_yoig6"), +"Middle": ExtResource("13_kvhwh"), +"OK": ExtResource("14_ofab3"), +"Peace": ExtResource("15_a4q3y"), +"Pinch Flat": ExtResource("16_ixe2d"), +"Pinch Large": ExtResource("17_oifug"), +"Pinch Middle": ExtResource("18_2ic2e"), +"Pinch Ring": ExtResource("19_4a8v4"), +"Pinch Tight": ExtResource("20_ugc01"), +"Pinch Up": ExtResource("21_l3kgg"), +"PingPong": ExtResource("22_j83er"), +"Pinky": ExtResource("23_sm4sd"), +"Pistol": ExtResource("24_r4kss"), +"Ring": ExtResource("25_2ncut"), +"Rounded": ExtResource("26_02lfv"), +"Sign 1": ExtResource("27_o5si3"), +"Sign 2": ExtResource("28_ble5k"), +"Sign 3": ExtResource("29_twq1x"), +"Sign 4": ExtResource("30_eyeuv"), +"Sign 5": ExtResource("31_50jrs"), +"Sign_Point": ExtResource("32_7v122"), +"Straight": ExtResource("33_m3lif"), +"Surfer": ExtResource("34_b3p10"), +"Thumb": ExtResource("35_huikq") +} [node name="AnimationPlayer" type="AnimationPlayer"] -anims/Cup = ExtResource( 5 ) -"anims/Default pose" = ExtResource( 7 ) -anims/Grip = ExtResource( 1 ) -"anims/Grip 1" = ExtResource( 9 ) -"anims/Grip 2" = ExtResource( 10 ) -"anims/Grip 3" = ExtResource( 3 ) -"anims/Grip 4" = ExtResource( 8 ) -"anims/Grip 5" = ExtResource( 6 ) -"anims/Grip Shaft" = ExtResource( 11 ) -anims/Hold = ExtResource( 2 ) -anims/Horns = ExtResource( 4 ) -anims/Metal = ExtResource( 18 ) -anims/Middle = ExtResource( 22 ) -anims/OK = ExtResource( 26 ) -anims/Peace = ExtResource( 28 ) -"anims/Pinch Flat" = ExtResource( 23 ) -"anims/Pinch Large" = ExtResource( 19 ) -"anims/Pinch Middle" = ExtResource( 20 ) -"anims/Pinch Ring" = ExtResource( 33 ) -"anims/Pinch Tight" = ExtResource( 24 ) -"anims/Pinch Up" = ExtResource( 25 ) -anims/PingPong = ExtResource( 21 ) -anims/Pinky = ExtResource( 27 ) -anims/Pistol = ExtResource( 35 ) -anims/Ring = ExtResource( 29 ) -anims/Rounded = ExtResource( 30 ) -"anims/Sign 1" = ExtResource( 32 ) -"anims/Sign 2" = ExtResource( 31 ) -"anims/Sign 3" = ExtResource( 34 ) -"anims/Sign 4" = ExtResource( 13 ) -"anims/Sign 5" = ExtResource( 14 ) -anims/Sign_Point = ExtResource( 15 ) -anims/Straight = ExtResource( 12 ) -anims/Surfer = ExtResource( 16 ) -anims/Thumb = ExtResource( 17 ) +libraries = { +"": SubResource("AnimationLibrary_kw48d") +} diff --git a/addons/godot-xr-tools/hands/animations/left/Cup.anim b/addons/godot-xr-tools/hands/animations/left/Cup.anim deleted file mode 100644 index 3639e931c0141797ac73ac2664185e88d2f9f8fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9874 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 RjqOJ>(g=7;pqk*Z`+vtE{cZpN literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Default pose.anim b/addons/godot-xr-tools/hands/animations/left/Default pose.anim deleted file mode 100644 index fc098572c80f78d966644195184d4697dab4a49b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9892 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 1.anim b/addons/godot-xr-tools/hands/animations/left/Grip 1.anim deleted file mode 100644 index b6f7340f6988a64ad3fd661cc08aa472f50501c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 zcmbtaZE#f88NNh7i?yHzv2~(RTB`xv?9KNV2}o5ev7?UD7~VyH z9G8jHt&q0wDwm@v+t*}bX@l&!bi6yA%H*t0`@VEpD;Zmn07*h!vddbVy+$jq zVxi3?d8zGhCL}qz&8wW?=91jx=8|}Hb4e__xg;;V{mp`sOqt%Gf>8-drZ-4!dQ-7F zPM9Rnn)C)MB+2wPosZA#uLMdXX^ixyVx1&ydZSoKlId;A^aiDoG)8(;u}+dUy-_SA z$@Dg5dV|tP8Y8`_SSLxF-Y6E5WO|!2y+LUtjgj6|tdpcoZxjnjGQCZi-k>y+#z=1} z)=AQ)H;QdZ^d&aik%^~s0ERIRV>Sl9={80pvChs^G8P+Qk^=4+}QmI5XvO1RR z%tm7B=b3CIVXe$X?!+AB(c6eN&d_$i!~ZkRYhcPS=tmxETYQIcJ>YnZ-McDUZp1Ua zOmD^XMg=EC3sHLO(e!#86JY0IZyRk>N!Q-vcb27_>+5$VYG7|KU)7>vhdH z%znBs+ zKQmnR;xmWtS#!GZk9{j!X@Ag~(D0mutG^EuN+(|d8+1Y^&Q~#%ldl0QC-*b_b%xu4 zr4u?&>__yShaNdtaja$deAUcD{jYm2{A&`femSO;PGVq#PUyG#6&T7%2e5L|$*{%n zN?_?^BuZxqLb$TTXp3HA^jDUQY^8N-#R+LAus?;v)vrP?>0~w7pcDG1lsJZR@(p0+ zq>JGM!`;Br3GHBdv_*C_l{TN-J~X^*aJ+>3IF5W%~SKosPrIQE2 z2A$BqF08>&PI`frleG+gli`PerIV3gfrgW|fz!#7mIpt&eCWcvZx!w@FQzb^DKtDM z;p)GINu`sA!3Ld72KQ|YpW5 z=2(|o1~*Tb-tx+D*`XO5o-Aa~_1I3-+At@f>Nlg8bg~6((8<-{wqhtJ+klmmpECR` z!_NUrCnH!B+VMu^HGLf|JMMeDdCNZ!7f${yVc%8c#D8~%tN$4$lur7=2A!0GdmckM z*$%9n>|po>hF=7hPCz=337gh89_?AyJbZV>Mb3Ct4W$>U--$Bm(T z99TKo#qe&1_W(;L{kXH}wA+jwPuMWW8Aotk{Juy#-v4POT>URFk#zD)ut6tuO$UK; zG61Zc;6`>aB)NDWuyj&NC3wqa<`vgZn*Hppe?2sGa!=vq54^j}?<8FPeoQKzyaG1p zWE!|vF_e=7z{<&M4F8(pgTT^Bxd|HM?7;SlLd#IuxY-j&o+{+`XYBn!N$fvQ!qpF9 zQt4zEY|zQI;0|FZCk0^TRG(dL0;uNJm0N!m{2 zjt^IV1ihq_qhNzhJ_+s(4CUlEz{<&+3?F0oIIwgA(*E{qM5k?=-neYVk!IuERC~wM zddN?Z;p*Q)nRN17ut6uE0{1%%<>YN(<>dDazr*keV7(K(K<9hwiK#~0i3+U447C>I z#J^AM+W%Sq2UJKWe*_zJaviuoVJIhm23Ah~!thCk-vz#i6TF(IaB&{Rb3{2}C!;FB M^Vs!^@qg0(3oWejUjP6A diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 1.res b/addons/godot-xr-tools/hands/animations/left/Grip 1.res new file mode 100644 index 0000000000000000000000000000000000000000..690ade767ce8b5aa522d414d23e2a439ae8e0056 GIT binary patch literal 6017 zcma)=S#VQj6vrk9vH^+C3iXbzVE@#oasO3p7YOd()53q z+Pd1Ag7NbJ`aKYIl@d=z^th^+1418Anac+zZRq!pW;OqZ_ylGigsRfOuw9ddhu}qB zo1Bn!RdI!cVeqoPwLRGsu95XfG@_*L+w6t9$|MW>qqP(mN)UJjVmq1 z&SWy*MZSb0-=kayn|;fZOjgHroyTkRkuTvjx|B1aFpgN>k3vtA(`vgGmBR@&3Lm_# zhSO15kp)6x9aADnS?CX)gsimatpfQbB~&#PPO33k=nJpXx}3`I=vpM&mKLXpdRIyo z$R}cT;>nb%>2fUp9k9Bx5@||6lf0qTOhw>b2(s0QlfP^#|E;omd4vuvLcMdF+?B?5 z4u-`c@>m=qhs7b%EU?V5I7BXsL!?=p42zS?;^eV785US(Se$$oC&S`mSX^8d7mvlo zu)s3I;^MQo7#26f;^wlrc`R;*1(q2WH=o7Luy`0250}NmWAQL7u*|S{_$(fV#mlgG zxh!5Di z{0vKgVF_?q0z8%g!vf0;OMuT3D6o*zrxA({BY4T_({5R5hw>OE&A2Px&*vREO{4t+ z5IGmwO*`?5_w$j5TSoq3Box3H$xh(neFn+OV2p%AxOksIGGZ7bp&Z6Yb`WDrBZ={+ zWJNJX!dYCr&mb9TjFC_rV&>~zMKMm%FAE1xkE4(Q^22FZwMjD#{8BiSL1Esd1MNLEZ^ zB%IU5`wWti)EEgxHAb?t8e1A+jghRh#z;7>i}x8MBd{?NN^Fc|M>e)JG8-dVp^cGn zY8UV4k;p}CI;zD}ItW4N1r>yXE8Xd$7>UJHB`vn7F;y??)XH>KO{B%vh!RVS5%b0= zEhgk{D9Q<)pX>Q35RU*fE4CA41`aFg7)1YYv^4`xtnG6%q{Ij5G27hu+?%?H6&-cIW z&z&t%q=_)YW0-_|CL=usG|fOh)90W}hB7oi6*SFoLEfJ0SGu6$!qFoYRZZ=Z2s1o} zX~@Tcv=cPVK=xfwCW9NzdqC3+fyU2HUKJ~|Z5KCWt8RBoUYOxA_>hku=>TY&f&8tf zLzxWaXubk8&2W3~=fRFUH?n&YpXP>?FPF%F1COB+`AA6508KNHuX`1g$?!aA^Sd+? zG|iyw^JG{4zAk(C%KhAkyA4tZW_S!QAfFeJo&}m_7y!MOpiG9@Xnqc8nxUrpO!=Nc z12dufy-(fxW2y8q%h zK1-2)4K&R_o(wfWnGB6+J`9>>@a-5AESY#Cb9&eL+@DM0((5q8V~8N1CZwaFX$F$9 zF({KkM)S>}X@O!dnW_S#($S02UGSD;wIZw1fnG6Xup9D=a zG+*D^v*Oiw0#fq|rP%C(;bx&FEioIy4|N zcIb)R&QZ&yc9`KYtUx{;NOyv!8OV9L3(9181I@1lO*0I>;tgKg{Z+PP?a#TJa*OmP z%7j6?u!$$UtU@*ZG;&f!zSdj8R_>y(+uRw zYYUXguoca315Gn@Y#W`uUe}NnMxV^Jrxj^C%H2)!J zn&F%7k(KI+QI(YA849kIP~^InG6Te{KueahF!m$3(j}m W>S?IIlG`#VDjkHGUQo60@clpUvj9&3 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 2.anim b/addons/godot-xr-tools/hands/animations/left/Grip 2.anim deleted file mode 100644 index a228137215b2a8659bcde23e20663c4df6c02d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 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 ban;a@b6-aO{V}(ByrJ&LOg~gTzI^`=jqC-@ literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 3.anim b/addons/godot-xr-tools/hands/animations/left/Grip 3.anim deleted file mode 100644 index dade489e9eb33b7b38daff296d22128432aa0fa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 zcmbtaZE#dq8NNhY6|7KNBz|EPYTLA7vzzabG=b7qDo{+&P^yF_dr4OIi~WGas$D7w zHd3L`52e=BFKSU?Q7gh`*%oZEDnUi3qci$Pt<&*`{pk!gKJVRo?tSllPhe-GclGXqVaGxnoI!ye~(x3_IF?`O=H4b+O%Hu zZ82kJ7PG$-SJn>a;+qE6MpFYTjoHrY<l|{GnGFwy(Q_Sku}qCGZGDFO}kH}*4L*(diq?0NmfN8k(g;Wn&T2qr+2%Y zuhm@l3hQ;f%X*s40^b`=4B4&TrCvIX=#5r^uMLT^c-DkkTb!o_`B@pwW<7pv!f8W( zY|ht+Cbh4yRwT=2JG0r|OrRl<9ZgjxaF|pW@1hUKVWM;^ zq^!Hj;b_W%?dfpJAbSoSji-|7tQoQHONTWR;Y~4+B-A0dn4=la1cjDhz^^43kXnKP ztrnDOv;+ehEx~|aOGs!52`wRwmXKZxN;O(SIxQigrBP^U6j~ZJS{n6QP^!_=sMFFY zv@{7VO+rhPMoW`k3raOwnsi#4gqCKZrCDfc)@W(gYeA_-OS4W(v(VBaw6q8$J32w9x5or(e(xUN2>(9UbUyl^u6T#_5t-ey9Q9oW3ePHZm8iEJ*3XEv9_LYqr+ zQ`_52NV0RASJ}bMB{|8>CGqIyl2~?gNp5(1oB1V$WO{@0M= z(i^OhB-1-&e|=`35-5$NY0{gDb&|B{jbb55rguoDHz;Tuij_SK1DEcz?z@0pSUI_k;d+J_ z14}2h1t<){-|?PHJ4!Pr-{{P3TUXpLy4`X>PH4DJs;dv6mvn*;NI0QYM0>{xK3K;| zBg0J$Hv>y2#xc;=V@KaVC!Sb1YhqD8QZkQkch=;R$4PbdEtpX{X$9+F6RK*%P;1f- ztk$H1;Ux@r0&ARr&0}5Y&Kz%?nmSD%9Ngu*XJE*?iz=^Nk6TgWgf_0<$<^Sn{Em|z zVC7^f!^;@H16Vq##U9CH^pN@>_6D51L7a7W(K9(>cUM*Q%h5}&$(>;RPAD?&!cc2+ zH?VT@QHEDAd=Id6(hvfTHK{F}t)E-mdGOhe+~EVIKfga`-Cb&3Tqo7le+-jKCo94F zozPE?t1y(4)xgThy$r8m_~XFR$qnQLpYxtzU;X&0MMw58sogtVx@GmKwI=_?9;xxH zNpTh zs$Gbav0;XBh}LPEeNtWh5PC@`!(jbR=$}%e7|O|KfR&Ri496Ib14}1+tUC+J13MFc zS`zMlxVZS-fzsC5xo$c~XwX^j?)d8J6X+$KB*FTf&_8aZFqD(6z{*LQ;S9s{g-kl> z2^z+D2$u?f8QZ$#<}(i!m(8l|cy*T0u6LbOSD(X#(#bZkekb&=3)?Z2lM!I$WR&60 zGW-CrbW%PF8cuqS^#{tG>z1ECdFlAU(z3s0t?Z%{_GVXg^`FC}(#hw+`kl-M_XP~) z}R83Ryc|-C5qdtGfCxqD(s33D)mq4!B(y z%E_02m6P2J?_v1Mz|zSD>~1<4M+#7k@4@4R8TsAVJC)3$HSwPD)zv?YNu`r9uzn}k zg8K@Fa0f?T=#q`Lb3 z=p~&z3fAvrF1Q02%E>`s<>WDjA7}UpV2zWYVf4UBxnW@Q>zxCSPZrO$50+-eD`&jg z^~_0C^-rRgbn-Q@eka#~`#OelatK&Cd5Yn0F#I&IbVBC??RcZ%e7U>p`T4hZ{>$83 zdhJxsS_@ha@0wIs|4mFNos5I^JGma*GZ@Orw}6$CZ!`QIhQA9eoq)6-S3S0`<4mr< zvv^P4WzKk24W*Z<{~pSulfz*BPUeAo7DGAtKCp7~9K%N#{sFMY3GSAB!7!dI;Qe@} zKj3O`w^i1H&Jypp6}o=q`X6E<>EuUX{Z8mL9R$kBF<|9{Q6BIbB0d> zYn))8Y{Wj9Q`mL&vaSv5UoXc0abM}qVr9qE+IZI_Use4n^pZ}BVEs;N!A)Q&CnaFz z1Z+Me5)rnZgy2y{~~%xCuhL=oxBI! zSq$am7r@HNOANov@Ht@V1f-S1MsWV2g&qByUhFjfKF`|mbe7P1$TOZ&`||a_M1gej z3Ru6B_k#NshH~<2VCCdD44-Fs5?Jp97m&nnc2CYTdM4|z2Dj2W&>$z?yUVJ*V*LeF zNGHDq>v!@#aKFP)PJR!poLpr14-Eei_%cp#HBaGUKPpa?Blqr7*Xeos`d<8>wEqD# Ck?ZFG diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 3.res b/addons/godot-xr-tools/hands/animations/left/Grip 3.res new file mode 100644 index 0000000000000000000000000000000000000000..2330310f1d22fe8b25edf2b4ac64cd0ae64090b8 GIT binary patch literal 6017 zcma)=eQZ-@6vi(g%7-Xl0#QIv9N%2puItKHE^{CbH)I3+0HKuivUO{FOM3?!ibG@y ziVQ?S1cbzi27+cWk!ZV0G$=8|AR-$7FoYNge-NX=C?+O8Z+GwQ>HEHa*yLnS&pqe4 zzuk3DZ(Fytu2Qicw~?QNpey2$SjdbRaeF}N2eoT?=T7sV0Zjhy$5BiUL{%hV*pk$h z!FaN?S&!!JB0jyLnD zi^LlWo!MlrOMDqcuE)9FW%nIVHd!4pO&PD%C%%l=>T=GE!aCx3vuoV@wuLq+>JubXy1XJ~TTvr&Nb1WW;>B=4GMD=)s*{HBrQq(XK!I%-&mHv2^GWA4m z$4rLmn^Wp+)oe@X3cFBFClX5-NmCE!UK&nUkB8Pq(PSrdnu!q3!hRE{6JdYwgu;Fk zr#=RGtOP0*gzPvba>9#VxS7r7Uh4i(6p9vcTe& zv$zEokHF%QvUp@H9)ShR0*gn^;t^Pi1(sqdOR1fyFPd_@yj<8H-Om$UeLS=hU(6^bq^cu7v8<)j_S zW3=tKE8NfJ9eexDTUtQuEh^v4Ctl%xF7jy0%3q2^0+=G@6S#0+KyoseBGC{o+!v6n z7^X-hhbdA%h^eKO#PljTQB09&78mXdNLCtCBofCIDWAvG(h6jX1(>Q%ftCDUuV+6p1Et;l6-mWiv%0;Y^Y8=}axHc&12BK2szb(1rT~k`>Vu ziDWcI%7-+yv{ITPIWbLwiQUAe>XVU#385%`PyrO~bmypQC>%E8DYd}}8|KW` zV0g{jvpGAT`_)hkA7i)cFmcD#*WJv9zfsrd64Ky&^!Y>_d_U~p@_^+ zhUOW3{c5s*4jC0lckC zSH8D@XS(|P1KF!ZrdEd;8N*WIvyABF&^!bCsQv`XW_Xg!KLyP*oX?C8goaK@2QHt= zUil=hJ&hR|!wTZFlIUlkc?R~)&?=P8u$s&Vp?L=Pw_`K2IzG;PHT~D@=Fz&g1~W2- z5b;?{bUifBz%n+BvKe$TzYdybSa+?nXTx7b<(0KxXQnJ{*BUS*V`wBk5u%%*c?R}A z(TuVgqGUb>%`^P=(XjOXRg=<#53J8_IMb@dF(YFzh);s(_0T*6`1^xGsMdlR8N&wRvytdlXr6(+FSns=hD~JtS!kYN(4H^KD;Hh# zZ~gpyHheOoJ%ea5y;+5U$i>G&G&2L(?S1==Ec$N6< zB>FXIo`KzY?LyfMon(GDG|zDJ+>to$dZIroDw38N&hM^ES~3p?QXp=p91Y42Q}5JJ38s e*Rl8J4k`QbRPf(lGTSC5wIi76gQ~-q@BaZ&P6W^Z literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 4.anim b/addons/godot-xr-tools/hands/animations/left/Grip 4.anim deleted file mode 100644 index ca5636229bcba61245d3ce1d066f4ab3a426d875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 5.anim b/addons/godot-xr-tools/hands/animations/left/Grip 5.anim deleted file mode 100644 index e4b0ac58e712ae129163a048a4c3b554ca894432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 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 XQ@GfdyB_4qyCzP}l=bcSziIyi2EhWf diff --git a/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res new file mode 100644 index 0000000000000000000000000000000000000000..65bbbe2fc5c2ff5d17bbcc47f272d4a8c27d973d GIT binary patch literal 6025 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 XXv^&XXi;`y+a&D(JVmG${P6xC>y!E- literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Hold.anim b/addons/godot-xr-tools/hands/animations/left/Hold.anim deleted file mode 100644 index 44981dafd03d38816903e56fef8ede26b9f67522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9876 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 ZRkNX-!o|KyPP8NEeo|(AC;mU${{XF4*M9&2 diff --git a/addons/godot-xr-tools/hands/animations/left/Hold.res b/addons/godot-xr-tools/hands/animations/left/Hold.res new file mode 100644 index 0000000000000000000000000000000000000000..3634f038a182121b5356bcbadaebc6a029d806e9 GIT binary patch literal 6013 zcma)=TW}L)7>2iqhYBbsfdK>rEeC}q&7lc2T?&O#XcbxzsXz(MwoRL6(_{-RBITq4 zq9`IFBI@XHC^)DWj!M#8IqEphAg6Kg0tRQ~0xmp^I$q)Xr@Nak|NmdunQ!{$+xPqO zOq#xXsI9AApjbZx$?yB2%VUxDkQp&zwn4cIYS`uj16x~rr#sF6A>N0l5LKSQ!p?-Q z48n`LHa)7FM$BEIjKIqkEuHNf8ftVi)EG*{L(zt6Wth`mmN2>i!&m_8MDBVp>{?03NF>aoy17c% zB|_Xgx9QzUy3QrAxKtU7OO>#=RGtOH0*gzPvba>9rC4Aoma-JfSc(M}3=1s9a+YF& z#VxS7r7Uh4i(6p9u)yM$v$zEokHF%QvUp@H9)ShJ0*gn^;t^Q90*hD5;+3&@1r`ho zEM7T_S77l8EIuiVPsZXCSTHQG_~a};fu%%XDUq_2$XH4Q77Pn4C32P$fyFPd_@yj< z8H-s=& z%b(BY9Xm~v`FN@shvNcMPe7R$;Lz^ZbB$Z0ctJ^SGsdlH53jTv838;gbj0MS7N4V z7}2EK5{iYBYRJBEN~%%4$y65`(eNycDI15dMN0OXICpoo8y$8r&aRDFF}pGvg58jv z?wt`FYaJMj-wDIa-jg-B!^$|k9)MzGpi^a+&BFq8OaLGui^J2HJ8XFPp> ze(UR7bRev$@W>culRYk?i=lZ2Ht$B+3?Ab5Lh}rPbtk{Nu9l_RuIx#b|IwrQ;E^$u zkUf5)1JFDJ`&-XJ*$nKPZGVQP&^$vr{6jFdWoLTcfMb294s~cjcw`J^WRFJlJZPSQ z{ezXGY=-&JHp2pFo?*z5n$)E;tI|6^`@XNKvsJ5rN5-&_>{&!~B{a`)A9{;XHbWKh zFM;M6u5S9UbbN4cdeNafeZ8aBYD?jfF;tU1HAFuN%`>n^BTu1hhGoRR9GYi1ofw|( zKKJ97ADuWq_v=eNS}i;>hB~rm1<@;^c?Ncy{xr&FSVjELK=TYM{`CdZpZHUIuBw@z zdjr~Pcw`LqWY4oiuYu+n*i)gkD4Ss&@i##83|kl8DxG}eVCtq)l=%!aJ#J7nfyjUl^e^!y{v8A$uZ3w?gv_>@3lS zvKgYp-ww?)G~L{v-uO>Z>4N3oq^4E&Xfb$X3WFm_>c@K(jV^w2F6 zGllCawJq?-7@jA4wi4X~%`>nEOWRO3!**ypqjo^^3{9cq!OYMvQs$|ZnbGxww4LzC z7ZrP@A|p)jpfHnd#)6vKEAqD+Y673;bpRCAJMNs z^9<~&>s6G^u%Gx}gXS3~_%8;3DZ7^PUKy9EnqQ^84v&oC0NL{f(FdV(WaLre)3!*0jU$$Qa%xdyWwO4m8g&61}4+o8evJKL*V+T>Gh@ a?DNX{^s!HuWER(t(cXin09A_z@BabDX!|_? literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Horns.anim b/addons/godot-xr-tools/hands/animations/left/Horns.anim deleted file mode 100644 index 0ee57aca624c15288a8d6e72256f46384ffd5e06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9878 zcmbtaZE##=8NF>q1eLagSi}K}LC}=4+1-41)1;-+7Fw-op`z8W$=)_g_RHN3ZN<_p zAA(qG3KnXM7`38;A4vqQG})wp;ui!I8Gks?8OMJz^22e)(qui)-TU7A-21#KcgCH0 z*t2J!z0W!O-uK*_E!~^DuQTk&0z99CqUZBbt1`)SyqL^pfd9Y8U-9wtP^!$ zi>AY^&m_!U>~PiB&f#jEmi3vUnNOREWV~qFbE>_*IaSg#=lwXy#$+OqGVMW&T*8_3 z0hjZQy3l=x&AP~CJ;UA$zB`%OVUM~%y>tfA2dxI*7!qaiYzU3EIL`?3vmse5di>ag zGlu-woNo{v)P9GJB3U-;8FnuCP4QG3-}!q0x8||Zz!wAO%|doC-)HuuvVB<4Vz#Hy zXJ$-;JUj1Y;%U>MgQU#Nj$*%c-lnqIoCOL+GiS9I^YOlcLZ~5B+?}f)z+rN6e2Tst zhe^_@kh9JzhoeLG?99h=2HA7yWIC747tMrqUOKFqiT9>Jl2C^nFn1R?6Bb&+A-|Sz zNNNd(v|7-r(Gm`6w1h)`EfJw5BD6#_S|WNaXw_(m=(I$HmZ;DY6!qx;qYJv*Wyc*|EL_sfJG#)j zyd#K3GA60S^A58jk5hL3dMP2vNnkFCM=+PfGMGzpL)be^NU~#?ciB12za=M#xg?&% zToQ|7F3HVe?=T_BPGjC>$1#`WT#_5t-eE$L9oW3fPHZm8iEJ*3XEv9_ zLYqr+Q`CGqIyl2~?gNp5(1hxsK%WO{@0MOkQy-S$u@o=9Xfh0u;{B3oR(E5E#$&87;W{&*%) z2*uUUGlfvf++GZ=%jPqMYl$^pr`>>u_g9?bU@k?`Z#?ftSsySi19}(g$tUVNuD~>aCAE{_;SsdFA`rm`13rA|^u&q4b?iUUd~9|P-mLJsOt%E>Zd z<>VTMmot1VuyoP@CneOW(VqOj$~6<`mG4aNEAOwlxw8Tn(n+xX5N1gy4PgCFXcaNu zae^<=aS~;?k>Ms_>Eu@1$<)ZPnq%c7SDlLe_td&_wk~Zsp>;R|NA8*g>u<&^>7)g$ z-wAcKqSTtS0jo7>XLtp}F<|Kgq){5B|DL+{K&-BO%gSR*lI4H57M!z-*2Q%ate-Zh zbg~kx-wEwAoV1RUE@0(k6~n6;z7AMAc@=wP1a5v81b0$4fuB*U8+{uHouG6e@yP`*DrQ+XqNrc!B`?L25XnU6g} zCyCWcQ|uOsBdyC%Wwv6Z)mT7p0u^0V^j7hE0aI14}1E_>Q}1P3Wo` zUSO0$3%a7#*+uC~E^xJEJ3d(d4jfN9=?Cj~LjRDGL@6h?0V^j145t`Q14}2Az}A&9 zbhu{m#Lh>a8sE0>`SOaZQ`XrN%d;wTF$unGFm~O|U zlLmbMU8t#%0}pq{{xiI1Vr*soWJ_sf=i6{`8s)v71nVEfEa~KSuzn}>Zwot7%E>NZ z}%TG=`aQkJG zN2aguL?T;z#Jf*|^&iG8>ExSW{Z4AY9YHB4M}d`-M;ZPW!;b+=CsPfe;l^l~`Ma_5 z%^RPNoxbGK$<>2vEf=&VRBXow>i;$lD4h(0^*gx;+;>pQ$#;R3lkYKnjN$JCOD7=h z$2o_F+MgTT8XLc%{w&vc)eWU*>3`4O;k@&v7<13 zcxcQpqWG)#4cyW1jZ`WlKUe!hb7c(F{}arTPJRm3?}T2{g+MtO0ai|E`zj2H4u(99 zlLoZYKIy{WCgh?MXIeiF=k5{jJ_*+U6lO^$PlNS4Spx1CDCOjrz)JmbhJVHIGr)39 zhT+11o8y)fTto2sK5I>s8+vy4NwEGCIH+_o4%YAFVsH~E<)jR(oJ=x2#qddB>7)xw zOLytRqld1zyZwS!VjY`mPfyTYJ*|a2yMpyUi&@gib71{WJ_zo4lydTGVCCdD48Oqe zZ-J!~kkxzP@RFl-?OS`FjT!%_wRXI6BCqk*z4KZ7e}|(=C%*^lcXA21KcJM8KLRT! zFEacR!_&ZeCwPN?>*}1YHM*wju|~`2jG~fjV)edb|I6r*PF?})ck&@{e?loIe+E`g lUS;?%48I0^7AJVOMB!pTs!o(6cb};D>3Qz{Zu}o<{{tH3>T&=8 diff --git a/addons/godot-xr-tools/hands/animations/left/Horns.res b/addons/godot-xr-tools/hands/animations/left/Horns.res new file mode 100644 index 0000000000000000000000000000000000000000..6c1afa21b89f51eb91f0d13999deeb751c8477a2 GIT binary patch literal 6015 zcma)=du&r>7{(8G@PfL{OO$!z;+(*t>$-KU-EnNn{j!3Jmod8bu+?=vr9EStz=og# zIs`>UM1&EY#06tS@v^r22QV?lU}7L(Ou(2B6a52YB$|-;eBC*xZ@=&R!zFKc`kv=~ z`&(C@a|x^r)G5}_Sn}_6(6zBhd(ey+G25Vwf$A?lci#WSK%>+AAL1}PlTft@EbK_= z%Jq1$vQ3ZbrV(@3D}{Kus zzAzTnyTtL4HW@F1cWERXj_Ud5f?S`tZ_9NT#!NlYu7@K*QwPS)xg!n-+YyMwTJkqD zXSPfBGKy@E+dA3qJ3E?mN&+ z=t-j^5z?EYMhG9gX*4B6dQ4XswR0>MY}b_u=tT8ci`lBMZ&K7S;!W*FSXaj3RnpYs z*%>nt47DZIIjY$m*A@2ZIh{y*+(?*uIQt!Nx_T_w97U78q0@{9@h%M6=|tF{DxUpT zIlU}GXClbGbDQ3sr0ZM)i%XTUxKs&?OXXQGEU>s#DT_KGAT=$jHOIq!LYzm zCTA%VSlj}OTgu{=vA6{m3=1r7Ig49hDHmAEr7Yz#mU4jw!vagWoTXe~@dzv)DT_zO z;t^OdEUKpc>&1^ zY>Gq@nH;GXOU}le(s?7>q+~CObGKJJ&|z2O?BaMl zD(hEnhhn#6gCCXp@5I0C=nbfZVP@~jn%rUKF1#L%Vr)~0E{0|sM`w?W9B00}QS2s; z`R_s5v-d*ZhhpzO^0P%-aQbM?g=k;R!QMHU!f_#u9hWiOkG{QUD$&!Rc?S00(@{3V z4B~$PnrHYU^m#^CcKJ?z*OxhTGOU%rBV%}w>?tMsA!wd~eWo)}Hp499pAF436z@Bi zIr`g`^gu~>rsYVZrotm*m_zosh%STX8Q8oVWiyl$zXzIUs9JOM>x*hls_pE~RPCR= zS_M2ZhDx%>OLP@9&%plHb5S-!HSx3WInQuy>m`4x|I^gPYc;7rV~^&CN5)V?_Gm;u z49zpJ|6;W$n_(Wb{avbq<{1VP1?ldgAHI73!!y;Ve(cri;gK;sLiRjL^n7TZVIq19 zP&UIt;$H;KGfcfS&wu>9FZEAg`f%gqI&CpLGKM8&&r+h7LGujk;mC57&9H*_8=!fH zX@6h!jXyad{e7@*cxcRYEdY;L-P!-!+~_`m1C*X zdnXPTPhPD(36G57DYEBjqMw208Q60n_GHOsSVR0x&^*Js%e&JXuFmk)HGGpQncu6e zg-6B^Bzu~P4ngw_EMvncn?Wc3b}=^?ronrC2-mbRd5hUcN}jM@s#GaP9>o<8B5;`i*IkXf^5 zleP^W8N&-?&x=IA1kE$BOPTE`n_&m>?}X+VdepV4e~Z3Ntv?aZq`vIZUWP};@Cw<} zNAxaeo`GF=y^69Kb`$>|Xr7^@DB}CstWRmDCS{Hv-mJX_kBs4UvS%;RZ$R@5h3LJB zvKihY{(aCqL%~?De=s=SU%kbj8J@XOdmA1Z!+x^o9ik6F^9)7ky^FFL4if)+&^*I| c%X?G5e_ZXGw&03N;n2VYeDfB*mh literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Metal.anim b/addons/godot-xr-tools/hands/animations/left/Metal.anim deleted file mode 100644 index 0c6b246fb482ec2461ef3bc567a9c899f09f7843..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9878 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 V@B1P-^7e^(o&L_<-;Mu~_CL*h%US>c diff --git a/addons/godot-xr-tools/hands/animations/left/Metal.res b/addons/godot-xr-tools/hands/animations/left/Metal.res new file mode 100644 index 0000000000000000000000000000000000000000..d05434cae497122f7eb68d73602067acaceede14 GIT binary patch literal 6015 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 TuhOnkj+~P*V0{<`s diff --git a/addons/godot-xr-tools/hands/animations/left/Middle.res b/addons/godot-xr-tools/hands/animations/left/Middle.res new file mode 100644 index 0000000000000000000000000000000000000000..4c1d23027a4c0766501263868b56b9b3ca25428c GIT binary patch literal 6017 zcma)=TW}L)7>2hfDgug}hohj@ia?sAhlD0w3dK?=0xgJCp@wAJhNjt=Y)gw^Ie4I2 z1U#W~QU*(baXifE2+iRF1fB5$2L~K(V01>u(Hp$b8)xwS)7{ON|Nk${%r|}W?fZRs znx^mWroN$mv0^^%BtP$ku8M}+14dYnS_b6~sB8Pb9rkPA-(I`0N{rlu8|5eNq2u|TA$PIJlg0n{{#s_gVcsg1WF_$Oz0n**g*QW|!N{D9j`FZssmf}Uj%Nu&i)Ckwcp%u8 za1=X??wF>q_s{Nx+hcm%&_dbIfZf%iflU!K*$djuSOBlWenGnvW`EgO_ETl|vItw^ z0q&LCwC)65=M-3+4jGHnAz^Vkcoqx`EKY}%#p&Q#Tmp+r%Hoo-xC9mq3oI@uU@4Wdl*(921r`ho zETwXmQh}vRU@4Qbl*w4i1QrYnEM;<*GJ&OBU@4cfl*?Gk1r`hoEah^Ra)HGouy~{_ z9vO>AV8O7!;*qm>1QxHr;+3*^Wh`ES1;YZ1SI*)cVqvFGGZdX>@Uqiqu4Shk$zwRJ zxXYi<<{djtlldVac8<$6bBUKfpN%})GV_-rkpQMhxdhIi7m(}>rbsk|^XCO5GlnS= z$zh6=3u3y`Ok(;j*-=c9Xcp(s3rJ=fQzR0{6e*X-bfp={6v<9xibNwhe_lW`LzyCx zRHjI|Sf(q@T&75NFjFL&%=z;Il9|mEiG(vn%B3@1X~r`}vh$fD(SXjM7m&<|rbr~C zDN-(^=}I%DDUu!26p7|^{=9%>CN)JOQB9F@Sxr}(VNH?jw5CWjuJh*wBr~un5=m@| zl#6V-(#&j%WQR6IqN$xfpG9I9v58B^&|k#wp>5Xw8OW=vsO{29>VSY?YF|D$db*BYWl${Wvtwz~0ljD2rhp@z00m8Kxh+mOlCWtyF(e zce>^H2Gs$NjG>t9aT4u<<{8+$8)Y$+5PvB&&*0rSaPFp~GTC;uH(B*pk6H$gjG>(D z@es}K*Leo^w_bp<7%GV02hB4isxJBtP4}nHUoOn7KUbx){{|UDCE24Ay%3sbU?2A? zl*O;bD3AIhDXM*gzR~O=o)CA;U4ssqAZ45;$H^M zGi=^EDK+8a(SDb2dFK4gsp@igWDIp=&kCZSgytF8*CQ)Y7Q-syUk%MOoQaQ3br1e< z_Qc7{72o{Wqt?SCV`w0I))2iGnrC3Q>QA98hIPdMG&Ij}^ZXaSOT80)#_`_t(H))Y zdU#|EjbzU=L_Z77Gq7)lHlQqqjl|ys%`-IrwlCHBPoZz|>PyL@njZBzcw`I#vS$;~ zL1>ci$(}ILo1u9IcAjWMSqu^4 zZ-?d?rYvdk|53d#HD=q)%!rLOY7`zBgHHCuh<+ZLXJB8m#8DPQg811vk!NTQ^!qbo zzD^pa)@CL(j#N9~kuh|VJzI$Gg60|6dAS>9F>EFN7od5DzMF%opI7($daf2GKe_&* zx(yx~!*;UgMWTD4c?S07(hiixuoK$Ks9n%J!wkV&K47V4Cl5^Kh WIQ!Ya+_Z1yHuV@h1*m#_`TieqjQE5A literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/OK.anim b/addons/godot-xr-tools/hands/animations/left/OK.anim deleted file mode 100644 index c281986ec3627724d0beffd5219426d876be0393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9872 zcmbtadvIJ;9li+yK9IDuwY8!Xtx^n>&2HXl+H5UiOIuo#Y6UClHhbHw+3YU6HV~|DUBA47^T8Y6# zK4;T3-NsDP9Anef9=p>maZ5I4EHgi1CQ}K^bo$h41AS_wug_aC$(B?ynKqq93p~Q@ z^fr$Rw7ST9hV@$PvA$++0pFL(>~&gQs2;kF=!JGcpbd$#dDetl+nlcj`PrPZET12T zaNCd{hYK{KNu6g{E0X1~zGmlx-oV}}Dj;0*AF`vj8WY48jBe`teGL!bcbXhZ#*qsJRLS1s$94~MtDzro+K`qgU z)Dn$owV+g^B^uFaiAI82VnRzyXo+dG#PnKFs?ieDX^9CfEka9+(9)vO(xTUbQjL}t zot74%rB!HY6yU@}hv~&n99U3hidMzl`Xz9>t=@42vg_cgCrBkD&Q?CW38ZDhV zEuBJ3m(bEBv~+2-bm_IARHLO!r=_c=g|6OC`bC}K^;34*(FNVBa^j9I79Q#49bM=> z-W9|m8J$$(`J361$0;X&{gja8CNP)8BbZBK8O$YlA?$A^Bsnq6tDGF>?~)tDToO-W zE{R1km*i!!znPHaq%p5@;+RWv^O#HGfy^bbMCOvbNcJ}qlAKWHRZc2%Np382Nj#Ui zBo@qEl9$Z>W;^C~B*xg=(i^OhB-1uI^B$L@pA+k4{%v!6)@~f`cdRtaaTsLZv`I%x(QbV92b#ZXQl z#dXrca4W-Yz|u(((-$$-L}_2c^2&>UK3eWitSV1FeZY3{3Y?t5@YW<;eLH$dCmmpe zPN=FALpkXJR%=4XLgCd6_W(;LAdO;){ymkvw=#3~@S5fS*ic=0Xxw%}JB-%Fa}ur| zTT$a=E!d!w^T1)#x=!N2O8q*9Kfv&MVCf_d7rSsSnxoiFI4g~%y5e#BoR9-@;y)+h z>aRpExh5Y38+1YmbrptMlMewaCmR^v$ne#`(uo1pjTqZXD-Zs6^}ntguiS9*h3e4a zA$u+4ISE(43B9C~&0vF0=%>al7|O{tz{<&1hPN^NVPNTG8f#L7liQ-re|vCsU-r(j z(Xg}n;(x~7^{Dq{SGf8<^pZ~c!3Lesuj$({l#`DDD<>aicn8BD1D@N75uGuwt*qbw zSh;=CbJa8V58Jzn^2@)wl#}`EuSGBE<<;kY!*OX7UTwbBkMP6E`FGHoV~lqh2KfI`n{M>IvD~RbV7eZNnt1_p9EG;h8a#XJOV78 zyad&BWh~;tN$+=K$(UG-OHyq;WOjwC&tOvNBnvj^g#M_J!%$9c09H=&3>O%t4`R~E zB)$I_@u_ogUvI>b#8b`Wgg&Xzm67hf>q)r!QS_2dJ_R=D=#_KANLYeBnV{C%E>(pf0f~{0qdQ_;e<~4WE3S(N*}Xp*`?No?Jhk3 z`t|o>66xeH*r1a|;O@gvPL2R8C-*b_0K-RtrITqmpc8M?Gk2|cC@fpUWBT_?2Bl`BYcF#<~CBLp*2U(t9^nb z7ydN~SN{{tD4mqS2AwPeSHVzDs=&(0Qw&ct{4}t1635cg?wTw;aq;oW=IV*c-}h`- zyYQ7Udrim*t&ex&!__~7Ued|4V1rKH4(_KI%E`}wm6PWfexBi<14}0$?Nl|QOOLGR z-m&|c9^=#!`^2mDkk@!h;rZ)-fdc8|mtccVmV^5hhH~<2VCCdD44-6p23YR|Pauh3 z>z!F*#AlkY2AA=3;@@3%?d#V678TOT@4yC~yaU|tF_e=(04pbdWcUS!{{%db6Fgg_ VaB*&PT~E~WbU$}}AO0`e{{R^|z7+rf diff --git a/addons/godot-xr-tools/hands/animations/left/OK.res b/addons/godot-xr-tools/hands/animations/left/OK.res new file mode 100644 index 0000000000000000000000000000000000000000..96e2da2aeca20928a3189f8d92a7c0982bd6e7d6 GIT binary patch literal 6009 zcma)=Yiv_x7{`mE6A>?5gdidyj0ud=%hr~4J4{ds=i2&-7%wpzl@K9{e2|!EOfW`2kj($vopbv1ecul*d9r_>^M9WH z=nnsLPHR`yF0>gx!^!VEp(~@INI(y1QPW_%6>7`hfBaf8BYm6I{2$^ZJR?w*aV%_$ ztG1DNv8q)KtGX6-EwYWl%hfGyk%s!^svc+z#AAVQ{W9BqR(oY!>i`UE-eWZvg%WzU z#m1|mLA661A8M2FahA6#s;lvc8Vm(=)z~}aw)T#NcX=on46FHzN9X!vGwardqRshU zwqsdH*JV45KG|`9&duSmBL)k1%DFBC4$bov<2h)>~}sObTmStUjUzRU12P61p18&gk(# zV{5`b&#rgIR2%#JtWGEr)8e`s%$@^QSB(Z5!f3KLw3@L1-i7^xtxkyjWn&2tV~RxLm?Gu!n65MenIc(n)HWW! z*u&VF_h*$)#BX-!E>v98v(IDouAuD!yuJm+s3sBpAT(QdOZLdnaps$hV(XdzA(S~g z1$rv#cGS?%PNi?KtK#3EM^;Q&vLJKqhnT{S%NVAiZ|-@R=;_cr1AFfoD3hU(_-8`% z46T#Tra#*4PH*|{gS39FTPcD^#_$N)GmGfi&^!bCOy{6XhGOEM3(YgEEB+$m%Tx?Z zOnNitPBtlacw`Lo$Q}pLPH3Ki&AU)0gPZtEpm_%0=F^{CwO6ECFYZfK-bgB?@W>cE zWRI6~B3EWipfzzaN@s7`<^rc_g;pKdG)a)BaAIQVx%dp@QsDh+Y8AGqC?$ zl_-}1tr_v@<<)h{Qg~zx%gCPPM6ZD68Q9k%)hLr;CGpol^9*O=qtl%O z-}b-#-Zy0zzE3K(@W>cekv*%4UIWcDut)T@D3hU%_@9L48Q!e&q-G{t{a;@x%be)j zp{#>P#;~63*+BG0Xr6(6BeV%+GHfRPdT5@Z>H2|m`#**Lg*Bh0iWVo8E%3+~0%T7E z(T&hN1IyST%4AT9zX_UW*nf2(eXZtQfAV5s>gT2UrL znD`^mJj38bXQtu9{pn3xt16}j+m$FhG6s$8i4naGnrC2Nuf$O%LxT9(wUB4{I8#;r z*Dr$uQ*Qi}?kVa~+Tf8fw39vCiSB^r8QAr>6J;_yMf^LUd4`+ErG6k$56mr_U0$#)sXPyljNt{cXFt)s&^!aX z<9ZQgG8`cOm!NruFaPZIUx*#`uRT9K({iLsIS7x8;bpSt5YdOBd4@6Q9YL84uMq#M z&^*KCo4(ZG=PUe|3JWqt{oTq@cw`L6$e!1TJ`T+@j76^xWiq@@{3oD!hU3={rG7tG W=AXXga(Y%rkMagQ!%(&O()~ZK^81hg literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Peace.anim b/addons/godot-xr-tools/hands/animations/left/Peace.anim deleted file mode 100644 index 68259ab7e624144279b99e64317d348c52eb89a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9878 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 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res new file mode 100644 index 0000000000000000000000000000000000000000..5f222d33040e2bb899b5100e5b9a436c3464f480 GIT binary patch literal 6025 zcma)=Yiv_x7{|-S8;A%@Fn9q$bX>-v>$a|}-C;10%YfOT+;p{D4_jH=Q%=v=#$`hW z0s<;BLGXgc1iTUX;sw?f`~X>uq7tKtG0_hu1{D$&6K{$B-|n2#r|IvK68Upp(*`AuN_Y>=#=Km0{z;hF-%D}=_ zLvszsi@FvqrkQ%eQ|%gqmn)iE;|-yuni*~k8_94iRO1@uv}+B$9Wbmp(rH#lQ)afs z#up_bTDv$t&?e)zIo?GHQ#0aPBpNm~Ywv*D**hBErO`+vriI9cvAHg{;?~>|X9w#A zqlqTEp}_8O^S9W2XPObzL`_p9u)5p^b~fvXvxA+@`YrO_UA8+*me*x&YeQcDcJvJ` zrMDW5S}3MB;*B@;P^wW&XfDR>97}}bn(GF1Vp^ifY<96vQcTyAp|~E=T-V`M%G8qC z8PfP>5m-D@7LSa@Bd}mtVDZRVJOWFJz)~V*DUq?12rL*DSW4t9B?3#Sz)~t@DV4F5 z3M?2FSW4wAr2yfPNAz=C0c#Vcp=3M}OU zOSzP#T*gu^uwYnVDVMX93oJf?#V2L)$yj^>3x)+2pPa=vz``z{Rw%ly;ANN3T+2y2 zlE-k`ahE@z%{z9PCi4S8>^hQb<`OS|J{x(oW#unLA^}X1atWM2FCaM?Op#~^=g$jB zRt!@llEV}!7sPa>mBjR2a-x_b(JaoN7m%zprbr}?DN-(v=}Ie*DUy@O6p2Q1{=9%> zg)&7VsZ5b_u}oK5xlECqV5Uekne*obBrBUK5(#IDluKv2(u!w_0u-)0I|AQzR#*DH6@;{CNS%N@|KkqM9P*vYM{6!kQvEX-$!6T<6aVNLFA| zB$C(^DHqvvrIpzf$q8+WL{mF|K8wU|VpEMqG-*P(T!T{=*|QU&??GLU8u;0!UU+qP<@hx#E89*KW&XMpQ`vDD!zA?WJ(G#P7n)~a z=bnPH8SW$g`=NP;&xZ`k1jb$M+rGagGb7Nd7Q!QAm`e6cBYHYC&%oZ(87P~fi1=qh z^9<8=eBC#9aImlK;~!2JdpcDG9vQ<~=Bzp@jHLp?L;h{p)AGQ!3Lf zU+zg){o19L!6Revl0D@_`=EIS_P3smvKcCf-w(|*jIEyTKNC5Ye&hVU%+XOB)c`y) zhDx$WC3+4t&%pk(RiSK#xzP4!X&yAsQ1pFA`a;jCbg=TZ%%Q!8S`CkkVLsWjfanLH zd4?O&TZpn577_nqXrAGu8Sh;+y|Cio&sQ?-CmYly@W>cy$eyJ{FN5Y8*w-Y>Q8q&@ z@jnR7GmNO;82G0@>326bWe$AXt_I<^=ChLyy>3Yup)`%Xvi zq!qtc_!VEK;QVHFH9RtgHDu3Pq91|g8CV29in1B%i9ZC*Gc*L(rmwztqT-L{!GKMhO(?E11G|#{?HiEJlG~!H zUJuPPuxmvN%4UcWe;k@;SU%ya^r`wS{v(~WnZg~L)C4>-2A%9l61@SMXJB8q7$}<| zMf~jA$TR$SbZmNRaI1f?a({}yFPcIY=%w5zZsfmsOb1J zu<-bm-p<)W)1wPI)h+PI7`Bo-x;@F0~sT8N&{;XD885K=Tajre+t)X4p;qd!TuSiq);@B}M%e=RTaD*)wIc`XoFu zhP`CZKBD(S^9<|`>?xGZ@HFv11I;rm|7LXGu9>sS>)x#iT*muw03I2`vt-XfqI;lu zhB4?phq4(C5&vOmp5ge#1AR?@cYEg*_V}+Y>r$VGN5*i3>^VyG3(!160eUZ@Y=)PJ i|7B>N;q6~~`?`l+^cD@j?7#F`r+N&YL8u_Ug#Qni1pfyB literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Large.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Large.anim deleted file mode 100644 index 47f847c8a4d43d20d6d729d2d84f35c4398bce49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9890 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 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Large.res b/addons/godot-xr-tools/hands/animations/left/Pinch Large.res new file mode 100644 index 0000000000000000000000000000000000000000..ff08be0550144f5ccdc7819cbdf39bb6ba977606 GIT binary patch literal 6027 zcma)=Yiv_x7{|}>IzdG)Lb!`M0U3whTWEXO7>>fwv4P0c)kAx>*0nwLoHN)IHv~jL z6fbx~M2Q9vLclKuSiAZ~jb99cA&Mp=@PR}$Q4?d-7<}IDT%Nw~`@tno_V084&(mMJ z?td;Vtu2cM^XGc>`xel3xpY=G(rV5!2-ktq_oilyPqt_6=Kl~MfTtR&PJ@Nrnj(yZ z7p+}NMlsZ!r$HDCFIT0yv+Lq36hltPT3*h?n}j>;cC)7T01Ro~ZZ{j!x>0VC@mMaY z^swW@Z8SdK_QrCCqGgq2S~e7O@37n6I}W@n(#d2-sa!n9>7&heI$dh@Xy=H%o9t*w z=Q=Al6KA=L_7aM6kJ@^h)wg#NXH(iRc)VsG?IpZsm)cAy%p>;hiO|y&UG3HqN<5<` z;Da~RxSmjQia<#0V>vmi2sc3|qvSe`lt8{o8CA{4vuaWiZh%+1q2$Xmh9)PvbaB3D z^yU?Td?I!yoz1J7p(M-S0lTZ@cc8OXRY+M4H9Tu(-J_ZXS!9VS!#qLi;rRPaanvk79Ya`!wid$&*EcP z{0xhq%i`y;_!$-$W?1}u7C*xhU|0fNmH>|>z_7qD!xG@L1Q?be!xH4O1bHk$h6RQh zmLQ)c$gqSMmJpXE#A69DEHKQlg!n9>VHR@wG(*v41}`~%IxRcxP#%NRio44Ba^8{C zG@2g&oOH%3&3ML0c0OYy9MF~X43Zhq7zt%GMsh+LuQXE{ zBiS*Hk#J5|&NE16Qez|()fmaiYP`}6Ym8*4HAcd5T{+JnnSqUwP-0^wC$jNMGqW+0 z9oiTPr*`Fh8HrrP>Ip5KH$VtN6;wSGTQMFO8j>tnJVt*W~09c@z|y5+=ZFa(j04 z$ehR|_-%PK)hOSg#XU)3GW1745zZ+{PX$f(jwl})K2ChopvVm!@lS`cW@muD3+hIw z;h#;?7YDXSC$+7KZa7ps`1je2M2_ z=VnhHjQ+S~P#vX8v%te+n2q+#LHd5sGz0le=R#Qwwa7mYG|f=6^+Ivch?b)J>no?+ zo<2zg507C!+T%jn4Vq>k^ByRR!HfJp&@@A+{qX6FVzkh8en+A1_kPI_9v(vg?Fk|s z0!=fJzx4tri(w)1he6W}@rF=X|M#Zo@~;FP!@xN{2icah68`BE$ptoRv0?hT>AO!Sg8{{Jcbn7lScYU&@=-%S#&{J3>oCl zf~FZduIw(Z|Fb5%c;%OcS&jWt4m>;t7469*{S;`Lfjn^0pezO*`N`RlW^gS$9NGNa zzJWtcQ%dT=nA8m(9>aRHX9LnbplJqjhVF&37@kJ{XF$^ola_Qwt~M+xj@~%ERNdYv zZ3GXG;aRk&59xl;Gy{3ev$cn-9cQJX>23?1^pNNM!Rg7NX{(uB5=(iZUW7`CE4 z&m+AJG|fORYhHk|7`7w-4$w5iu8RZ3ODhkC`_I=Dj$P=Jc7lh;@FLo?3+b0Y(+uPq z>}4p6VK?%>0-9!+7CaZZ933k7&QC7I>SNNY;Nda6hW5OU^d8VO!&vCO0cA0~iTrPY zrWvlC`6_axy0y5xYF6p^C`o!7JUoVX(4M_WzYCgX7ze$5P!_{`$iE*n%`o&`RrJ%w Xw&MOzmX(&aO_bgTPZd-PJcj=d&vXBi literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim deleted file mode 100644 index 2958cf671083622483a8a8bc050cd4c957621f9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9892 zcmbtaYjhlC8J^T4Xq8@|k_vJvg|?)Z&2H{Z+N3RFuNcy5MXl*3nKnx{yUXsT7h0R; zBBfNI(t^+;rq(DIk!(v#ZFZLwFRiE)R5;q7dO+oe`hy?ffyU>Zop0uydB3!Kj(g6> zKKsnO^FGgh-}lU9O52*YrH1|b7~U_zp!ZK=ERIEb!|6yo2K@iM{*14G0%LI!C+tg_ z)`vAcX4FjM?4QDswcUNa9qnr)iS|{-MCbEOkyJVy1vS~BT9fgukVWJb4!PP)hdaZ` zghkWomdCoxt?YEg&(7(lIwi|vX*1btc16Nz)9zEO_4O%|o<5((NmfU?x}v7tXp&1f zoj&7ozE)G*BdphzF6(JF0eo8|w#jaFx%%idqAywnzBVMv;#m`FZE>C!uGi=_||Z=7r*&sfa{W&Y2b3;q?wBMB|FXbXuJ~>nvS=p zI?b4AkZ0#uEZl1vbdsnU+m!CM)@?K%Pgo$8HWOBPIvMWlNd+nc>1~PP2^=O7#<%Fl zahM1#g@m=L9F9)ez9kt>7-Y|(BfW`uGHrHQ>(XJ(Shyn!l7u>BkGUjh0|Qqa_&dYY7Q0A)zIt(Gt>YL8(SdNT($vv{VT#RYFUZMoX1m3raOw zs&rbagqCWdrCMmI)@Z5LYeA_-OSMi*wa`){wA2VKH5x57dMzl`XsOX@sS#Rgg_c^O zrB$KDhEe%3TgV55T(bAyTf>Mo^2A!6Mq87S(+vyjygV#%0X-5}yx5|z?x>&fRn|E}f zcX>w;i)3_CiRW!*MINW@{Pj{ol9Rw(5|3amiDfXCe#axn`#olH@lAXr9%8p|$$;o3bi3c*5#1ffHawFN>Oh~drnOE7V%q2Oo%q8($ z=8{-2b4hM8dz%SKb~f`WJDj;BC!M(@9?x77%V#dh4QOvOA<2$tUS(%Am*j*rm&8+= zOJXt2CAm56Z6+kyNzJS5sOFNKtmcwLb z<%CHBtx0dNLXu4HkbV2iekD*ENn@lp73(Bv(;LM?l1%TAOm9#cNn@lp73(Bv(;LM? zl1%TAOm9#cNn@lp73(Bv(;LM?l1%TAOm9#cNn@lp73(Bv(;LM?l1%TAOm9#cNn@lp z73(Bv(;LN>B>E#Z)tQVW(g220hH(=H{?c6#2!y-3;;~dg z^hT8Qjpj>!h^$0D4I$ zm0A&OKPvkf6zIV|}-(!xk zx=O3ZQq(wE1lI55}0<4^TiQ!g;Zv~c4tlt<%%7eLwj^~y= zUbb-d?Ef~k4fR{OMNY>HL!jsbjA5PhH~-^VC7^z!{21M z9auV{EV5p~Q`_%4dE@DYx&Ktn%@3R^Iv^L`6fUiP15PQOgu(iq&~y6^4CSN~SUKrp z*kpJkuyiszRJ<}8m1Wp3SV@7hNmbyA`-5C~_ep8>o6t)-=?3d}LjSB1!B9?a2Ubpc z7>+XB3oM<`Zl4b2t(9{Rt!$iA=*Ug^*E5Cc&39N1=o(MMU0tQs$IweUiG%e!p_`rr zhH`QTuyT@QIK?pCoJl9N<}+|&Wc!~#Iy~*2`MJM;&|lboZi}-|d{@Sj>icj)>0~ol zzZ3eGhAkM%$yQ+HWE;bGGQ1sFIvIHZG@P^y_59^X)1rNW##xUI78cD*TKj`mmoK|Y zs^5W=N+;g}>vu8{+)fPTq#sy0$uN8u!*>HqCm^j?W@z=kaSid*BMT-T3|Tv#=7RQ! zcb}A2e-Fx}lY7DXolFAvZ4Bk)K49f!7sK~6yc<|Lp&d+X|MlRwmMMc+X;~w4npTjN zzBDIv7wPVk(&`_;Nu`rLVEs-egZmDKa`GUsa`F(v4>P0&X9Mad$VCY}5Qtl!C0a8F|>C(i&Y zC(knc9K$~amQDtO_|37x?$3^nHU~e#E&XW!%UEshUA^~irL_9z(Mvk{8Cbs)`b@#D zoD2agCy?b}NOJH|VCm#;l#Ia5$O}*JdU#=c5s}hB1`A{{30GrzWh=ZyTA>c<#yKj;Fct z?vv8$htW$q$$|AdDF>IwP)-WK%E`+Nk1%`+SUPFJ)Y2WxK=$1m8uRCOM^9EPsVLl5 zvBPpeF1)L&wE9=jOFH=lSih5L;C_jrocsz{Ir%lirx`v2ES-R~QrHMyb#TUlbseuX z8E;Ruc08>rav`trl-d`r{|ySHlUKp|oqQJDZ!wgU-vKKpzi0S0hR*`)o!|hH_{ro=a^zka)p2?syS@$of7<^5KzIS} diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res new file mode 100644 index 0000000000000000000000000000000000000000..684819bb835e80009b540566018528e1c78437e7 GIT binary patch literal 6029 zcma)=Yiv_x7{|{Bq6i2AiWeLx$W6vs?=9*xpR@e5F(=*u^+dx5? zauHFya5Ir88G-o80BcWzgzN)}3MwijYWRZDh>;IsVwU*4?YTUC-}i${p6uV}{GX@4 zblv}4LJgsXg7GsP{k|7;O)8#@XmKTF8iZk>rqu2F;zE4eJgfOX#7E#6300%Q!gf^_ zM!}1QHaQ_{O3GC$On{fGTHBLN;pMUxiAL0PBoSUF+;6q(Riy)9NOP>!tc_>1e2a|N zrDAdiJ6>p`@dqq#T}qSHq#TP!G}+i&a9evPf_Hg57E8#*i^to2wE021ORXMfAF+0m z9ie!trFb)O=DTPwp~&~Bt@oLIYbS9oi)$K>*XX0YgxBa&n+b(+#M=E3^i(;cw5w4$ zoKT|h!D~u56O~i4KuD}(sYp^5?uJf6PPJ&Q0{JE-6eS%_Dlu8O3tnY3Ih~);)JU`~ zBUXr7XId7>Ct`Kt$+V(saxDKHu)1<8(v*NEc|)t2j=;MRWUCV=f7x{YTV?g~2%FUi z_0DZ_X9llxFf0y{$KntVTQ%S zXYnvBUWUcXW%2S@ybKErGb~;{iXF)ThVi;u_RV_0CAVe#=i{}|6Bd{?NN^Fc|M>bw* zWHv^!LK`FD)GnUSBaw^POjM1hH4uVO0!8kX;7WJCC`Mv2C6y6dl$fHGcc|r>q9ih6 zYa|uRh!OL~DI+H2W=*V*r=qP>3wILpU|i@KLlz48Yh(K^YZr9LMLD@fCI&nvOo9fv zK|9$$r|J>-O-!SqR7K0*qlH~D;Zb;93PngKBmEd?vbZ#Vq;Q=0%Am+C9q~_rGH0iP zejI89RN-fvH0I&8)qgn7RG%N})2~h6Ad%xdh9{tJ?wN-4bkH;ddG9BoOokcAKNB>~ zaAjDD9-MS5w{uUMKDVk}ngt#n!)&x?4$@D7rWwd*Iv2`hC`W#Bk4rPm-f=BgTN=vU z8oYVd>FSY0@bDNa&>jcUPS7+1nRh{%3~uE2fTkJBH=H>4vsj&NyV{qnx!o&y!NX(l zp*?=21E6UJ^0%H3WinJEe-JdyFjPOTx@P@?Y}c71xzA5*m8!tQW2i=ZB%~LBrWwdT zTn&`T@HA-iyR;BA%`kTVZ`tj~7X(j_YS4e*xJ9Z350Bv)v}Y00i$T*2_dxGiD3hTM z`ImsE8O{%_9r!pjy7JG)X8nZHDJ=yLk6{_wvmEIaplJs3sN^{)lc65@SAwP)PO9T` z-2<1;9{=>~%8TFjN+Iy@7#h%?RYcMVufBw|5j;GG z2-?$xbQCnrKr%K4WirUf-wc{&a2!~Yy;*W7d*jQ0^cDSKsRcYdhE}vEj`T~QX$EpK zXoE5t63CwfO*1s#+?Q*=Gb6Zg%4F|K1 zr6Y7#wp-c?9v(wC+S7w{FKC*9JZRbmWio6BZD!OfplOEcvLAxKe${w(#HEe8(BCP& z3LYNA4zy<{(yxK08OVjr>rf`cF68e6O*8ENWgvHBuf|3#6<7(PIIK1BKuXqsUn^bSLr3`davC}^6Y ceEp)TJC~1Th0~ILxU5S$2A&eA5Il(g51bDJvH$=8 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim deleted file mode 100644 index 666b4793b47e43cc05e1707a665c9e6ac5bbdb2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9888 zcmbtaYj9L&89oFlTB^`XY^++bK%og_vzvQJns8Bp5={e&Rol2^Psqww(Ye-Fl@6eiq| zGOZ`8)|)XigV`^^E2{@L46W^39ZmMFG^RVxmqyc>a17L?4%L%NY=SHzFL%gpGZXF) zr;-*;(=Crj%uQ^%(sO6JN~dIbJY%MY%t$nxG3`F3T3??M>FM)cOwt{VL}I4hXogET zo!;+qzE+pHudrTMxU8qyH1NIA_&U4Q`_xmX5xvnW@UX6;CsTcA$;cV23(WEN&{B`r_6L>L#p5GizWK8pqWHp zy5EeO26=W~i-(6ygC>cY@pYL&Yv0BaiKGS688c~>XHwz*_31!eAhS7Hn!sU_VZ4hz z9EXY0R!CaA%He3rzKyAH(ja>d9UV$0QW-O1?MsI>& zFd(%A16nO8)o2L@G+KfIzm|~D5)xWM8Z9Bc7L;nVgmhX$LQB2SQZKaBYqZqswV+g^ zrCz6{UTA3$S{j6w291^my%v;ev^40nGzcw?LQA92(x}nWsMms0jh058mPVnaNoZ*j zTADOkn)F&ws?pM<)6yigGz%@wLQAtoOS4`JN;O)Vby}K*mKLFxN+Q2wX{CDR+EHod7> z-Ak@(pd#1Wpu@U;xj1*Q)4 z=YHwRb{fX~kYN;lXc)Wlcz+1*4^|lG@`jP^yinZM`4$E}k~-qbt)GVm(#dsT{Z7b1 zHHLCh1FW3PXLtd_wZPKJ`8v?J3c1(k?io9KO>8vqhrf*8S(AclQl9NBdYqJ3AHa;# z3AOS&p;ZiGC@1(}9Vhh+H!$1?ES(ha`O`HscxuPag-61>M|YX~$F3T<)mjf)lmB>} zlvm$`8KskEuzn|0)q)YQ0h3B6E5Z7m&`*!u7|O{fft8a_G2FxOjlj~0+V@q# zk)6+tEZZ}wW8S>~w)f^rxkYP3yUe#Hm}%nrUQ|dYtHAo5(68&OF_e=}11l$=VR#M0 zp9R)C$y)2uRs3W7qqWmUQ_n6LJ34iXmA-UF$c@*@+t=TOUed|u!1|rg9q02H%E=di zm6MwpzJ=jFVCf{A15H=(_?EklUiWgx$Q$+ZM~9D>9FPm|i7&7IiY%)9mES;Rk87W|#KZ288hdJshWgCVsRZ;BKyuRe}m(n$iW-wFLA zM-oFhxfNJBNim#en7)`vCt2Khv$Q5TtVzDOZOWX<#y{cCy_a~itGxOR=p~)p2G;L{ z{*_@PhH|nASUK6u@a+t50hUe*M?hl@x^e@5J=uQAp%;(6Hhaa`o9A!0&Ijd|?|xEN z{T-N8I=K_9-^p}vTQQWAZNSP&mf^b?z8hFN0cl;?T=(vZ)>qMd{j{zjg5S7~gwb{Cy=a^YQ* z^6KwLFX?0lSih4?!F>%wIr%!UaQ3ES-Qfx}dx#_jJwawi}Opq+>;FS$puL z>w?aVdp{|!{u?NhP96m7cXAoH-5AQrL%_<(!wf&d@Hc@caFYM~(towS(sNNq?Vjw| zx&0fhJ0h)zcTF%!$@zr!dr&2vJPOwD@OK&B2P~a{ zw67@-?`k`~VNLtUis}jO@v0h1C#c_#GU?=dVEs-i!5zR*P7VSqCx;k5%<%VtrITUY zOX$RJ&liiG!ME_0zPRlroE!IBz4snpUj5VPC7t{LtltSer(jo3a=^+7WH}g;9Q-3- z>Ev#d&^^9zfmHJWEi>p?0?T4d1Bhlqnit}7QXs;DSc^eXt>!`Ui~rjl1@gz`khpP z8^usg#(mLh>B7>|xAfus>vI;4UbruIw0d#%*iF@UI49n_yUMFSfnL(d zkHPw#d;r`}FqD&@0xKs!WB6r;e-132fV5K82wu5&R@<7jC)$nIDy*PObv?3k>Dtm%z%&X@-Br@EKse6TE;VzR-E5(&#!VEH&ocab;0c`I)hvaJeU;9Ka^zhTr)J#xUi{y* F{{s?J`h5TZ diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res new file mode 100644 index 0000000000000000000000000000000000000000..0b953fc49e067add9814cb502b22939d318d176f GIT binary patch literal 6025 zcma)=Yiv_x7{?C^DgtsB;{|~!H#ZJlyBq6vHW}b_xEq2np_KM)E9-h{dj`9~m{$;F z0*V(vybxI=67_=t*EZn;0fQPL28=Pm7^8{COE8fyp#I> zuKS;J+R)grSg{@>$e|kcB}<~)RHykr#9Q!;MpeeJup_1` zWALQ0O%Lm)5ph>3lks##Ye)MA-*Vmb2mG<9KkTbfCOYl9n9&Is)*SCNt3q)z-D2a_ zk)Ylwjt{rV_*BPR9WnJ-yB-YrP2Ji%>~{7}fp>W*7!2##izj9JWHakFgd#23-U)V> zIN9E`lS8=8?q?CygiKRLVD-t~+c9r-xy_8iI^yhRZtJ&`xUD0O`wqBcdfe!U1$1B7 z2;hx34PQKs=& z%bri?9Xm~v`C%Y-j>|MNiI+W}jy&43@|Pl!0H#Qp1kRopkem#rNHm1A=LIAyhA9%s zVTzOqV!F~wV)`yQQB09&7H7{3NLCtCBofCIDU-)^r4`5&$w_32L?bzSUO=)!nIe%? zrbwAsrYo&nrbtdOQzV+q+4BODmCY21gfm6Tq%&P<#WO{6@|hyhfX<#5kgSNNNF<{v zQYNJ7N-L!)k`vPuiRN_nyntjSHANy(O_4HLO;=iBO_7|mrbsldv*!gQE3hdNNoN@shvHaMq(GS@jxsTH6avb1ga8+E8Rt^>JJ8uNL+0(f`*yb8Ot*b zBOF&-{gGf?_1ia2aW$+rn`&Js5@?;luJ{*VSm_|jWn3y+Lp9@#UW=m(&A2KJujqHKmd;$HyGGwiDAPMuh~ zD7p9Og`_&LNmJpGF)So|Ttw$X^9*d>jj|a$#9si-Gvuus{PeO~o@l$cBT;#!Pb-8+ z#!y7|6cb$n%`>pS^&*tbP)ht>XrAGE-GuVWwH1k;6Ni$Y4EAbe@W>d-$sUd93TU2z z{j*h~Y=#G+?a$I;Xr5vGo?jCEM=HF>$26vXUEi%$!6Rc>LiQ{rdKom&a0_}5p=^d~ z;(r*LXE=3z_0YQwV@v;NYEBIrUD_k?$QWwKp5;V83e7XHuSsfAHbWip*F*CR$6}L` zTZYb`JaY7_($in}X$|nm7#hi*6+}M<%`>oD_LV4`VHNQ|4$U(}f2{T9H2pc$cW_1O zonW`N8Xg(L8nUN}=qI3g1{Q&9Q8vRm;`c%G49!0eBs;Fo_AahJlbE}#Pg@Uo!4WeuYo%oxfd4_4=dMi!E9QJTit&WY1=zJE3_7c7EUvL)_5wUIhMi>3E}~zA z<{8)(*lv`~FhKk-LGuiGYnPT?J%2c%9M@6@r}t=k;E^%xC42S}{W3JqFd4m9P&UJU z;(ryIXSjA?W|_DD?b1E7#-)naY|&nWN5=3v+4Ba`2cUU|Dd-(U*$jt>|4nF~;opj2 ZB6ro)lOGP|ro6Si+F^J`pc?Qc{C~nh0*?Ry literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim deleted file mode 100644 index 3a72d75a3c6d0e32ad907692b673a4b7466824a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9890 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 a#aAtcataswC_7P(oSiXXeLMbl+J6B9ujYaP diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res new file mode 100644 index 0000000000000000000000000000000000000000..b8f5d0093b97abbad366a2e4b3f26f7c6196e07d GIT binary patch literal 6027 zcma)=TWl0%6vwCFt%6!E0s#a>traN4-gjwthn8X~6fN5#P_^rHciOJq-C1X+v{h&k zQ9(dN5Cst=8m=MWixIlpeF9_R0~bRKK0wff2hgaAG5Uh%+s@_e_k9mGIq84T{Lk56 zw%h+)!p-5ug7I??`u!m2np8X~>v1(@8idiHc9-ot*S2BTSgZLz#OL5Cg{skDVUMN= zW8g(|w~|nFHRY-kCcw*pG9u=%c-a*XUB4359XQ+C2q&nvzj_w5SqE zs8RUfbv2TSDk()EB-XK%oK%GSp_5QjoqCr*zDWsHO-GVyOcCydR~cPN7iM%#j&^6n z1)|=cRs`~iSet!lawD|`p6u9A}56VN1YXf@L^ybD3LI&t!sO&7jZR{Q&78k?fW?0-@7B`Q@&9J~Q!{X+%xEU4?!{Xtxcz7%xh6RQh77w4r z!?1W67B82@%VY5}EHKQlc=;?|hQ-IQ__!=S9*d7*fnkQl$7k^|EPjT?&t>uRSo{nN z3^Oc#K8v4W2{0@HE=z#N5@1+hm|+RDpgc?QYIW{iZw86(;0j8_`*jFGH-#z;7zi{}|6Bcd@9%4m#ahcsSk zq%=mdVj3gioGzYckc_0pNGPf?lAYCfr4iN`$x3UCgyXt+oXm(3rLL-pjMyco zVi{33Z=5n>Lg~=Org$paHLE4w*`?2iX<@@dWS>yDG`4TDwm^qmlaotia(9KMgvs!l z+@760F()_`ew!Xm)eCoM5m!u@2K`Y`gmXI5kAWt8M-`5Y94EdRP~?V=_-8_yv$H@y z4s{>Y$j?UU!r?8UsjaI+y+`eOaPn`tO*^`W=LLJD3h?k4oE}Sx4CFz{^H3&36Y{SFO*5R-#^?Hn zE}i}I=*6n@KMYD?@bDO#(ViBhSAnJ($W8kTP$t7_YXSZGx^FN&k zNNd5vV`xQtUPSsO&@=;iM)We2$?e5vv2On-V)05zn`v^UI7n}K}LJp zk&c3<8AuMtpiBk@`8z<<42S<(o84J@H+%g`Q~u872~sC`cnn==PaNr2LDLN6WYG;} zG9-{c37Tf;xV1C4?(g#I#VfzfR@4tlDe&+ZRJ13J^lPAL2J*l~gEAR1$WP9WG=rn+ zSa8!H2ZoL|PS2}H8l)cZ@EF#iJ-tZxfu){Gy{3ev=Pc=coVdlQJX;13?1^3V7}~|tbTk|esb#==`HZ^ z7&fClZzKH!%pP?05r`o!+$0CbLe{3b9Gw2p|(NV1s)#5hiK1kr1yZP874sQBPf$$ zFYf0!0TTc( literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Up.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Up.anim deleted file mode 100644 index f5d5ed9276987adbe05e22eac26ee880dc5d4c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9884 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�ERV3yUof-!b-K+ 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 RIZ=+BJ7d85cKn~T{{v>J^5Fmg diff --git a/addons/godot-xr-tools/hands/animations/left/Pistol.res b/addons/godot-xr-tools/hands/animations/left/Pistol.res new file mode 100644 index 0000000000000000000000000000000000000000..e8aeb7775e161c2662cc45198557519395f99893 GIT binary patch literal 6017 zcma)=du&r>7{<>~6cI!LxyeO9Cik$b9$!vIB;!7kv1%SLI>wz{^bYtP1}zz~&- zOu2YNL@%2dp8OsNT@ejM{AS3A+6Lu1D6gyXN=r+1gVX#U;&pg#LRG}Eur;nL zH{(TZvmVw>BkEqL48zOiO|6l2^_9Bm5BTFTf4F{$a+}kxiW}{KVa*{0xg=zoGG41s_A*|p%WY;9))8m-DD>ib!f1^L z^!l(7zz1&{^@)HU)fGnK9Ee7MChzaj85@p}vn?m>NFKv! z$6fAxChyp3n#}hBv2#(jnN7Uh`Ap=|mX*I0i3Bi3$|i8`yny6nFh!yvoI5WdSusqJ zNDfn^Y!K6xRua=s$%$f$M6)<|UO=+am?DulrbyX5rYo&LrbtdAQzRP6x$^>&70MKe zq%uXy#xh-L4&g`3w@fh)o3Ip_mDwD0wI!3Rk*wRMj608qtK>Xao&&R(pJw zX&B*z+T@Q06RO|7aZ0FRy}?wgaHC>`XJb%lAIw%MnXBUL{nd7K*yT98I%eL9>kWek(hxA#mY`YvdmfxY(>l+BP&{C7k1 z3G2!(rV^hA)01oB+EjRC4AaP-=|sbn$Q~Ebh0r_$n|GsZh9ctkK=TaVy0=eUR_CUgFYHKFTulVhWXI;cWD7M&#-Ffq*T|2L#dq`hx8o&rB+)AkBs3Svgcl+7eVt31JJtU&| zcO<_&e)z3(Wv9+}YBli47;4F$wN5Vc(NBRn#OCbB0)^rO%`13OPN zqilvS@kgL}hK8SZb+=v1FJDl7CN*_Yrxt}r#$b>=F``?bc?R~FC62Ng62#BWi9AE^ z=nLh+(*?;JQm4}+zi!rA;gK=4kv;2)ZinU>*m=1FWivcR{EtKP41fJO&$n~VN2!){ zZ~FVQb=n4aWDFb0o=rq|Lh}sl;nHT5&F}=Yol#q$d4`#zT)yaM-y{q4!9Du8721>V z$QYg?d!8nGD>To*E@rl&Y=-T`zXO_Q=(?Qj{-OHK^3DtSsdq1J(w>1w#;}v@=_2}B zXr6&xc|C`+8Fmr>ZfKsNcmC1xKQ88{)_5+ZKi<-)?SV(eu$Sz4p6C~#d4^%=y@;|I zULyXNp?QX?%_n`Id{>rvLx| literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Ring.anim b/addons/godot-xr-tools/hands/animations/left/Ring.anim deleted file mode 100644 index 6a870754cb387845e1c20e68f194e26dd8ae0549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9876 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 diff --git a/addons/godot-xr-tools/hands/animations/left/Ring.res b/addons/godot-xr-tools/hands/animations/left/Ring.res new file mode 100644 index 0000000000000000000000000000000000000000..7e2fa72280e92f0843b9c7f4e31f6a54676f150c GIT binary patch literal 6013 zcma)=Yiv_x7{||4L=?O*6vDVD;+QBL+OAy-?GEE2jGJsjlxr>PVJqu;N_&8f+Ym)T zLA-#VD4; z#_JPNy+a)DX_N5>9dCWY)Kl$xG!`*+Yj2O+**gH<*|BIeu9q(EU+k034;8!I>idgF zoZW0kV=U29x|ul(U9y)^%!-+&jKb;@H>0q+5(?{xL&0_zUXSzMYxf=JAaqiC+E|rp z*28h58E?F4gwxG>LRXmEIhKgD>q>8Q;(DURY*pAdDQ+0aaJv!Jm0oz3HuYp-#!N+; z+tTVd)$B~_3VTPKPOLp?q)a_p_zpN-JrP+JN0Ysv(@aM2D(sDOIx+UiCJWyxr&mB& zlZtS!+@^P?={lFd;!*(fQh62(3oI^G%HmRa7Pr9Sma@2IEN+1X!vc$2&f*qW zJOYbH%Hol+cmx&<3oITvi$`Fo7FepKEY&iWYJmmA0!y`=rCMO|3M^hJi&w_t6<9DV zuz2MxUV+6Yu=u1bJ{gNoV8O7!;*+!Z1eO|srAEq9BV(x%STHQG)W}(C1Qx%*;+L}c zWh{Py1;YZ1U(VteSONk|K*|!3u>=Gb3=1p)IZL32g`GaFP;^&1^Wr{>n znIaWqnXa^QnIbvCOp$0Zm(B}FRyI>463!H2Bp)-pO&Mn4o-FK%DiwHs8;X$)A$lk@TXTcw`LY$Q~EbZfKr?&3jNbLpAYxp?QYD(!(dOsFyz7Fmi8p?iowlcrqWStg*N5)V~_Gm;;gytF8KUf{g zW|#zRGfal&8IIl@a;jnCq0Eqms(kp|L~RN@GKQ&S&r?KCgXS6TLT@_CW~e9r8PGgK z>)L_Y@{jw4T)~<7uZCA>GvSdj%p!Yc6Fmo-XJ9{#JdLs$<`RDcG|zA()j!*L>fDJ# zpPrp?`iCy95gr*s6WKG5=x3mL26mf1A7wK{F!Z+)cob{fVKc0 z8N))dXA#khp?L=OtI!gZ&9IdC!_Yj##;LysM_k*Lxvo^^|2R5HdmbJcLxk*EMszbY z&%p96in1AW;$IHUGko~>g3Qi7w=!4G&&~h#eYw^GkBp&}?1>S*0-9%FXNfkH%@8O4 zc4(eq`SqRI)&EomCpUbPshZZMCE$@U7-Ub9=#|hs1N(_3g|Zpa#Lv!$Jj0xC4~A~6 z+YxH*H7Ylva-Fsc9vQ=GvS$s^9nd@jJ12LdY=*VOzYdyb*nag?_FBUy!LAFHna?k6 z)YiizW7t6UY$Uo1nrC1?ENw#B3@h9B&omp0uKiXH*UWG@-@EX~(o#-9VJOjJx zdL3mm>?Hm-pm~NX7t3moPg|JX|HX{_^o4`8H{p>nyhZlBP4q5ko}nDQ-6)&k9pc{u z%`<%W`;Or0Aam=? WoZ!XE-npt18?*!Pl%X2&!~1^+Q~f9a literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Rounded.anim b/addons/godot-xr-tools/hands/animations/left/Rounded.anim deleted file mode 100644 index 25f8848da19d2a8f3b8afaa67a27bfb644527bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9882 zcmbtaZFC$}8J+}a#Rl6#t0>wJq#!BnW;b7(CYbbtkJc7zS^=viZnM*7&1QGqozT{% zbipE65hE5_wQ3?-6{Jm~AhyX8KoPZ?s>tz|r^kBmC+N|0P@(Jd&d!~AXWkn+=Q!uw z?laH6d++n?z4w{fNjo=nt~Q+G0=!;?Mz3#2TbW7qC9G671N{FTf5OKvMq8Ojhy8ie zKH1c3rcDdI*WjJaJ^g*#x;CeBUF(h6?)jQj!Ahh-&2_1b`Rp#pBJwhq++bRX?nFLk z)70JCOw!!Nx~rVK-OYDP)@Cd--)AOM3CncGsniC>sgS;LEQ`TRJ9 zI}G`8xWGWvsq+pSiex#gZ?Ku*Hzv}3_|D%3cv~Jb4SYFp-YjJM^WA1wI@^s2wX$7> zZZl&VLhJuc33_3x=m-ZIU5u#GiR4u`9ybbAyOBycIPS`xJ)jAPtlj- zGAUXLIeS&P9Cg{XGoQ#AWY48jeYtGjGL!bYbXhZ#*p>!KLS3@g++E;IRA`Atf?A>x zsU;fGYC)++OEjX<5{(44#DtcZ&=S*ViRrbVRHG%P(-IR}>V=kip`~7(bBBb(k!&Zg_gL`64z*n>$RX%qb07> z5*J!pgq9YerA4EqMXv>=8Z9k4EiDx-boF-9FX{xZpR&`AF6dsB6L)m6@JKK3=tA%D zt{@i47)d3be=s}pIOXK8pAwSX1m==>1anC&gSjLxg#CjFNlpy&Dkq2ex8w#fm&B8p zOJY&XC3#uwA52Jc(wJ8{am*#TdCVp8K<1KIB6CSzB>M*wlAKWHRZc2%Np382Nj#Ui zBo@qEl9$Z>!Gt6yn|YNJ&Rmk4&Ri0YXD*55GneEAw0|%m$%$xQ8^-G63JvXQ;6)yCbQPEUHN5JHk&R)dJ>sr zA(Bv!X9|(Dx!sC%X8ZBfBe|S-;|%Qw9RBAxPlI_M8a?HqpWV(!j0M0KqCNgt?e&ZC zO7GJranqG4Y|rNVj4N?Qzx}Iiffbq6IDbDHJuf2JSD_I{cnQN-Gkgs&jX*#2D@T#s zjvB_`m|?_Y_f(0)_(wn(#f@8gHFgnEt+z&6j(XA zj^SktF9()R2BV;%e9>6>^up2$M-R5WKKG*Wsi^_m0jVc9o|AC(5p*h@)PW5;p;;se z$_b>nPU;zMV7L)jIx$8-+sCU`&BW^Jms@Lk@)HZqeeRsR;d2tMz6m`_C(U4kPN*u5 zrku0@t2tT0a4W-Yz#1oDi&$Z_GKcER-sq{nkDWZV^_CTp$%fKD{=LVY55JRe^&i4m(#d+T zK_`@c8_<-KTY#054>P=x;g0}ICzF_qBHDXn4?lFn$(x_3Z#~;PyR>unUUyDtZoD}O zSKo=Tq?1ixgHGtV`erocV3Lj6ef&|z9} z_H~5z2wfq))fKLO2RfBbdcX#q&>vG$Xv)c_fR&S8hSLo90ZS)mpn4K>FsJTs$L?)? zv-#TbN6t2s*8FRa?SLHlorJ5;U@Yk*3pVJ4{=AVxQ%*h&teoT-E-*~DWYS5o4m9TF z%*cY*=e2HJw|M;Y6_p+TU(5wv75!JnaP|G@R64m6Y|sh)ePJh>a;qO# ziVWY)@IAoN2}t{>?Br+53x}(U6ZSr#RVDXHxcbkcOgh;QHt1vyxO>r*lg|MwC-*UY zKf|8~mQF^nM;2kn8>7|5#Y?J;`^Tz^cjLTrr$TQ0a}uup06LUTz5q7pWG=V|(3F!e z0xKsEGW;cm2Z5!NBAg6C`OxtLhn{bHX=KL92Zp1iTW1YSm%^dyzl^b@lZU_tom>j; zD`?8eL15+NVTK=J_zq@iNReqn)>Y|nA z?f7u@-$IYl$q?9}lX>8V(Ug;K11l$wGW;EezY8p#fOHPr(bMn7kt*Y=QMFH|xm&S6 z@mBRmQ6Zgt4{XrMd~n}KQ%-&WteiZ?@Z${s5Lh~S4J+$3_Q_G)&2L>&+5P{qop3ka zoP?`?0%J)h$G`@i(D`vR8U<>WUE|CZq?V7(K( zfxU9BeQLhZF;xo}OUa2^S^j-u*PgfjG%BQ%-+>J}xdPnp(Ug-v04paiG5kk{Uj}{) cCwR9=;o=iT{=MKj8VlZ~y=R diff --git a/addons/godot-xr-tools/hands/animations/left/Rounded.res b/addons/godot-xr-tools/hands/animations/left/Rounded.res new file mode 100644 index 0000000000000000000000000000000000000000..e7375481c28ef9a87227fe9598f334251fc630a0 GIT binary patch literal 6019 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 M9v`s26aSO;KXwSp82|tP diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 1.res b/addons/godot-xr-tools/hands/animations/left/Sign 1.res new file mode 100644 index 0000000000000000000000000000000000000000..fb7d6de067134c5fa94bf9ec4152a27b42036973 GIT binary patch literal 6017 zcma)=Z){U#6vppR)B!323gMrCI0p)sw(Hiyy31fV1_Q?iC{vhaz1zyV-g0{fn*u`= z1wlbYQ9=F~0ys2iOpHpqej-Lc7!*N+F%S$P21CHa7(e0jcK6<%zVG|NB`14&?m16? zbmh5!>Kp3kD)!Iqp__50n~nz*H#9eN}hwsiQ8z=1{4NF=7`y9~?qiOmDKF6T2ecf&Yf-qn0J(wfn@E@!DO^nNiqBTyORn_kVJ3YZO|ho-{hm zX1yt9G~9@iBH=N^lPJ9OnvbYgnE)oN4NHz{TqiKY%CqALUODrxD7?2cuI zo74AtsR=nDIg+)lJ3VVIU4$$kgit{xAsj-kok&}}Bdco+7sa63`1=UF-0PAOp$VVOfBs|rbuogQzRP6`TGKr9m*7m zq%uXy#WJ0u-Q%gIgDUuu06p7|^{=R@@CpASPQB9F@SxqhNu%<|ET2mw%*ZKPbk{#F-i6k~f z%0)J{v@@F`xuH#wXlm#0XOY-NY_i#mCM*a=DL{o#xYC`es^Lh)h$q!nBVt(7y3A>o zVZ@SZTR0v`s$u8GDXGTv7E5i2w#FxTrejg*x|>-k*{kB*{na*f*cCdvI%e9iNAYo(#=1u=jo#E>&o4PA>@eXjPbzG0Y=A>{*55Sq;rI+=bqJl*3R% z<`+Qo3@6NC>F!fMe0Aj5nOUcQ>d_WrM#fM}d=?SC7@B8bk4K(BISh4VehD^J{NVtH+Ftp@H};C3+b&&%kcgm!lkpC&~O%&^*JYdDqG(UEY(rsuX2z zoSdVrz>JKck@!4K^fS;r1A8*G66G+gBJ)kqJj3C?SEP0o-b!6OTbKFs$Kl$un2|Ar ziO*`Ho1u9Ima!3(!=RJ-7HFQKpaEGEifNRoMWPUIOz z&ua}`tD2o2y5Yf0;i_t_6EiY~b;M^q(Ou9y13NEwqa23k$o%urJVQ(PXecxE%arxe zvdqZF!P*AQ$QU*fpG`#fK=Taj;nHT5!|(#MlP6oCd4`>rPNgp|Ia=Oxz9{v{g-zOv zn2|BOM0~aq{W3Jqz%FK9K{*WD$ozI_o?(38Z0Prjiz)y4F`1eY%`*%~?`@RB z@D7>Z3(YfJ{H37ci|WSofzK9X<~NSg-o=cJ;XUH>KGFN2d4>__?MFEbACUP2&^$x& bh-mq5R#i$nUD)^ep^e%>%oL#N@$mgWpqTxA literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 2.anim b/addons/godot-xr-tools/hands/animations/left/Sign 2.anim deleted file mode 100644 index 20b1757975e48a56880420a2da92ffa98cedd19f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 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 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 3.res b/addons/godot-xr-tools/hands/animations/left/Sign 3.res new file mode 100644 index 0000000000000000000000000000000000000000..4564fddd6cc2c3526f920f06142d47b1d03b40c3 GIT binary patch literal 6017 zcma)=Yiv_x7{?EYBI1>+5m7EOCk_r>x2_%S&c-G%<+cq(RG8g**y_5Ta(Xs45sDx; zK@o3wL(qt#1T`VXjCCbwkYI#pG}ExCgfD#152!JGF`56jJLmN2`@SDs@?`%$=l?wC z*RK1Yp4KbijiEylOk#d{cUS=9yfMLyB+-6NQX=Ph% zyfz-uyTtLKHW?r9dTZmBZno=@XxP%RcN`8Zjz%IeJ%7uDT%Vg5gCq6PcuT(jR;No& z%64a++y>TP6tyh=oNTk*CtDba-R1VMbJ|DT7lpk}L(krAv9Pe%+Y}OlNMl)V`%Vv3ISZueL`+^#Dl(TVBt7OPcZ@1&SvBpTa|h^}0V zM@dUhWM?ch+}xH_=crb9LRT1_+ljU(4Aash+4q3k)#Kr&7@F*aZZi?aS=f_sJ5lzR zO=RCyZZC_l-VAeRZqvJybe%_F@u)Huk1ApDs5}dX1s0DgW$~yyOR>OGEM+N{u@nm| z7#3KHad;$xG1s0#2#V4?o2`pt&mNFSjnZSZ!fu&5& zQYNtY1s1=Q#V=#=3oIBGSp0GpzrYd@SOQX(fQ%&|uwYnV3CLLjLoDpFV27f|4qkTo z%(dLKBY6y`6L&2zV~RxLm?Gu!n69(~nIgG~Op$0L z=g$jBb|_OMlFAe*7t3^|oy!!-4Q7f&lR1B0K(e!$B9U;WNV#;TEA4ouNNzq;BpT59 z^8%6`(G-bfG)2mVG+k+@G(~b_nj+Dh&Yu^M?4+hhB&sP=F01KEJFF>^o7NPG#&!O@ zfMf?YMIwn!k#dnuSK66Pk=)RxNHn$c=d(!cLu|6yj3z7yMHz+)q3}t!Tvfx7h!Ib! zEk?w!W_6jfEW?N;)z)x4l2pUajZ;#M>1!>uA=(n3;+>5_rOUo=%D=zbiM8z0J^OUb z&N?)pOoU`NWk)}r8M*_%+2I>ereS68%No5AWfC3_M=`oPiJlD2Ru0b|89L5XITnXSWP8apmyn1;TyXFAdMK=Taj+%r%P zLjm#M3(Yh9Q!&u@`}XOXHCKMhTH}6o`JolMJR`17V*!9<{4&u zb2hWB^Kh`d?Q-9FBdV$J$Qb63JszTqp?L;2??pKbCB$C}%`*hn9651Otw^`^?@Cww zmC}6h$Qa7V9zW3mXr6)nt;6TJYMXSg1{ zg(!!imiQlp<{6HfWBR&#zwdef!|&#v{xPLJ1dohi5!tht=q1oR1N(YpDav73M*MZq zJVVj^X`#tq?e9Go9~)ZrZc3|%N5;@V_ADoQ1vJmVLg`_Y!?2S0AA#l>)?VJ**Lk%d zSY3A}UAQ2nt%66!@F>~y7}1YI^9<~pq17mdVGZ#&Lh}rTou~ThI=7YYpIQ|9^3W#j z33y}-VX~)*=w@i1fn{t20&#>oWZ{MZ54}z)wg7mQqo3uDQG6sX}Nf5mbnrC2NvzRD{AxZq~ zn#eOu_x}*ORPkHd*FWjx!g;k?2Rt%{PO@h`(Ou9y1G_GFqa22(h<^h#&+yTi^P%&K znK^Q9Fk^n*pgj$bjA0|$vx(>wG|#}kT-uCs7@mQ4GHMGn&#+>|%DEFhKNjpcF)x#@ z*`RHON5=3h*|Ux4?a({}`!KTuKL*ck+@E5Blt(_i~IeuuP_8dGihTUY( z9-^Oz<{8*0uNP1b!(QTl5t?UsueUmVAhxmm)aau0Cs$M2K6qpdFOfYj6a5M_&oCCf zS5XebYs9}Fnr9fSjHHWJj_>*GNKq!Z^l9yNcw`K3kUeh_{T4LOFb=)9Q4Yfa;(rI4 eXBhZ5kRCj{B=~c|$V_3+M(rRx!%+43^8G(>SpH`K literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 4.anim b/addons/godot-xr-tools/hands/animations/left/Sign 4.anim deleted file mode 100644 index 9ab66d78cea921adc4b5829b9cd456da7e1be3aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 zcmbtae{dXS8Qw%%RIn|D04geopoX@0d--{3lU$*I#kQ8DTIE-I&25vjm%HJbes|Yz+ss2FK3|V^X~1p`|iG9+MV%c z-nr+VdvD+8x$oO&H`n&`_FQAQk9XmD7K)zVi&~n`4yEmEArJijJ^qG|zX!FngaZzj zEayeG)e2-jd+3Egt zsp!yjxaIkbwV55R_S!pKgV(Y=Z(F4yE0ayzmOH1`8=6xi19RSogRIPEGC9i~G|wlz zNf-KDXw-cF9X9I%pA8H<2YgR9Kj4mniXkZ13`e0s<-=pZ>OKVT0!`!-i76dh2ut)kOzm(u+k%dvRO-cqa`z+;MOe2Tst zkIB+jC_1~!Ge5~B-A4}T3gDTF@+X07S>|M zq!u%#)q+-y7Bi;NV#dN+5<*KtXh~?aB=lO)s?n0rX-NnzO+rhP(9)#Q(xlgdR*jY> zot7q{rCDfc7FwD$TAKA*(5lhWtkcpgw6q8VM3A{*u2Y4Y%a-*Y%YmsHkZUg zn@jRjJ2*^8a&wz^xxvjPdCAQs@#yA~Sax$ses~9mg(W3qdV>l_B`BHRAhqdD&FXT( zB!SkXH&`J_rgy@W$Y0vLh-l+AIvwx`{)}@7%!g3)BM*(OeZu%K;902sPd0X5hG%-4 zK8Rbce0f8mG-P}fujnuTdPiPOWIbMAj-p?SNc6{0#1X!N;VT*bI5171Kl5vkO1Jxb z&@kQ_$7c`X7Q+SfO#fBJ#W-T#<9`JXGUbsUhJ`hb&Y{V~jvPU2w0PG}V&!E=Hy z(R0$oa5KX#z|u(yE)0BpbbMm=f2a06{>EhPp6<@v;H};7zy&#Z8|AM_wEk8cR61z` z8+Jln?I^V-Nno`m9SkpKcnPp{0@7I%!`O4nw#lP!KHJ%FqB!;M>oz%SLc5FH_)enr zV=HQ$(1{y%G8-IiTID1Kteh-m_-cl)0hUf^XYIn8q~di(#YBzOIm=yf&JlI4_)enr zFT*UkCf9-uJE6$94yBx253HPgis9u9-vBI~7zb-kc3=}v(}sn!ohUlHYXx_FO(OMw z8V8b2R)7sVp`RRAqLhnn_UwZZtW%q zGP|Pn_h6QE(hD~1gnm_DgHldD3#^=cj^VWoe;#-SC-|NXbHG~A`N+JEiTjTq=@@;X zc7CXJ@pqTw=$}%uDCOjfz{<%+hI0%L0ZS+I+%x#nFAZ+v+1U1wk7T;pjyRQbCrTK^+BpmZ_{ zHtggAa6d#TCyxRvCyz1wBZhwrES-RKAG7xC>Nq;QcFDvIjiVJ8=X`#DNE`310AlS2&ulHuoor4x|uUHyp@e_y<>@$HF2C*xiJnzhx*ESX)= z`VXT`I+*|)c5*SeNtALj1+1Jr&+s(EF91s?DJ(6e@aTAD|1*BE!E0mQFw#DcXeQMSCyrSiAnn z662o@&KXbZA@7Bw_5TiS(#h|^hMjx>+)F6sZpDq06BauU23c6!g)e;ggs$tz&PPCf|kPblT&&%nybUl@Ls;lBc(#tGi7P`J2{ UniJ*7-(Bi`dY-wz2mdGSf7t}!PXGV_ diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 4.res b/addons/godot-xr-tools/hands/animations/left/Sign 4.res new file mode 100644 index 0000000000000000000000000000000000000000..251f28c26d9144d8bc6f5eff890f67ecf6ce7b5c GIT binary patch literal 6017 zcma)=TWl0%6vqctt}4papeP{J3WZ@W-Amc+w6=gnN@>egg=M-sv`cqqmf3093hg3@ zfTD;fAc&%PArR2$gMrSrK|_pD5=jUlG$w=>VuBCq1239-zU|EH+3))vY;wYX&-~As zU$@JDX11xhsYbAV?nnQQ0bQ-eld=)lRNElj2kOkChJW`|UDTZB{}3m^Ga9N|hlL%w zB8-I>&FxA;F*MavD@=fwE89AfEs=V~kfXAmk`s|-!lO=mg|1})hBU`H&Dwa{$hXLN zof=az?D$X{jZbpCb*iE0NhKDS4F&d2gah^QSS+CwZ<$=^QxoIiNK;&GE%rZRchO17 z?!1%QK>Ew#hC!c`Y_|Gn3n8(()E@Gl4E?6gdqP%NzYbbK;H<9Wd>DFpIHyBg)`^_n zW6;x;wAP_Vl}JL1!W(aBk#tm16@hGUj;V4|5k^8Mp{T7!n?OEE2~A5yl3Gj=9)MSA zLrLXl3|)@4r^N-L(UnpJLhN+n$&{uWN-X~waJq^rwK1m|^kqS-cEOIm1%UWhv*e zlrtqfl3k)+XK|V`xh=p7#tWb1W!AmZmg_e_c zD38Hu$6fJ!KJUn78qE&@kxN^lSxCI%`F!NzmX*I42?a1lDkO06JcHz9Fh;^5Ts+Sp zSuu=}P!40HLJ;GXRubcP$%$f>NGKoWGD;n`8*Q2iA_iKc*+1F2*aSlP;jSPA&PP=rm1PMRf}oH zyo^52(6mHaY?IYkT9oYvr?i+*HW^}byj7j4$mJMI!=5~LXpQf z;(rRto}CVQ2Gj_sp`RVnxVgJ3Pq}AT9@{GSebthb$Z;OSOz7Kto<@2WXqthXdp4BK zP=fr=fTkG^e>18-vi9fP_T4wkF*jCArQqQ)Jd5_sL3%D|nt{BhWl%Q5JmjAbnr0X= zbxMDF_0jOgF(GrXzg`l-!(&*0_PCICgQgkCya&o=@FIUXXqq9o;q=8@Vx`%BeV6*%WTkcB;W503_Pm7j%b;ln^3BkCD4Sse@<%|^45giya*dt4D~`-43x9vI zN7@J;9)pbbv>+V?O*4>;jX~KA3i59PO*2&KpNBFB`+L_lRfPucW~El}@EF?Ao;cE* zLDLN6I?)bgGbE5d37Tfuf2%ilyYY)q_IinV?q-jqf``YTp*<<2w}7S@$k!}7l+BPv zesWEu8FHex@5;5DdG*|}@G93fsRKMbhEB9+E7BRzGy}OVcR|?Zj% z0ebI4*$jt~{|IQBVc?&jIr!7^(2bIjeWe$=rK8~CF?@jb97FmzXqsUn^ge{L8BQSo hN1$nj<9803ch4^j&00E;o0I90J_gS)s3!RG{Xa&S`+NWZ literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 5.anim b/addons/godot-xr-tools/hands/animations/left/Sign 5.anim deleted file mode 100644 index 29520cf8dcf3559a5194708386a0b639904e1e1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 zcmbtaZE##w8NLZtM4%0YLQzx{MG0wl@8)yUd~BhD#kQ8DS_LKDW^dEAo85JHBaKwD z_(g$&;Y*`ch~NiMwMpworAb^`6&0mL#bF#~=!|2T(HV67sU_?4-o5AE_uluUy)*92 zJALl6@1FBKd(L_8?xubHeb*Y!<1GBU2u1(C8MQi_9!{3hxh(Mi_jm~}KL@qCfB{De zmVME`!^&7CjD8-T*|dFRc9JpW=b0dX8Yao*w#DbP` z1I0lrYZ>I(eJ-0EwhS61V`Ya*+wFau$>s7kD3+|e-Cimr2X_=B(MV}DUmL(>@=3gk z-W-=n(^kmayUOKg$bnl6$-F`KTsl3R&lO5m%HEeQYh{yLGayN*OYX2ni<~iq7Bdpm zVn(DEGosakR*e=jqS0bTf?8riOH62qX|%-jTF|P|64Pmk2`$Y+OS90@tkKe}*Me4! zmS&xnW}&4;XlW5zS~OZ(^jgrW(bA&R(jv693N5WdORGjpt6mFQHCkGAT3UscHld|W zXlc`EY13;#t42$kPD`86(k`^L3oY#$E$w6mv;l7W*d?lAJW=T}~WxNp2o(R8Oh|Gfns+%F%_X@Z%_Z@a z=8{-Ub4gxK`zI5UoTTPmPE>PAZdP+iJgm7SmeyR77uWvDgd``hd6$#eT#_5vToTW0 zE{TOUm*l0ke=;G-$!*@{1UHxDCO4PFqnk@&+07++;q9L+C@Ch>8&ohVLCN$6sZDQc zR<{!-3A84?!3s$-y<^VDXZ9|E(nwk$y{TCzNt@ni7LsIo$7Fhg(nwk$y{TCzNt@ni z7LsIo$7Fhg(nwk$y{TCzNt@ni7LsIo$7Fhg(nwk$y{TCzNt@ni7LsIo$7Fhg(nwk$ zy{TCzNt@niwk6S**y3Ozoi70xMjfgLg>Sl@kw`L?%4Lg@p`a7Ewz>uq^8k@dK~0!6SQUI{FnjGLhG7@z*@`Kj)!E^VIM^y=Tc?|N<2c0z8dJ}2S&BN$OS!5bu; z&?=Gy!g|C7KU4ar4x`wdD<{4Q)d~ISQi7>=Ir(OFI@b`=fr;QjQwqBlTO;f z2G@kTI#9|<99XSMC&Q~4?gC!eiDCS6{@-1vUTT`1TYj>8%{jMYCzb7;yV;<3~Ct zpQ)v80<>ceQ%E>1fzJ=idVCkeh1)3h_^S9mcbmOz# zGyiICnk6U7Mc|x->feF^rIRGspcDG7ek)2j83a~NQVd%RZv)mip`C?F?57i7ZzQJb zPfXB`vs0K{`0tGNPCR4(5ayCjwu22ip+BXhQOe0Dft8aT3}+Y~29{15oD+ZfR6TMF zwZCr5lQD8aE^xmOWLLQUEas9ulW_ebm`ghOG}xdM`s>22DCJ})uyQiW@Mjpl4Olv< z><5iCNKBoqzVMDZBN3@9Zy;y(T40Ur4D+0X>)(YzrIXKs4LVr@?sk-NG6t-ilo`H* z;m-j}Cm`)dd20QG_3?c1fzBm+WA=%swV*TNKPTb(KaV!)lfA&o$u}7OCc}>aODB~mXsm$|-Mz=0eeK3aR^4;Qcj)(R!*K`cpt;x2bNCg)5;d?F5KIV3HqiLt22(^x^_ozOMi2$U1Zah*&v3`s735Lh}nPVG1=6XtxiN)@eEAIEUs&Y~UW?XGbBKf<8W z$&bMXom>L$Cn)9Qr@(4W4l(>QhMxwOPCz=J>R*2OFRPwtJT-IZM6~DCMZ4_GlGzom z|1jF5lNqo#^09N zC!W?reijbb{~NSPC%*+7bn+H(&!Lo)-vKKpzi0S)hK~X3o!|+a^!eUn%Z$XaMy%1* zbWW(q36*zF?A|l>A4i9D@&eePledEV14=phBd~JvCx%~S_|L$nae`;d6fVxA=0rKt OI6>dS{eAd9Y5xOihuKL0 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 5.res b/addons/godot-xr-tools/hands/animations/left/Sign 5.res new file mode 100644 index 0000000000000000000000000000000000000000..3205e2491c82c9d95bfdb975dd8f96754ac4868d GIT binary patch literal 6017 zcma)=ZERCz7={n{fry`c8Wm-TW8&b@b=}s{?rd&?1IE|};zXEbJ=?lsdd)oSj`bx$6xt09B6S^W2>I|46BVrqrTcDO7`!=V2^RafP`9H)#c*deCVp!N6 z)0J^}(9ofWb<>ErtCR_NxU8+ab4^o?ZU&kIv1lONv{<>c zX)lc#y})MUlbmLC#MEP*dN33)bsU(812v&wFsx^9nVji!6XS8DJ``!q_TOiB$w}Gn zw3FMw`in!R$)A&Lw)$iXBeA;N9`;N}E)}t}3pH|8oD0SFTF;Rf8L`!MocExYCU!c^ zWu4vWJ%C7^0Y#sb`#JM_LdUFQ;5T&j%4rAk;_D$jypfyJdtSzId5QXsGtNLdPG zECm7!h6R=aIZJ`S;ucukQWm$2#VxR4SYUC>S=<6kp}o(oEuI&!;1gwygZ6NF;zMQYL}3=LIAu zgDDaX;p}+<$%&2vV~RxLm?CBJn69(}nIbuf zOp$0LXU_{rRwz>>lFAe*6U%g^mCF>#31*5!lR0}{K(ex#B9U;WNSSn|E3J5@NKQUe zBpT4!^8%6;(G-bfG)2mUG+k+>G(~b^nj+Dh&Yl;LtfZz$B&sP=CadX6E37G!lhzc8 z#&!0*fMf+WMIwn!kus4@S6Z1(k(|(`NHn#x=hH~+CN|z23q?%`MHz+iqj0BNs;Yrt z(1^s}-qA=Da~=9z;*rT1>ON=e@pXFgwT zM~B_=v%6z<){y~a3MBhbcKFL#{s-}!9li?{GtBhovL<&>c?ge3qZr-8L{EigD@Uh~ zj2vgaM^Nlz9P>YlvS+73=b&y!jr?rXzMlC_S<4>>Qr8=|`osGo8apmyn2x@^=P{yZ zK=Taj+>fJdhFs#G3C%P7x%rB}#xrN=_{wYk>!*6PJa}XbPmn#ch<*~9XJFSfA7wMl zCjL3lJcD=jq3e2 z$es|9- zQshewEc!j!HEkfZ=}N!09v&IP2C}E0=ma#+z`k7Ch_V@8hPE?m6Ex3|H!mB|C)4W%c?(D#{yYqSjWi#v|{x_j{hMVQVWd4dtC%!tAKjf=jukD6M#_$%|vxn%n zp?QW0=)Hro8QvxSz0f?v@W0;V&7YR|e$5>-ly_o-_8vSkhJ9qu0MYxQd4`GTy^pdP k4iNtb&^*Kb%X^YnkIwVWSU8-T)!VOq2+t@~J-&SZ4~#Sad;kCd literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Sign_Point.anim b/addons/godot-xr-tools/hands/animations/left/Sign_Point.anim deleted file mode 100644 index d2ef6072a696a7d32e6def7254f8e82886db5b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9888 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 A>i_@% diff --git a/addons/godot-xr-tools/hands/animations/left/Sign_Point.res b/addons/godot-xr-tools/hands/animations/left/Sign_Point.res new file mode 100644 index 0000000000000000000000000000000000000000..f3346f054b7880062dc3904b2e1e8d9a9ca2538d GIT binary patch literal 6025 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 diff --git a/addons/godot-xr-tools/hands/animations/left/Straight.res b/addons/godot-xr-tools/hands/animations/left/Straight.res new file mode 100644 index 0000000000000000000000000000000000000000..9b1918d66124bc1478b31bb0761c14a74b56232c GIT binary patch literal 6021 zcma)=X>b!|7{?bp5ET$89(W*#wIZ;z=@pu=R6y>lMNw2@XqGlM&4$eaUK6uakP(MNUMyWB3> z!H$@5avNBGT-35;Bu<}fVI)qM+rv&v+v&?WE$jrgofhu|GCJpP_j;Yt%g}ip=5mhY z_3lN_)RV?+vqlfaj2fJH%LpZF^ti6D4c>F{aD%RNKqschYpptky^>;vkq9*y5nZ_j zkCK+2$jn$~xTZd-4pOao30-05)9XYV5{7B%k<3fO>+13Fj2N2ifL=2Z#!(ou*NL)! zctT;P#p`7d=9*#d$o2ZXBwbf1uoS8?mO@p+QmFDQ7#3IxRVhoM%Ci&+EJae5A{k4O zz=C0crAW?FB(V4d7N3;GCu8vmEEpD8d~z0_z)~!*6iZo(Wh})43x)-jVmV8(z)~Wx zlt@`hWGp2D3x)-j5;;qWz)~u(luB7jWh|uv3x)-jQaMYhz)~i#lu232WGrO@3x)-j zGC50`z)~)-luKF4Wh~_a3x)-jayd)6z~UEJ{8ARbjKwdoU|3-B%US$wEbK$U3B^Ju zcu7v8<)t0TW3=74%bm~U9sBsru5^IdXIr+JO}yOsOytp)lfM*+1TaO)CUEY&faGN` zMWP{`J1-zPF-(z24pXFT5Yv@T64SHfMKML9S)4mBAUSDFkw_d&1@Wr{>nnIdIlnXYtlnId_?Op$0Z=gtdAPBv2{63!GUo6dBl6VDXM%V&y2 z13GtJKyo6QB9V-yNZF94E1i_4NM1}+B%0H?^8%8S)D($CHATv1HC^e1HAV8$nj+D- z&Yc&KoWQ0?B(W({HnQnTC$lM%7upnwrgrXp28mt7CTq-S!h%qgb|?*nE8W4W8jeJa zcv7u3B8D}f(HvkIMl7k;h2xQ=8g_4-l4?w!X{pr+!f0)sH4vl9{7!6{lDRI<-eE0A zhh5;a>tlAOkLcWM{KOVP7F+z4<=IRHb+0yoz zXWE`;&pm`F z(S4zL26pU6Q7%J1@jnL5GpwxqIlXnwed#N^PXx~QY0?Vdkuf|@_VgqA322^yozwm( zmtg?$4}|6!{L^rbw*D}PIADm*fVL1a%M(M8Za1Dp4uT!v!eFM;M6{yBc# zZaBOl@JsK@!DGFev{HCv3}s|bInjP-o`L2!Ka zv`GuXBV!ms_ON%2``Q=^%`>n!S|!S5coN$64}<0zcA4GM^IDEIZ~Nriii5{f+HiPe z3?s;%r-&X2%`@DF-YAsIFq-(sK=TZH*R2Y4S@P9^+RX#(jd(qbg-6CPj_esv^aN<0 zfxYo3qFjba#6KCDXP9<=LCdHEod)j@{L!-KT1u;eN5)W1_DmuAX=t8--L5}_av7!) z|Fh6M!_14T({ujL4-A`p$SxR}(w>7y#xRZSd7kJOpm_%N?a+%Tmti{bhoE_eBilX> zZa-IIf44qAxaO}W?In0*3}Lco2GKRpJOj(v2+C#9iGLJYNT-TZ`$N~x*~@yH+ERFA49m!#SBZWNnrC1aG_RvvhULV+0-9$i$cqMku!h^( z!H%u_wl30E!XsmNgX~#F^qbH;1H1Zq3*|DbCjPgfd4?N9BX<9(J(~CI?B5!gxKLXI zkBs3RvS%&P>!5jt?&z&YxeObK|6ORF;p|nvedF+i!1wtbS__&NX&d2@F}z3iyifEd sXr3Vtz0D|>;RE9T5SnM$baAbHd3Qyi@0hdcevM7q7I@mBs_+H;f3nsNIsgCw literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Surfer.anim b/addons/godot-xr-tools/hands/animations/left/Surfer.anim deleted file mode 100644 index 3f17542e82ef72aec5d3a1f85a50f7de6ecba59e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9880 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/left/Thumb.anim b/addons/godot-xr-tools/hands/animations/left/Thumb.anim deleted file mode 100644 index 4ef925f8837dd87e0d46c019ef90d655647ab244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9878 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 GBkjNRkh~TE diff --git a/addons/godot-xr-tools/hands/animations/left/Thumb.res b/addons/godot-xr-tools/hands/animations/left/Thumb.res new file mode 100644 index 0000000000000000000000000000000000000000..1b40d9fb451c7bdc279e9b01b64e27b29a0496e3 GIT binary patch literal 6015 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Cup.res b/addons/godot-xr-tools/hands/animations/right/Cup.res new file mode 100644 index 0000000000000000000000000000000000000000..8c51ec0eafd87d772a028814bc4dbc863f23dbfd GIT binary patch literal 6012 zcma)=U2qd+6o$8eh*VI1{09|81hk}S(x1>|*IEh|sX~iX!BUrIX+x82*lbIyK+&pz z6f1~-Al562GRWYJBSTw8afA!;htXji^umD)M@JZk3#u2+__lwUvtV7(@P!hptG*61p8TldeG-4fW}g?#js*Pi*j-|3iEL&kd*w3k%yU zL&?XJx>h4@*k&@YP?>_KD_YtTYa43}TW`{>lpb%aRVI1uWtQ0i7}mVWYc7nX?M#b} zS0|%Jhd4gcCgZnw-s+@nSP3H<({01qJL2~CPKCE77LCS@+{Kf#eX{x1Y?oVobM}b0 zo9(ELC7W|MGiRnt_A-i0kJ~!Y?Rz_!b7{=BWxP(G>}9-8m)p!JoFm@u+tIU(wAp4g z8I5tX32(e@Hl~}5q@gep?^se#7|QkN#EoRL-J-B>Qrt9CjR`YqDA(ax+BQ;|8QapE zTGPHlpWT@<6!wmIome7eTDB3*dmXcoqx`EPkJq#qZ-;iUgJ-DNB)zrAT1Gu)tCzXDJd` z0s>1w$`X*V1Oyfg3oHRSOF&==3M@e>OHjrV6j(4Uumt5SL4l=MU@4Ze6w6qO1r`ho zEX8t`Vu7VZU@4KZl*m|01QrYnEG2T55`m>uU@4Wdl*(921r`hoETwXmQh}vRU@4Qb zl*w4i1QrYnEM;<*GJz!|u!N*6AsI_ZV8O7!5|XooMp)SC(+Net6TIy7nQeJ#NAeg> zH|}!hGkM2O(`0@Gh@FeF&1~Z3&SxTzww(N>NF;zMQZ|8e=LIA$gDDaX;oNxv$%$c# zL~@uSWrLWmbds39OI{RHB$~y!^8%8S#uSOfF-6MeFb+B6*=rk!Wh?&S#L=MQpmsiluA_Mae^zqj06Wz~|GWQ8StLHJee>F6gid zY}1UVeJy%2n)d1LjZ@lZ#hP1eUu9crKE{;x32c#)xhBruU2R8)U5vA9V|EV)w{n}K z4}UZ-a;J0bM*Ou*J9A6c7>Fu&;rS>O1Di(lbZEA3ROZOYapt=l#qQvk{~nY(doT11 z)L7KWW2?4$T9rES*yfYF#(btu_v;!v&iHtSndrHD?jw2@G|#|Z`+k(mFq`-vfaV!~ z*1s7VU3hNj)X|`NrKVGx1CNYhF4;4W=m(*B2KN3wgmM`Qh<`pb&+vKWgp+NX{~lcQ z)1`s>#AeM0kBp&^?C}#_1kE$B`2fmg2oirWG|v!PbLhlHpBhe_-x033+NG7iBV#Bf zd&-CoLGujkvtEF58Q2%w{T##4Ji{G@zn2%p#z&3}&r!#&+@wX|kuj)bk4E&v&^!bC z|EfT_439v&43*G4!ym;}gFiGJ54X3RRqOiJYYX9#F;tN~i-=wf%`=Qc?@^S?P)+K7-`!D4?FCJ6l<5JpV@W>dJl07vKLyP*9M7+c{FA&gu%}?Bx+lL~ zdm0`Y!z!|8HPO#N^9<}qp$3%8u!i^>p?QXJ*JehB|6NnQVe}{Jf$vQ1S$Jd&I@z<9 z=q6~Mf#q8i8K$83Cdy@ai}>G$ z<{4&P?v0GvstzgxN7WC%FtvB!kukhW_Ut2iKQzxU6}|URF2e!he;=A>_|p0-++W`l V-Z#8o?LLy$`rye!)#7*e{{Shi^|t^3 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Default pose.anim b/addons/godot-xr-tools/hands/animations/right/Default pose.anim deleted file mode 100644 index 19c3cd0e516d4fc028b007a2dff1a93def875788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9893 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 H|0(T%h!Nya diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 1.res b/addons/godot-xr-tools/hands/animations/right/Grip 1.res new file mode 100644 index 0000000000000000000000000000000000000000..a948e075e44c01411762a883907f0342ad7ff57c GIT binary patch literal 6018 zcma)=Yiv_x7{?Ewf(RmmfhadYk%6PMUE7sj4wE4cL17!W!I)ip*vi_T(w@Plz)+F9 z+(8h$5EK;fiyzrWq6zVX2>~T|4T_iu35i5Lzz0J7zuh^fPv7_b;F2f%_c{OP=`UUP zKbPv7>KTgp^AP#nAG#tHPezQmp0W%|AE?Wlj*Rzye=%w||A+Vlo<~s?87yqgXv$-F zQPZL&G(%6hE0rO5S=-#2Y;2gT8Ifotla3@Bs+GZZdtOFw0}N{pvYVChtdVQ6@v2lz zYZJ$N+GM=g_Ex0~EtAw@@ra?BdwbmW-l6c$jmKgMt#ENszE3s}%XhiePvno-yV;KF zc&e#zGjry;WG|!0^|-B%TYY;cbIyqyhK$$jlf8`B>~fnKg?Yr@{UmxBEvvU?qFO^j zkK%(j^oDFyOKA!tv5%!9NlodCPC`pH8O;j&CM9$|-H_B{n({DSWeqKzn=vwxXiL^H z)nT-!HHCd5b|;=p>ls6f<-P-US4%}26KJwGw43P&-i0CCojCi;rgPsayO%>)lZkNe z+@iH-={l#t;&jMZoDK<#)4{V~SYUBFq%2Mc&*BnTTv8U7jKw9eU|3*r$yrnfXhRNB~o$d;%BF3rKbbQzRO~h4TWE8N(Eb?o#4G>Z%81tc?#DH4feij>b|y3!0}iex7;MWT^hI4>ZXp-hoTDpRC< zEYp={E>k2sm?;uX=E8Xa$;@VoM8cUO<WhibQj|a9%(%lbRxtsHRBytfni?u%<|MT2mw%*M;)}k{Q?(i6k~f%11U` zX=XM>vO}99(bO)S&mpmk*laWtPa6=5(hC(v;YxR!!x4$a^i}Sx3aWamqR}@up_OF$+t^I;UV#X&=aTDY?ty{0-I?blCMcyF6xZ+cTgHhh%qU zr%z1^J%!)w@BmasH*z;-4eproG+y^cF}#sPkAh|^d*_by9B01KD0Uym{9{no>{#e$ zP>-N`em1E0?;Q&--m#?n$L+=8y1lx}j>{Ovp>OROPxQ0UJOg|0=TH{I1mb@lnr8?k zXP-OzYh~z%zmA443{0sL;gKjj|ZZh~ERvGx(Q(e)dmCIGDV$HCXX)hw6n##^57+ z%8B+v^9<~7Jq=|s1c*Nf%`@CN{6)yPb0c^t@mY9qV3itzN5;VZO|0*OO7wJSo`HSc zD^M20i_q5W3}~JqeZcH>Td76 z-tm*c-zHxOgulKJUN>%~ zx&$5>Lmk<(l;~y9JOg_)RFAS4mJ@#iG|%AMJ1SH(@kZeM{!8K8b#e7|cw`I_vZs;g zC^XN&GB$>?7&PKv0nIbiuejfN*K;S>cXfZYZptFH2_6|kGuaa-dL=Z^z|IpbD2pLM z{7Gn@Va4COy4&tf=&G9kZLnlkhnj*%#-NiuX`)v_^9<}cO9o{zWQm`h6nTd4ruPk= zs_YjSQ*}qB+%3|0;{9B=Uh8=%&c3+==qO0S|gy5IItXH?eBV*W3_Us_~J!qbR zU3%?ASq!^~e>XJGuy*&zu4^^*L1pCGaBDWD?tw?fu$S!FNA!MZo?!@j2T&HnLE?WO znrHZ?V|X}yX2iLfd#;B|uP;{*!6RchO!j<0^bu&DVJLb>Q5M68#QzaA&v5Yfi=hRs Xe?rS@uZDM)MAeVs>4mDs)A#=Xf@Aef literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 2.anim b/addons/godot-xr-tools/hands/animations/right/Grip 2.anim deleted file mode 100644 index 1b0a1848bb6bbc757013598c35f1afe4924735bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 I3;rqX|JaJ#!~g&Q diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 2.res b/addons/godot-xr-tools/hands/animations/right/Grip 2.res new file mode 100644 index 0000000000000000000000000000000000000000..0edc4bc8ff74a8c9f83086dcd386c34767877f1f GIT binary patch literal 6018 zcma)=Yiv_x7{?EYiU=YXm53+^a+9reUDuYj=PZn;Bkc?*H$lbr?%DTy_r@V^^M8l~n7IvAZo;t1 z)Ro)uU}1xv(k&zHo2f9fMfFXM%VP^nqZwyS#j2ITZgXZbYvo$Q(5gr$^yXNlZpCZk zW+vBW>%DEVewW*I#y~F9do@{b{(z0Z{cAxk%Uc1XVGYb2N>&>ol?{iUbjYptu z>RF@7tkq*FqZSw5GGf_UJ*_JY&^?xpH|ol*=%n;?omH=}S5nF_GO!ZQl{ zOWa-#VYM0O&fK84WT~B3VDWlnEMAX<#p~f&uq?26JyI60hi54fSW2WUB{G&0fd$I~ zONpGNL}2j=EIuiVPsZXCSg1fyFPd_@yj< z8H-Om$Uc3oJo7OHg152`nKgOGw5N5?HV-u!Q6+pCxSxwW+OqSPB9Q>5NcjXV+!v7C45mmlgbVit zBs+#F63JnTln-KRX(utgN^TTWB$~yA`vQ`k#uSOfF-6MfF}1V*ONOoXT zB$C(^DIeL?(#~v(@GnFEv2CB@iOS_UyMC3jn#|A4g_9d?_}Zjae% zdl!^@Alav~BZntP@5OI+cp%C&tlS5)m@lD>#N)mwhIb#)qoA2(-`tVj<81DJ6#E>< z<{v;gyQ87Upl(6+{;bzV)O&j_ZwW+eF1D*zrkff&E@OBQeaB}k(c_?b26pa;P!7X* zGCu*DXK1=$^h5`Y>#muyq;uEdW^E#7WDJvt&t#$>hUOXAHJyTT7>dYzF*MH*T6XBz zj~+GBc)mSS{%4!!!HkSyD)I3WT>{NBuzerOVJIc@erTRy?eRm=y1_k>pC-4eU-et9 zm0?E45FkE5qC?O;1ADHgp&W)VnU6s83?tY2yJj~Wjr>;nm-@x8HChxiG6wc<;=CR- zqNhXi4D97zj&c|tfp&IhK=TaO)EnWs>DKVTOFyfhu1jb$F(YG`MSNxxJqMa+=#So9 zl*3R#=I2543`fkN-7TGGLc2fww)4cfHtkW&$Qb4mpGu-1gXS67_al#^9EJsCz6zRW zm^ZX3a?R)n-)K9ko;#D#sxc#DSV(*p5&Z--&%i#bFGe{GOUV3_&^*Kb&qhUiP9(!0 zTPM{ury8`Sn2|9&MSPwn`Wa}RfqgafEXrY6M&@JCJj2P8L%O~z{yO4MURMWH)@U`D zkuk)H&vK$`p?LlTjO?d4_G5JG-w`b#%3zA0Ih- zsa1OcGctxv#OFn#UxMZt*xk&_D2HJ)nQw>Y8NR#5h49tl_tXQ|O>GNiWDHx0 z&o-jBL-P#m*6S6N!?1(QzY5JWoLzh<8rzvY*1!6^+Sy*Gy@nYX!%pI}i|F0ZJi{>b z_MjYwy=4A%Xr5v0mrJ9^`}K()EdECA=(|#T12Zy)H;K=XI~ literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 3.anim b/addons/godot-xr-tools/hands/animations/right/Grip 3.anim deleted file mode 100644 index 2db553776a5a6ced05bb45815e4c8e3bbb0439ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 4.anim b/addons/godot-xr-tools/hands/animations/right/Grip 4.anim deleted file mode 100644 index 1570b8cb881565a45813fc35420ad376e8e60fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 4.res b/addons/godot-xr-tools/hands/animations/right/Grip 4.res new file mode 100644 index 0000000000000000000000000000000000000000..59b168b69c38940318421ed5af6ad680d1906e62 GIT binary patch literal 6018 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim deleted file mode 100644 index aa2389c2433aa401efd8b099e905f316fd449237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9889 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 IC;mC@e_ocz_y7O^ diff --git a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res new file mode 100644 index 0000000000000000000000000000000000000000..af238ac6b095e42a5fd00ca8be37098f68cf5b0b GIT binary patch literal 6026 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 OY2+|?%AlIz$@_oOfb9+d literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Hold.anim b/addons/godot-xr-tools/hands/animations/right/Hold.anim deleted file mode 100644 index 5f3df85eb87596d45f99f48caef9cc4569633f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9877 zcmbtaZE#fO8NCFpq89m(7DcEPN`)pYyZPKCyPJqDLV?nN1*H%+*)`c_v%BtYG>FBk zv9?M-sA9EXCAOut+LlD6S`0K;iytlGXUFMGKgQANPdl|UR!61hxqIJxpL?G-^v<|5 z&*bdcC-*rg@B5y+yU?+&W0_$;CgbPnDEfI8sy&zKPnI+J9PmebyoO(&f@&|~f&<00 z^<-UNI-4%z>gV8<^}PfAU7hPQh0YG+T<7^^nNm5K1vTBF))w=FkVWK7hg_X5C%coy zf<@EiR^(FYL3X*ybLVoioR$^2a=O@`PGyqiv^}TN>zh*{J##*ei>%J1QrWaUXqrnn zlRn{czELyWSJ*@?!HoJX{fxdP`QA^6q5KY z`r|lEhPFb%+Eormm+ZW*m@F7%&!IE@g?zD`PFefXVbi%}R~94*b;!Q-wi0K;LQ6R0 z*Afm%E#Z(>3tBZ=!Xb^8aLBJEBD6$=mWW16M6U&{8Z8l>mWa?&E40)KEwvggwR$aR z)o7{JX{i-j>V%d$p`}ivrB1H}tr{(LIxTfVOTExiFSOKawAAahpjD%#UZ*Me4!mPVbHMxmuiXlW8!nlxIP^jgrW z(bA;T(j>G*g_fw$64hvl>b0O%qa~`-60K;VySJTwVLN!el$CaLLwCFExTBkeOS*YS zH+q+M1hGiQB$asHVOHdE%FbUeB_ufs%q8&%=8{+jb4hLpdxr^0b`0|_JBRsS$q8aE zi6=3a#G;r>adB|_<(k1_O*x;>mO{PB zT&fgGs;_5Cp<8g+haOxU`?UQ6 z{TkkHUj?;s}3+;e`x;7MLc`XZ*^;Oc+Mn zD40hKV|=8_Fe9fKtM*SaWHzqzn(N9uGT+seYFn}z2oh$<5cR~&pqm+}+ z0V^lf4A(Hc1XwzG3Qo*0UJAec_t%aL?YlJIz9<%7HNH7<5)P;)!GY@}Sbqo?lunj{ z^*fVYGR-fcMC(0z@y9`C~mmFpx} ze*>;4oiu{=JE5*7lyVXUR!*83Zeh3;SULe|m{=FXIGi6EYrAFN;pXzr_>Subu#-&9 z?h4jV=Tka~gY`T47&we_oU{QeC+!Sh%J4E^>EszK=T@AHdz@W%GSQ4>HLYDmKdIa` z3D$oZW=SWX2kUo2G4%zMT9f6#%E{#nuV8p3uyjIaWE?JDAHDC2n$}O>JE5H3gi=nv3ap%LW_Sz3oxswG z$|58D{Pvp;RX-hT{daA3Z1`x!0l6SIu9IN>TQN&INrLq|p)cyYP|8U+uyT@OIL+|Y zz|zSs?5sAdiFp9Ew8|JBsWSJ_I$61;?kTR5VEsLqC7tww^*f<|N6Da+ldl0QCw&ZO z8SV#`PTK5qQW)u+va{*JcMh~ZX4EH+zg=fJQI1?E!TNKUC7tBK`km0fY!pz+$u+>r zNs-|a!}M-UIx*pdPVqlR=Du}nOKxvC_HxUV#GIElIQMw(yOm)51GuPkaxGZD6Z)rx z>rl$cAh2?>jp6GV-VQ9CjAK`kleUqC`!~nln7Xm$(SOz?{(5Cg0`J4D)9%f#VEs4X zqSDFN!TOz?3vLHWIk^#7IWZZ&iQ$`pr4x|W!yH+2XH~RVy5rFFy%Fog)4LQ}5AT`; z>mNd!baD$=zmsX;zJXFsZUt6OzRB>n7`_cyI{6o!Zk+nT(f3XsoNpLgu|B7xD(gWm z2)pMbSpV&qC7tX9>vu98+_zE6$#;O2lkYP8J%)DyODDr{LD{u+eFy!om8#k6F^m9bo-VW`MgBrJU>rR!;6>_y-K%4J@5lcRIK^b97_J_E_~< zW^DES@5bkKZL#k0v?kvBNwEHVFiSf5Ay~hYnc()Il#{){%E`S9|A^uHfHh7=Kw~!< zOJ}ZpC-$FkcS6tUMxdO~k}D_J z^bUTQ;YWa_lWA~bqS{8+)Xj+}pQwsWJv*AXsHfUF@m?pv`X9wC>Es|-zmrdb`wdDt zc??)Nd7RA*>EuPQekXIly@XOuUItc9USarEhW`wF3MY8gq;Rnx6(`D(drs8r N^mF3=4*Z9-{{fOs$`k+q diff --git a/addons/godot-xr-tools/hands/animations/right/Hold.res b/addons/godot-xr-tools/hands/animations/right/Hold.res new file mode 100644 index 0000000000000000000000000000000000000000..e9e7b202b9555f813619fc698f95d8b390085cfc GIT binary patch literal 6014 zcma)=Yitx%6vwBCXaNxc0i}wHl!wBw-R(YLXD@};wm=nH5UJ2I>`dFGyF1J5)V5k_ z5mZ1FMMOYE6JzD2sGp2|_=%`78WgDpKR_@+jfSYv7(d~;+j*S5_kOU+N&kE1f6o50 z-TvoMTUWbOvVTUR-=jg7r4uRDN*HO!AYBLQtC?2@N8OeUy3PL~-ULq}RGA42+e}>= z125`Y^`veYX@9vi5nirtX-jQttkEqsu9_J&*;p&x;EjnJE z*7Od3e7KFqZ*{%ZX-hX#x|UEa-QGLwcK1#KZ%snel6wB)30@y=!=o0-z+)g5uF-%L>a^C^BtEbgXNodkHbekC!-i0E&odo^MW^&&ux0gd`H&y1H zTlLN?UgzUje6oneCkt47GRp$P9E(pDviM|{rG#TC5wetsSV}k+80J_?#4IHoi=Sih z3t9Xk7C*-V!yJoW%;M)*0vt;~$Py5-1UMEL=2!w^mH@|6%CVFRSxQALr5p4EI|=VkYj;ijwL8&334nUjwK{y35i%j919F{EFm#Vh+_$JEMXx_Si}d0jM9dNyW}&A~I~09(@Y2(#*K*Sip#w+cx#z<~jV0?Mb#9!pvYBXZvE(Wvsm+Husr@FpNy=Rmd$(6Rp+m36>BTWEYL}*fpm$^^Ps~+r zw-1bk-=<;ZZps?{nluewkAR|RMM&QPnl2oXJ2HHn`tF3H_i)rd9m<)#3-sMkqo9U= zdPvWlgRzrSiw7Il?}%+Y(oE=a3db_s13hQY45aS`%`(vUo(bhJ6eIsE&@985DfDW*H(4$3DI+$D*mBUD2{XyGal{B8Cv!6Gl1$ znq{DW>xEDb!y@FTUvrjWK>JcjcWqY|k2o4Teqakxz$0Rap*;lY#h_UR`X5#XC57+d6cWSM&{lhO}O>LV=Ie0`26==@`NLPYp8E%AL6_mqJjr_|%vkXJ+ zZ$*og-Aeg^Yq1lPH<0Dv5izVlduot=5H!m`pN%{O|_l9|6rWto}EsoOwSS-E~1GKb(k=b>I;( z)T2F*BE23o%RnCsZGdtZ8j!ycG|SLc@oRL}<^9oLq+)XQ^b)cWJR$}a?b(EM95l;7 z^G$jf-ok6qi|1C7-@chhn!zJtXhC}tNN)zsGSIU`E0n{KME(?L zmZ9mVy#pQp6!%xJ`ZPMHvYVvABVsVno($4kK(h?=8H)+!Fl3RRo)B3E-=bs6+kYHc z)VrdHWO}Pf8+b$vkD)#7NOyo{8R$v56Ut$D9QmIB%`y~KG%G)sFIL8NO(&xpDoGc3 zL<~=&JzJ6P2F)_iCrdq04#PIkPDVWinq_EGdzFFlA4RR>Ysi%PF=RV8XTHNs+Lrfm%t-p*oXGKjP!ocEW>W=y>j$} SWu&TpDtQAu1yHr{Kd%kntbKWoU%y4GD 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Horns.res b/addons/godot-xr-tools/hands/animations/right/Horns.res new file mode 100644 index 0000000000000000000000000000000000000000..dc96a648ba85c1640e03d153e7097f021b8b8f7b GIT binary patch literal 6016 zcma)=du&r>7{(8G@PfKcGzxfwIVNyuyLK%*?dRAK#(f19(J{{2!&cY!l+!cm1UJMR z=nw=H5tWTZL)Vdy!4q0MWYW@9327F%?@ zDIM2x{P=JijaPtoX(Ap^YNh5fw~ySD+-_6a)QprCPpGB_7}vT-91gl8nn<^oZl=y+ z7wx4K#U8VDqTP3PQsEC8;V9b=*I^wu*gr1>g z^)4f(wI=l#yzr*pnvH2`O`_D!v9y}fq;b$mYUy^fL!$4bq^@ULQ+iyJ#=xVjsbz{Y zrlH078vGOd}0L@YHN3k-8CHDZ<;j>XTh_=PNf5sRN= zfnkotFJ|#`ECG%sAY=)MSOOdi409|2F-w4BspVK|g)FrqmRgPlhB=m6F-tAS669Ed zLYAP2CCIVBFvk)UvjjPo5XTY{vV=q|A&v!xIhK%^B{a-JPXtyddaU53r%$)#q#ep* zaN2QKI$z8?dYVS_!$9=BTaN@I+K;us^jd5l+DfsB!yM8-%sl1t|~BrB9L z5=v!^E37|F?JjD!Qabe==9A{ry1 zjK)ZANaK}ON@FA^rZE!E>C$-)$x3RBgrXWFxmk@@T49ZmoV3PBIIc_QIV3BvF%n8_ zjO0c(UTI}EMsh+MBjMC8oi8HMi`Z<;NMuY9k~9J;3AOI)4D>af31u_PLjKvHS%#_m&Ye8` z%cbz4s_sbpp%x;8N5n7(?eQS(1~^L8_g)eJ zkBFfb?Fk|s0?jhe|Mgrbo1qT*70@ihzgsVa3j^;d7ygMT(Uu-UKMW#<2--uCz8f^l zKtE&kP&UIn(Dr+&0W`~S)F>--4}Klm`{tR!Q{VKGM(~Ij=A%9LAiV%I%P<~#3!!X= zCgfiPnq{cGFfaV^w~F#tbUJC7*gzJ8N5rrM?OBTSGSDmo{dQzIl+CaL`I|wr4AcI+ ztV|dh7ye3ZAcLc(lPGvZ3@g!|RY>0pnq{DO>i0p}4EH1dYS1i$r$1UqUOJ|n-ZP#| znYfxf03H#;8nov@q#pv!GSDxETA*x(waDKJnq^pjac3cSxia6>{JAn?K`&Vc9ub3z z_Ou}#1I;qfjEzIt3>xyU2hB3PrM(*-T79B!=x9#{=?$P+2Kp_F0cA5}k)NItS%%&F z1_s}#{v$uxTTb3z)=av$U(D%b&;iu-q`QEdY z%CYl3WHWd~43D8bJxKS0W*O*rOIx69hQ~qM8MPHO%h2C(yzrqixe(YtF4D4VGkF3$ zB8Df?o~Mw08Z^s5uVtQrvKh7^|8~$ULyx>J|98a~%7zn}NdBW7c@{h(hUd_pKBRYm zW*O*(*Yi*|!%pPi1)623sz@l`n~e%NH6e1m|1t6ccti}l(Vjg>?*+{=ltb@DD4XFW ziQ$U*RofQrI*@BaZa6Y`?~ literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Metal.anim b/addons/godot-xr-tools/hands/animations/right/Metal.anim deleted file mode 100644 index d96c3813f109dec9c7407180126c5aad1ada5013..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9879 zcmbtaYmgjO8NFE|@qv;DD-Q+1sAxzs+cW!q%?2VdgkanRgP?9^cbeT{XJ^KlS&|4b z6F~(Zuz)}$F|25O@Z1d`7&frM2)! zTYcutH}^YdZr{^Av)j9|_X6cUPQdX^7<7Cq#;ROqBvsDjbHH!x@q4`eEf}kcm~gac zJ5M$a+gZDe*-yeNn}$Y5`ujFz3VprmWbgUvOsSm8f?DKJ8;bdDkVWJYk6dq;Qv<1D z!J%oowYjvtjZIg3?oC(km8{K`?c#`?&ZNq=+ox6=>Qf^Fecp~q)@Rb`tnD^h=o4P2 zclunY)nfk@*6S3X4K#Zj_})xz&~5b&{nTqjZ*&SmZAg^EvnJHq;Q}ql&&8Q?IpD`7 zyf);=3X#fllUSh28{xX=<8TH*#RakCbb8nnbsTH-=WLTE_{EeV5`gjowp4O$W= zEeWBeQD|utS{e;n8qHczYS7YX($XljGzl$DLQ9iDOOsg(N)1|?Oj??RmS&-)S!iiC zXlXWUL8(DYvq?*{(9$BbvmR6yq)u5%-tOcb8Ev+Uk ztwKwi(9$Nfv>CLtnYEzQpry^ErLCrguHJ6?S#IzKDJSjdg6>zjaYq*mpY-#NF7!U{ z31X3qPCD^|&78>Nl$*anN=Wh&m`maj%q6i5=92sn4mJ~#+!*FnZVvNL$qQmGi6=3a z#G;r>^0PSDOh|Imm{+-R%q4kw%q8(a=8{+4mJ~#+}!3>Zg6u+UUG9uJi56gmfc*EAKt-cVM%eB-k`!!2}-6nNMm|avA&!z zNuUks4OU2!=^b}(pV_Ab${=Zu^rm8yBx8D`SV)rT9hd11${=Zu^rm8yBx8D`SV)rT z9hd11${=Zu^rm8yBx8D`SV)rT9hd11${=Zu^rm8yBx8D`SV)rT9hd11${=Zu^rm8y zBx8D`*pWnEVoL+XOrZ>*)I5xC41CjVkHu2ybUsd&DN@``Q673F+BTZ#>(a_Lem zrGK6&#fq81p>mAAU}sknt^Q2g0gvF%IFExl6N7%_IT6EogE|XnKE{3bF6%l6M|zds zhdZuZ>B@X@M7|zA7J=gVCq2M@@tPuQmN?% zr6vw2wZ)pJ&Q2&*v7lxGN4!=^R;xRcuVaw98W*kpgJ>X~dQ`e@xh5Y58+JlL zbs>gclQqEF$wwGo%kV|O(#bf~pAF@gSy&I?p2^wj9~~!ppU}~F60Lq6dPyf2gAF^O zUmVwCXeXBdYbPINcmu;91C~x`9eUzQEyPhZyj~qUb+$U@IH_~jCFmqteJ>`HPBwxK zJE0%dH(_WemjY`iA7^+o!1C~xII=igrui15Q`LkV}|4A(G8b4gy>Et4~ zPomXtK`-ef1vc!2eyZ=s&`t(`wUac%Hp5o}OD76zLi?oh5VFgvQ_~Z5(|6H2Iafq- zK}qbdNwoSw^pZ}7z=oaBUs5s{+R0VG+Q~4(S%yb|r4u?^NZsy+-Afi7y7taTIxpXK zq`TwXtm8mBiB_M(q|!+qY}g6?ZKHspoqPsZJ1H_;Vwmp7q?0XiF$x{YmqcFw3Dv` zYbUoedxo&b%rNj1Fs7uEgBx<{vuo^fWfXLOCXCc!IXwEDX- zp>#41HtggSaNokvPVNELPQK0XcNpFeES-RKA8T$OYky{R^VE|UEjz|FURNu1torYw zOgi}<*szm&aNoz!PJRHao!rateGK0ZY;c10c=-Unfgdb$-BV)3PU^jHL!N_8-{<&@JqnQaDrDW Y6fW+g=0rR4_lbU;j&s-d;$PDK4>iTT(*OVf diff --git a/addons/godot-xr-tools/hands/animations/right/Metal.res b/addons/godot-xr-tools/hands/animations/right/Metal.res new file mode 100644 index 0000000000000000000000000000000000000000..9586df280258fddb8d7eb4388eb93cfe134b2356 GIT binary patch literal 6016 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Middle.res b/addons/godot-xr-tools/hands/animations/right/Middle.res new file mode 100644 index 0000000000000000000000000000000000000000..58b0b1763f38e028cdea91e9bc91af9cd517f994 GIT binary patch literal 6018 zcma)=Yiv_x7{||0RIVcTaB+eaf8%1sE&De)Rj4BPm^#F+R2gF(X=h{mX2Oz?{_F~R@ao^$&2ecul*dBVTX`9Dv8 z>&pLJ>gwy3E7s4Q8nW zjKYihRxP2Kddgd+Ou)+xEp5r|jcYVB5{($?NTRV$xzA~@GxT=Au;#r^vnrl3vn@7W zn~G`e;&`r2#wR)6+LWmoNi7zSn3}aW=XUl^gm+Cm7E5S_i^u2tWHam5#Z%3N-f?!9 zIN9E;lS3G5_X`MC$4yg4VD-t~$(Xmg+-62$9dULuxAoge+}07tJr!<4%jj)JRBKG= zQGD>G-k6DMDNSMA&aqS^sVR4(lh9JlW{bkUNeNv~HzxI%rVPicjH#uwGo}%Vwq{(V zF0&)8DeUueI`L#$H%u*-{SG)?Efv|GK$E?p(@aP3F6{qjKw3cU|3-B$XPrBi&tRr zN?E)z7O%j9VS&XfXYmRwWdci?l%-6@QYNrqSYRoWvy=%ead;$xG1s0#2#V4>-2rLy+mI@h5g}{Pgfu%yuQX#PT1s1=Q#V=#= z3oIBGSp0GpzrYd@SOQX(fQ%&|uwYnV3CLLjITm*Mv_jEs1ur{&=37qMkvxXej=RG7 zY~HccG?~uRua=s$%$f$M64&G`79E|QL(^DB&vmVpUh3&>dQ`Zw2 zS4$)n%eW%;jZ?;D#G6}8SMFkZ5hj(6F>IHTy)4e(U>!tm41L!fJ~b3m=fWdnm`C=^C;Aa+o`HR)3s5%0LgHTp%`?n6`s2mkKW>H2&g}>{ zpV_Lq;E^$ul09ysJt2bn z8J0oYv&*4*h7$)y_cvWV8|>*RRn3(FwF({?!wRzJQKGA%d4_w?V-GZJhFaoZ3C%O? z*ga)%^0_gCp5Q9=Qt@eI$({{FZ-nL<*uDDWD4Ssu@jn60GyHn#^Wad|c+vL{XS)6hHvd(L8@Y=#W+vy&pv&=lzn4UPLM zXnwF!ozgH$ZG%U~u#@cBMRYqf&%jR19VnY&H}O9M%`>vDPeeXc$wUXdR*Pm7Q zz$0VWOZGfVbSE^=z@9GcL)i@bq3w)%4w`2u_FoO%2;T_$u1!~Kmer~U;E^#rPxib( z^o!6u1G}1e31u@JB>paFp5gYDZ$lrCs1L0wnyY>?T2)_$N5=39+0#w*A!wd~U3$HW zvKbB&|7*}Z!_A+H!u{0^p_8AjRBIZhsy*mZaR2H4p4nr<{)WBk+wjO3-XVM5CHfdN&oB|a<0zZq1o5AQ<{54;jSVc=G%4_D T--2*(?H=_MJVmHFJbnKUY!2;C literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/OK.anim b/addons/godot-xr-tools/hands/animations/right/OK.anim deleted file mode 100644 index 4366eedfbcd4b6cdf6e32ee66a48ad01b304f141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9873 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 S_~7nR@6+@A{XO{4X#WE+t)?yj diff --git a/addons/godot-xr-tools/hands/animations/right/OK.res b/addons/godot-xr-tools/hands/animations/right/OK.res new file mode 100644 index 0000000000000000000000000000000000000000..0c34865d7f6e965a1a97d7f369dc59a6f6aa57a5 GIT binary patch literal 6010 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Peace.res b/addons/godot-xr-tools/hands/animations/right/Peace.res new file mode 100644 index 0000000000000000000000000000000000000000..706c3650b81f0a0d8d2f00f8c33e1f202153fc5e GIT binary patch literal 6016 zcma)=ZERCz7>3VK)Bz&$9X=eOPQZ=Qb?aKz_AnTX0TbBxkSUDP9=5W!r<|V2CSVbj zFHuBM5cxDZQ37gA)UXX=lo%2dF&JVb3XvcB!ylkA{4v4%?an!U`o8ZEmps|s=iJY8 zu65ge&S^tq!)(R+x|@6-09~DoCBkM*Pud3ME~v}LR(wCz{cEMu{2$^tJcX!g0}I;? zO&N$6jcr<7GxemWMj3{eOIzC$Yn$seGaLyUsc^ixL3z+=FE;cJz_8{6PO~PKHnS}@ zUYCq&9pZRjn~aZeymd)aGZI=f7B)5P9gYL_v1l}|38>vI!Baik%ZY{~ZzvAg7? zYN?KR z=owmCZ#N=Zb6k($jW_k?bVN&P3i~mfW65wrQ|?74t|eQ{R)zf~#dST^oY141(jTwV zrk2Xim_|6#mUc~dnVl(3VJuE3mPqM_sYSDY15Q^!s2%EEEpD8+%74L+r_h#2`pt&mNFSjnZSZ! zfu&5&QYNr?1Qw5!#Uo?!2rL*DSUhqTkHAtcu#`(#%4IC&0tHG8Uh}f?&2vYKlannj+=0ny$3Mnj$%AO_69^=g$jB zR$x;klGqd}7uj^BmDv=@32ll*Q#*e?i^OhX(-9+D{MbFrCmm>rPXvT*1{2O8U~e)``Icbdsm!$zS@ZnyO(Eo z$M>MJeq|ICdnP;e(bV7=d}l`op$y&3K9)6mqRLpj?uTM<Wu7$%`_?|GQ$N1%BIcJ4<} zHbXJ-KL*V+9NPW)xu%#uMx6|gjA07dGnMGap?L=Oo|d3&hEn362F)`R zju~~nefh!OT>}Dvf6v#eE_h@N)5#t;(Phv)1Dp4tY=&~;uYl$m{Hsr%{mm5$B(CfV zRR5Jxz3|8w*kif^B|BI112xYT{&$BeoF9vQ4Tpz30BSntXc8MOf(8ABu4vy|v%&^!ZsQeTd;8CDSglh8cFy5INq zcHA!Rsax`GU`lO9T?vnjp^5Byis+}Ic?R~u&?=P8u$uUrp?L;()yd%dw+>fzEgYw& zy6V(5@W>d#WY1cnBhWkp%h)K&X3&U#9W>7{W=>1+kD8gm!JCWJ0jq1(7I zH1V@bBG0hrdUx-QC0#w4E5(7+KR>6o!y{vOhV0o$bO$ugz%I+3D4XF~;@E1wo+CN~%`>pimbRj7hUcN}jM@gxGu*j!F?go1F}R>$ zvik8LReb>-8N-WY&r3vahvpgBz03}j&9IaBcR}+E*MBMqb=NipkA6B|o!2y4-3^b7 z;bpRC57Dnc^9=09>s6G^u$TB>gXS3~503?YF>3EoZ+PSQ0pMJEIi~Kcc6KO;piPk*$hXB h|0p!iaA#(;r)0$l|0gF)LV-n_)no7!pc?Sm`+rW}>|g)@ literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim deleted file mode 100644 index ed752b39b56a96dcc3ef01840a178f0ffe49499e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9889 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 WMD`wCNEWnAByWSK0xAyA;r|0~G4ziB literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim deleted file mode 100644 index 8d784c7ba17f3d639453cf12b696d94e0093861a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9893 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 anx}BFU+xnLa^+^1+D`9d_c!BzQ2QT0NzE7l diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res new file mode 100644 index 0000000000000000000000000000000000000000..7bc904e44497c0bd96e89d80c75af55ae8d2fb6b GIT binary patch literal 6030 zcma)=X>1f_7{{jtQ4Rq)!~-h|a!Hx))$YRVOe+;AP%T>!p~5ok4(-z2on>|^T?#A+ zC`Awv#DmKZMo9_A55^FCB*YLBF$O$PK@*LMBm^-Uqb8(@&%2%D+4p@v*yKt7`^^7& z_LuGUKS!i7GEcC62BY7@K-Z)bDb-BqY1<$SBHbT0-TZ9)Fx6@P5AhCohCYF}y0oboDJ`B*P0iXn;CA+o18;pI9#3k;i^sTqwE14QORXO59&vV) z9g#%3xp*^i7P@FJp(ymItt0Kevy(WNButaXYxU7y!fSP@&4j`_;_SW;dWM$O+l-hN zP3kfD;7vW6jcI93ASBMQw3^a{JE4=*(#>XzK)y*yUC%^QdR!CkfLB>l%M@lzLyfg& z#R}2PWi)|&B2Fif%IJov#S7m7r>mvabxCNFH*}gA72bs)JDmji%VrASDyLUK*kq{G zJGW}NEMDhfSUe(+#UpZ9JR;2k!wic@q3`>B| z5@1*=8J0>eOC^t`l3{^ihNY6vQpvDXF)USFmMR`g6~h9<3`-TCrHWw*GAuzZOOVGB zWLRLBVF~hCf(%QDVF__rLOhlb!vez$ONh@B8ek!(Pb(BXR`8P3r`vMU4&^a8?YJwR zFXSCLO{4h%AaX8pn{MJ2&le&Ox2*idNGO0YlAFNA^9+)c!59gLaPd5YWW_K>LOG0) z+#tp)tt7^uk`u)k31@NfJcDGVF-AghjFH?t#w)Er#z;;gVq(2_-g0aw8kB zv@#nbIiZb_aB3IN7m&zBY&K>jGA0N?D1oYlf-BuQqNv8>dO9mM>v7#IZ#T+KT~B7k z7BwBuimH9%logFcbBif9B+{{#NdvbMvteGy-%U0Og^OeNHfs-b$W=MHNG1k6CQN_^ zxkEeMH8cDG{3fOmP=;<6ZqlN@xbPsnE`=hf6On!hG+A6)I5KdY_{yNjJst5s3}w$w z0{sZo5U7El?aHY8SIWP6&i0+_@071jS)-8SJcdW1Z||9m^c2uE19|VqplpVz$UhA< z&2VW@Nnd!vt?NtBm{PC$RN*Fvm1{v*9kgf(zGm!td z8Yr9L3DEX;X&z{rVZ^~3J-gnm?)hkVqkMDiW`+EF@)({(d*&m(05r{T7xWfF*$j2a zzX&wVaJ_$J_qoW3?%$i%%cu05vKTx(h9ziEJ@v19?oe8p>u^gZxp@G{cbPe@m&!C%UIsd@BFZnN-$-hsU6z zJ?oH;fuSy+1`YYwgQgk$hZgnRC^;(q`o+I;eOFXz1`m&+1?@>7y#X}MKu!j& zP&Pvn`BR{2hV|DE^tS&qwWn_B1!=~DypjeFk3mO!GDvR(O*4>ZE(Vm%kVSrSf}|O~ znYg<*+;?s6wGT_>?^kVA+Q7qOcpmN9gmgP-nt`08b5J(JX5{YxO*3q08Y7KtJR(&r z9wPgCwklh|!(-Tr_H08s51M8mPnxzv*$g{C+Zpu&XqutA>^te$rKZr}i)&?}E2r!P z507CN+Or$!7eUhuYIrb=h7Zd3MxhsW?T+OrSo z{h(iOZ@mrqKAKTzbOWgW^%@RUGB;7R;{6Das% literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim deleted file mode 100644 index ec6196673a6b979df65e4f35b7485b17fb61b6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9889 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 VicXXxXP>C|>3Qb<4*d7D{{kQb;EMnN diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res new file mode 100644 index 0000000000000000000000000000000000000000..a828be77639ed225eb08c4e3ff3487ebad3ae7a4 GIT binary patch literal 6028 zcmaKwX>3$g6vtn|g-vA>2%z9rmQo(G&%n%F3WZV@?FL9y#@CrgJ9g&1@y#nt6{XB9K8Yqmie3hMTnvC3laFlWj+_&?$!I5r%r%7BF(hANGO z7me*|Mm2TKS1pZ$mrZRQ*_OmA)l`y-kyA2>25F4bt~2xkz|iJ>PP00lH;XMgUaO_l z0zW?3M&tK8-dfF6jjWnVE2e7g9dtW;$AfoOI+e<(rHjY9eYAOk+htadc8@r_>5hi9 z)>^umI*VPjmr@ja%+`DDzO$1$SEfx<#B24@Udn5Anaz~KI^yh}1U*B|>m5c?O=R>W zeDJ28$R|}zl_-gGOjEL|bT@P|s@7_@N%WhP(e+#+tEW`yPI#3!)m(ALG?Zj}UY;kL zojFyapNP{*XLGt?s;T04!0D=*(vpEDeM6_2Q{Y`FveQY^zih7ft#W!rgiVIRymPzS znaArq9E(R5v3O(wi$`WzV3=d^$U+v6%(8en7O#-SD`N3-EHKQmc*QJUj>X5Z_=GGz z5sQywfnkotCuZ?+EPjr~FJ$qHSo|Cd409}gF^ivL32-a{Axl8S65v>1m}3cuSppnO zkYfo7S%M;#Ajbm397|Bl669Dy97{;Z5)!e5I2IV@SVCf!5XTbcSi(YTaieZd|au_4IL5x>g zNsK=wCyFr=&f?N}4#`SmjD+GCBe{8uS6YFLk(@-vNH~&9=Q$)Rlra)YWsKy;GG1xr zGDdQO86)9jE}iF)tZc?eD4a2po6dNp70(#S$!Cm&1G;pcL$V?oBcY7ONNz~ul~zh) zBqydZ63*$;c@D`+YK(-U8Y8(`jaOP>jgg$R#z;7>OXoQxE3h#VN^FeeMmAn)Wj01~ zLK`FD)GnPbBGHT3e9}ngOc0V(21W0B;7WJCEGwy$uI1%cJ*AtK1*6i`^-NxFQ?yiG zR_q(6ylkXf+f2DGttH#0H&Hzo#-*-%=t8M@ZS3A~zo%LEQy4 z__Kwa|9E?RO7q&Yg(H>me=lYTJuYH+82a{}N05FLG|NEW`!Oh+p&a>VfMyvk4J|uM zCfWb)@)Zyr{bGzaP#%v@p@Q4`VXb(YpA!wF?{=Zd0*$j(7 z+uxD4U@c`Im!c8NM*H zeTj;heS2^I9xt41AuGTmVpxgxtU~&6&@2OeQt||p%}|H@^`KdX6UNwq&c5#=Jx4C| zo%_CC`=@X%`(s& zPC?lWD)Mgt%`)u&YhC}I;kTn#FV&Ho7sruS@Q4`N(4I8X&w*wc=*glT%4WzQe-<>$ zu;Ip@fx_SA{k8R9M`zV^6Ae5f1|99mA^kjPmVrKTF`#UQJo3}iBg^1fa5VPm9|sro zuAEA8y|ttRJR*jTXwN333!qsBdW!CZvKd}L{ue>B43n3%#(t?@7`u1#G%{j+4cQDH z5yMMpPZ!eNpjig`oM{V`&G0g4JEOLOW*Igpy|J%Ge;GB8ttJzjN0L{-BVyQw_PmPp zYoJ*MdR_B6l+Cam`FDV38FpRk8~CZdx4-*xdGzF!F7gI=L<~F8o?S@q2F)_ii?BDL zY=%9^{}yPLVOsc7>}vdKG)_b!ypun+m)1I;qr zzVJ=#v*C@g6=gHYsZoTy4;~T2ezfNR(jS0k8OB5JAe7DUA@Uyr%`#m3p)B54(;PeW T`Es(Xc@jAco-(Kgcn<#`M3M4* literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Up.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Up.anim deleted file mode 100644 index f9b9ff1e272432e77ef3a2678dd27895bf907be6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9885 zcmbtaYjjjs8NI}URHX&lXxb{$2dGe(%;fzJLTRZ5Vt^)9YcffOWXfb_oS8r<(G1$w zSgobhB5f*7AFTFToxlWdN5bi^W7qs0zk zclw~id0H)XUSYkibXZrj_k(YY#yhQ6m#Is;5xvnY@U$UOCeNBsYm;-eAV0T7GZ~j3 zi?G{}AB*!eqDie+SSylcv94zC1>X>kb>lN%2-uXuN&^=Fry}V@PpUoA5=*pWK{JV# zbbBNoG03z1T0GnxF=&!lB;J|nGWTsPkw}^#orxsP@=Pk+zAGIl3}p5ua}(H1GK_c8 zhhsBQ+6qZ?SJ@m**|H}UP8wv-rlZ}-L@E>MF!!a+M&jYN7)TOole;2&)0_zkEx~|S zOE4g{1Or+vDAi~Q1~giN0k4*j&=L|_LK-b0y%v;ew1jk8LPATC&{8C{6lt^+>9wF# zqoqivrATNg7FvphmST;TV!alWYP1yVv=j?1B|=My&{Cq&Qli&_QjL}pot6@zrBrAs z63KOS03MOXBg&C9!*b!@ysmR>RbOeX>l_b)lezg3x;QB@5ObtZXU)vv;B4NVvsuG{MLUQ^GPS40PA%^ z4pw0(C#!*#lN%Xc!|+;Q=_E#~NAXhOq1KhhAA7o|=JaJ-s_*=8U)?MmkQ;h-ocOB` zU_$An5Uke;tzr;EISBzPCq)bwGh6~Joh*k7a*`dHKm6qM?+3?g21c)|z2?H*rVCn! zf4ZFbt1m?_>7)#-*9ldXV<;yTz{*J_!&MAd14}0$b8BLpd8ldn^?zJ_eCrJjwHG$- z!A{DWJIlQ${_3$6HBM^5dYvo)hgP{m`JY4O<=uFD6TeQs5QA6SUI_c;Y|$R3M`$RhjKdc)ua2Dj!z|z zoSN)EcC>cv!KCScPCK0y=bZSf{}g&jC%1w1I-%bkH)AL#TY#05tqeCX{Apn6gg$=* zValTY#mLEJY(df+zOvpICjmruuJ1H`WZDaMr|qPW;ukVnXR84A$#}ez0%DP)^!` zm6HyJBMk2ZmQH4HXB@)rst@2y6y_P{3+Mf{2-msX(yWQE`cCwcPP)K)ozTChL@|_; zyMUFGT@1$XSmWeH&~Q>evafhiP5PyklY{r|svY@PubEl2 zyWA-}I=`@UlnWKJN4|_{dIYk8+vx`jQ;8$LNDp$AXu-HrQjaMP)@!DteiZ;@F9l34J@4u z;l$HgEFAsl(Sqq^XCALSH9j%f{90};$c5X9zxu=IC7nD9*6ZX7aF1aqCxgJs$>R)v zhv6f@(h1#9=)@a^tuN239XPdc;_&&!wYN9zGj|p3EYFGeRsRGglum}gdYxPe?nw;g zc5LJ>Ev0kUMKnBzK5Zl zd>>djd5+=d8U6vVbh6yqUGv8-F=m2v>hp|~SfkuMp6(~^?DALt0(wa&N5OiX&@~0S zazab4oM6-2c#Pp60!t?Ya54hr1;MNOc31Zw*;+OJ_Q9Iwt!bkOG=_3=99TK|3BxlCp8(c4Sqr6Dx}njMzptq+?rf-D5r1N;ucXgD z@$~x&bK^0V^k`7(UJL8DQxIq)|_sFql7hePvVI$tmM6 z`R0kI^`M>QJ}3U_e~vQg#qdgPoa SN6zk2uha9~^^N$CY5xUkitBCw diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Up.res b/addons/godot-xr-tools/hands/animations/right/Pinch Up.res new file mode 100644 index 0000000000000000000000000000000000000000..edef12481ba5b3c1d7c8a2c84e2f03fbd1f5ec5f GIT binary patch literal 6022 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 UL^*Okt*F=Oaq9XO{KvHa0U?{+bN~PV diff --git a/addons/godot-xr-tools/hands/animations/right/PingPong.res b/addons/godot-xr-tools/hands/animations/right/PingPong.res new file mode 100644 index 0000000000000000000000000000000000000000..d422d4d984eff2bdba90578815f9ec3d00fdc94f GIT binary patch literal 6022 zcma)=Yiv_x7{|}JsGx}44JhIT1jabD-P(1uJq(68WV)N81DV}=*y`GzdV0n-L55ru zWQZ4FiXa*SsE9Gf@PTbeOn_*N5krvR7Xt)hf<*CyiJ$zx-8rXE-}n7slPCN4IsfPB zFJ1dT=d`x2c9CK~hLOJ`q03Y8WYmfqDaW7;h4Nnn}a!1_V zY)5T8)snxNIkR1|mr-PU+}69DzPpn-m&Gkh#%uSf4c?1@ZDr51e5*CljvtU?Y@u*T3kIJ)n1s1QA#Vcd+3M?2FSiEu;ufXCH zSbS0zpNz#PuwYnV@yS_y0!y*LQY>XDma!BIEEpD8isdZD0!xX&QX*w3k+GBrEEpD8 zO5`jh0*hZ@@k?3!G8VtUf?2SONkIh6R>@oFyQzlnN}RQkGH~ zOR2zuVS%Mo&QdC{1O=9$lqD!*2?{J27FdFEmf#=@JAK-r=&^&Boj!9dH|0uF)0K7-(|5^@Vv0nwIDcM1veTF%kvOJExjd#T?LekTZX#188p-+d0+Jod6p5rV zMaso8U1{esMRJ3gBGF{dpBIqqY^F#goGDT+o#{$Do+*->&lHIUbpE`6WJfebA{kAQ zav@Du+9^$u+?b|FG^g|D1tdGEDH4flij>Q0y3!77isYs>MWS(?KQAEJflZM}VpF7C zWYd*)W>X|Lv?&rz?fm&H61#}aG@J3X1)(Sfs0Aoo>6WQ#G!`>b8MVcT8CFrJS!5YT zBBQoOQ?ZO1b#9z8su^!-wbW`{=vN!5mbsW!){epwJo0a`wxYwX$k_!lyH#>Vlu3BP z?#zyUHak2Sf0^MflxbMmo3ln=Oqqh`Lr@IyKBDi3W=n@;j|?7XzNsj7FUR~3pq$xh z&<~<+Lk&JQXlFj&8ky3t{AA~mqR78LCp30k#_$mO&Yp*fegv9lV6QzLaW0*zu%qF@JnrC3|=^T{9P(=K5p?QYcn=cJi45szm>@W>eEkv$%wz0f=ZoA;p{hGOC`f#w;4t3Ek#S&f8}7q*4UZ*^;acw`I# zvZs{jAT-aw{?}zFhhaYPhoE_ei4}#Rld%J#Pfzzm_KsPjh2fDgM93bE=mpR`1N)|x zqa22X(9UOR5j4+Gc(tql%&sp(HIajnJ=;yK0v;K|VzTEkqL)DP40oXSILcwDB>tt) zJi{3)*=H2a?CZVpN2KFellBBWGKOVjPZiNmLh}sli~khLVW=kl8fc#3s5y3^tM6QJ z*O8z4PM`1AYT=PF)R8^)L_ZD9Gq6~C2IVj;C;n%ld4^LPe-A~sRP`OdHcDH3t6qB! z9vMRe*|UP^mC!r``+4Yjl*6!!_#2^lhUHg!%O(UG`!C)$TvNVk&|ZK?#tk6i4*-IG|#}!6m2MnAwm2} zXr5v9^_>Hq|IFyGtT`K+wWM21!6RcZ$euLOFG2GR?6(#ZnMj|EAelG<{5f^>l?UIbGX0z!i>05Fzg}zUTB`7 zY2D4x6t!vK{K8S%)NA$Hd+^8@-Y0wZ68!-*&oCaneJF=vKkM-A literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Pinky.anim b/addons/godot-xr-tools/hands/animations/right/Pinky.anim deleted file mode 100644 index 4f4dcf5b54a6abacf8c736b5d5213ed839290eca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9879 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 Lb$=)ROWOYdv;@6r diff --git a/addons/godot-xr-tools/hands/animations/right/Pinky.res b/addons/godot-xr-tools/hands/animations/right/Pinky.res new file mode 100644 index 0000000000000000000000000000000000000000..818f6d80401aeb0567027bcb4676b77966abbdab GIT binary patch literal 6016 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
U9e`3%F$ z8NLHpIvFEnIJ=DSx}m*?!pV)JS4?`K<vpVEq}) zl1{Q<{Z8nw8#$D6au=|2l4rQUFg=k;C**?e@y2kb=D_SF_rKVB?)biV0ayHg;6Rn@ zBv}7i98fx02iEU|{=9HEN;w$-R!-J4{6&WE0oFL#3mQ(^hqukGiXE-Fe)itXh4_7Y zlFri#J+&|=f%-S#pwh{g!1|qB32q}wIk^{DIVmx`iQ)Tzr4x|Wt2Df1du4OJu~>(h1$^w(c{Gn%eR` zerN>GE#S(}!sNocCc*l*V3u_9HL!jsQ^0*4rJOtjtekv<;fERC3M`!%a6#F%W#pFL zb+MP9dSdqAu|LKCe$cd@QpgeAA=#P)>i;HYNhjOD`kh<_ZaYdj`4+HpGRW{F41XI~ zI-x8gH%4v!&S-4*Kd+BXyk>9wZ&P#QJa+}_{|*i)oqQLp-^tbBzK2pyb^t3U-)DFy z!;b<>Cu75)$xUtFh3&D2cWxUUz3#R6AJ43|?(OO0}73-$@m?AEK0# z9|0>TKW6wbhJOMqoq)7o^9Q%KJim7N=;2$ZU*;aKx((xU{kza6ojeZK@1z>sPf^Or z6Tr&JZie?T{3Nh+atim8l{mXfp$SIqz6zXa6~v2bNB%NHyGy4G%u~``Ddt)x`d~`E>mD<2}y(#GAsw`hSjD z(#bEt`khP#_e+#=@+)Aa_-TfpVfX;Bbkadis79(b4#rk&jmB^@lR?01;i2G00000 diff --git a/addons/godot-xr-tools/hands/animations/right/Pistol.res b/addons/godot-xr-tools/hands/animations/right/Pistol.res new file mode 100644 index 0000000000000000000000000000000000000000..40c3cde6f1c63bffeaced47c92ef3035f17efc1f GIT binary patch literal 6018 zcma)=d2AGA7{&(>6$DX0E;$6G%2B4TK0FOV6CfFm!M9_$dL?i@_AsA!AA8H^5g7J91?ab`E-}n7tlQ(_#o#%b` zm+khMqo%fIj$;4ZM1Bv1u1v-f5i4dS9fQ&jYR~1i1&!kaOWo%G5U;~C099#XVaC*z z+wh{cMUU&2k@U`0hT-MX=1gKu{X*S}G(^l)Bwk;m-08NfO`{bstU1JO&W)w5Y>SOo zC8K()INsYP<9E5tHcF1PxQ+!1#- z+ffrsHsx<-&TNkGQ)>p=au8BV#t` z^>L#CAG~GMryKO7t}qh!STd5(m0Qq>>&YgoSz+I#xM8H~6Gl{5`r}pF(o@+P%ZxO% zq}3wTYD?(~`$XJMERixyOOIy118!GOM%Kj9WN+v;QxUuiLv}kc_Log%zg2E8i?G3r zaPQorx25SikHF$lWh@?5!s1bR77Pn49#zWXQF)ePfu&f=QY>RB7FaMWuoTN#iUk(0 zz~Ys%cx5bJfd#_?i&xI#6&77Pn4 zJ~@j|VDSqqekqGz#^M)PFf6e6&3eVTwd@ zm?GtZn69*wn0`ub6jLOc#rg9BlAXpBiNrBQ%H=U#X$LYzaub;%(MZmp7m(~wrbr}} zDN-($=}J47DUut^6p1Et{=9%>XEQ}2;Y^Wo=}cGJ@l282e5Ob=p!4SiBs-!h63J+a zlnZIP(oSiL0v0)0K8uQzSR7DH4tA{CNS%4s41<5}P9B zBAc$XGn*p0p-qu!YUj^qk=R9Sy1|U4EC@yEg9@W?rCYA5k!aLNrqw1RYFLG>W}#&m z@wD0;Nk-FZ#JO=wt7fdJ*;1=bJ(G#P7n)~a?>zh5 zDI+=n%`>pSbvepms386zG|y1jaVi+zH?{Ml@BZlCGG(I{f=9-{{!N_kgGTf$Xr6(6 z-78TJ!)$10b`CVpuwv+>t{v@1gFBxZqP_WBtu_}P8N)oX=K-SUL-P!`qW2)mVW=Yh zhoE_eug4y)Xx}%cJbq$`Ht2k<_Aop$h6QBLLZTNz^9=0y$YPYkP)+o!jiMX|o%kD}d4{XgFLZu3Wnif8ml4{PBa5^qcw`LCWKWFfwa`2RJ5RKr z9ELdYC!l$T#$We#w_Ypgs#To*PRwm6hv5n0e-fH!xN&_}Xm|N1!Bo$U z@TJprT01;4hNsA$jYM}q^9=0i(k7I{@HDiOQJbN8hN4lPP|KG;RCx5kT6Ekp?HPDv z49}81&k?-^nrC2FGh0y(!#3jI4$U*{y4czM^OCo^I?fdY-@mX?+X0V^VJF$Mi|F0Z zJOjJ*+JkZ!_7eX-XrAG(*~fxc&KCri`!0k}Y;Mx_!y{ujK=wRO^g(EzVHkQZpd5x5 ziT@BZ&rrST^U#T({K0<*E84r&tF)KkkukhX_8cbq6=rFImaKByWzeg6;OkMhI- literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Ring.anim b/addons/godot-xr-tools/hands/animations/right/Ring.anim deleted file mode 100644 index d833aaa263025302a8724e8d531c5679f3735efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9877 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 QmB-dqnf1Nn=X#fBK literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Rounded.anim b/addons/godot-xr-tools/hands/animations/right/Rounded.anim deleted file mode 100644 index aa2d6246d0c791e7ccc38381f6d13b0490639607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9883 zcmbtaeQ+FQ9o_^e#Ri)~t0;qQv7n^1m%GcyrMX^GTEte0C9NRU8n3w}Idi!??>4qE zDLJ)B<+Eb7d=zZ0R0L_0Dp*NN!-rZw1B#4)DT0IJUx1@CI)go*-`>8vzun)P=4RZP z-`sQ0{_cIBC-1w@?p@opv1_&A9B1M692C923$-en9!Og0To(BMJN}4|pNCpiz<`4V z(|)tD-^`d6Mz6z}O?`s{Te~-<^W9y>T=)H&bkRy?K+SWh4Taox$RhGWmt1dJ$)02( zZ__l~+HA_)&W5YJcZXZxwye!sW?{fgrIVKF%v0$N%u^wK^PG=C)~8dcjOk2N?-A}y z@A0_6R2O(>*j)2H);HN4@LlO_uQS!V)mwKW`k>tqn1)2zJe!23wmIJvL# zggXuSak#)lG^lfiO+~UC);HO?;5Q^Q1NfWI2E4I=l?J{DxL_7@gM}WmJCp0df?B!m zVvm_M4f5=s%O(d*g9gc%*Gr2`x<;ElqkYXw_(G(rIZDTAGEHW}&57qorA|1+5w_%{nd3LQ9L#(jv69 zXtcEGwV+j_rA4QuMQCXiT3UscR*jZcy%w};w6yB9vHQ zD~LrhW>SggpUjRtPC5DOr-URofw?3e!CVr{U@plEVgF=8k`u$c%gJH>S8{`xOX5k) zC9x>xlDsVTPbMTeY0SHvIOdYvJm!*kAahA9k+~!__BsZ41B%aG$ z5({Q7$xCMcWI~dY&AiJAXD-Q2XD*4yGnd5jnM?8l+CQ0)EoX2POR|2JxG);O_vrdvWz0oWr$@GrM^aiDoG);O_vrdvWz0oWr z$@GrM^aiDoG);O_vrdvWz0oWr$@GrM^aiDoG);O_vrdvWz0oWr$@GrM^aiDoG);O_ zvrdvWz0qt-qA#({ z>M)G`Y8Yc-d_GcRlu-NdzSMELJlgSJ6k$?FuhsT{7!yb*SAY#VAqNd8+N>iR<%R61z{ z8+1ae7)B{4km5RtGTg*)Gq7}G(D3&0rd4-hb?qw?b$x}E3(Zk?P5e%(>u#(M!RI?ukJK2AxK1qMY!~E&%G+Jl^{>Hra!sxV z8+1Zp^%0a>lWTyLlaDgImf>~4(uqM=JSsE(^4muz{<`J5r0~3=pcDFGeG^JK`2?_Xas$IRGWi5$!yUD7KrRAnf>CDfzX?s!$!4%YCv?a86iPYyG_Z2Ah2hUI+zl+9lvH+waoVU` zbfkXE@r_uclI?_E{Z6Xu|18FmPLg1QPUz?QttjQB2Us~tF>Eq?Gq7}W3hOb6di6*R zg1x5i(7~FiT;zmvqtxHt2-@H6@KwPCf^$ob)rCVR!&oI;oF< zM(q#%>F}-XM(m3CgReIw*8FSOzQ5Bw-tVNk{wxNSPI6#_PUzn^@+jrx^T5hUf#D*< z^h~C4g1X4RwjYXbSbJtbY zgm##JO(v`A|29UHPWFQhI++jd07^Oe4zO}^km2t#{0Ojg0@69~M2~C4Xsj`oV4W&! zG0oG8{fRU6A3}$8@;$IYCkwzmic(I#53HO##_;0|{{UDz*^O(Ygj#|!jPmHogDC7a z@0rV=!qxRZfw82M!(f9>==~9tazab4oQyL}@)Z9=VCiI+bDiWH|9s2RmGQGm@$P+> zCpK>yai1RjPO9tw5$2Lko&+0o@?LOHp_G#!11rVH82$;vPXkLQAn_d@6@Gp6&G_Mi zyW^LP%u1X(u)}rYzv8RwpFo>*avW^X$wlB!pp=tmfR&Sz3{NurEU?B2EiE14*Dh;6 z(Q$ib#nP)95;rwe)`ZrBu6i$p?X56l|8wY&PM!xFbn-rMFQAl@p8_iyJqfx5iQcmOJIXeE(Z5IlydTWVCCdxhX26u eE5K)Pg0m$G7w4!rQI6Q|QVn>WzP}6qE$x5C`JANy diff --git a/addons/godot-xr-tools/hands/animations/right/Rounded.res b/addons/godot-xr-tools/hands/animations/right/Rounded.res new file mode 100644 index 0000000000000000000000000000000000000000..02e1a7fbac6373ab089fd51452e166a841b79510 GIT binary patch literal 6020 zcma)=TW}L)7={<*d{E@1gIGDs!8T3PQ)rq6i(om^qH=E2WKBbpY}jm}g;KzlgNh=` zSrM4gD#$2|BSlHk(F@0MraH_p!ie6e7nKXAGkV3~`2Okc=F9*87k1{GzWMh3zI~FW z?`Bg~T~(o2KLg0`VbJsAkyyZt=yBViJOFj>)FNAq`^T_Hlw{^a({-fv{ zT2gN`f?7>f58{lbUXu)JaZO>*(m56n#583vI#DeiHtQAkPKxS!q9&$?G-V(jB~2}n zo-vI;up#NncbUxzO<_DvClX8OhN*?pZw;rb#RGLwG}#HAW+H&Iu$Rf{MA-Wvp|ID( z>7^0283FFh4O(-Ou5$}4ZkLS3?UJy#T|5hh1s1nU%HnqMECm8ffs~~{#!?`#U|3)& zkh2sBEFOWyBW3Z(SUds?h6NUnoW&!s6bdYbQkFs)OQFDmVS%Mk&Qd6_6bURvQkEha zOOe2WVS%Mc&Qc_>6bmfHQkG&FOR>O$VS%Ms&QdI}ln5*(QkD`KONqdOVS%MY&Qc<< zlnN}RQkGH~OR2zuVS%Mo&QdC{cm)=(l*KD!@d_*$7FfJ;7H=O5yQ*5D=(d8Fl9SdHiN_coaXhaewgrf9AsVIEXo$GQ1LLoh#bcOYh zZss-_xu&j1ldk$eJd|_=>>H<~%ZP;QO;?rPh`W|h9!8bzBiS+~{kb@EhjjoQb{oPz z9}huU6Urmd?7r-y3$x27;5R!y0%hoC`qr$*6H*?-U677ZN8Q9-?F3M&oBYqz=&rt1h`>JpJTUN2@w7>mmQZ0u^#^5J= z*guW^-k1l?GqC@&`6!#=X=vMD0nIbq^X8P@ygsh1u5F%wguX*v0FR8}8M0>~(TkvY z2KGPqEXro6B>u(FJj3PNlgfK*FMr>H95D4Ss= z@vnmB8R~zZoBHm;2H(yhANz-PCe$i;WDM10&uXHdgXS67-TLz=o8blGUjxlE+?u$z ztL*yEWp^(1_upE#Q(X&>jA0$wv!3V;&^!bCa%dyUX4pjhHPAf6ly7={Wou_#^D4*v zcUw)h79JTxfb6LwIta}(u#63%YzB?^Uxelv4lSJKJO9DOYdN2u^0y5z)i69VhI+Cm zLiA>6o`GE`8c;Svl=x%NJVS2b(Cd}oR{H*#n(xoK(X7Vdkum6GPlD(z&^!bCro}+n z3`yc=mqngoVsKx%S-U$m=*zSI!CMTq5gr-CRZYXIPTg z;oCe;_5IR&z~6CltJ(sOjA19)(@OL%Xr6(6zqA`=Gwgx3GwLO1p5eWY_x&Twek!TC z|EsTkvZ1!YBV%YMd-f8&51MCSpJ(=?Y=#5G|1vbsFlWt#FN(Kb>I|RkPEEhNOML|% z8N;h&&q1PJgXS67hp*RBHp3y}e*>ClSaD}`*Z#cxtJR+^?doaUr5=Vy#_%TD^A^!Z zpm~Nd=p9Ab49AH7I5f}D(S5ipe6OvuV&;+5-^+KYC*YAWoFscr5&bqa&oCCfcThIN kY2tqunrFD!d#$T&Sa)ac@SfC-A6wNk@bp7f;rsXh00fx#bN~PV literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 1.anim b/addons/godot-xr-tools/hands/animations/right/Sign 1.anim deleted file mode 100644 index 907c1c9dccb9d39c805f88415b34befccf7b7bd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 2.anim b/addons/godot-xr-tools/hands/animations/right/Sign 2.anim deleted file mode 100644 index d9eb445e26b071a9497f0941def129f4583afa0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 zcmbtaYjj*y8NCTuD$n#0M37oasaVoZ=8?ygPA1`DX>DtrRI8#5lguRQw(yK~RI-@V^Sy=ysZ zoz9*;-<)snIp^#K>*>WYF12xZ~HkAs)kVWJIhumOR(tYVt z(V}U(wfT%W%%-b7cBX4|O4jBpW@*sOWYZPX?o+Gv^{J7bKIdSP4cSa4XWES#T*B#e zzRUSq&3B(+y%xHxr`cKHQ`vmK-RfNR&}l?3v3raOw!Xb^8aLBJEBD6$=mWW16M6U&<8Z8l>mWa?26&fRn|E}fcX>w; zi)3_CiRW!*MINW@{Pj{ol9Rw(5|3amiDfXCO-5OYa9iMb>e z#axn`#olH@lAXr9%8p|$$;o3bi3c*5#1ffHawFN>Oh~drnOE7V%q2Oo%q8($=8{-2 zb4hM8dz%SKb~f`WJDj;BC!M(@9?x77%V#dh4QOvOA<2$tUS(%Am*j*rm&8+=OJXt2 zCAm56Z6+kyNzJS5sOFNKtmcwLb<%CHB ztx0dNLXu4Hi2d=Iy-T1pl4eP7D%MHTrZsFW*=w4H`@Eh`##QTl#7$>+$$f4EniIKj__p+FJt&az|?`h=htpkm>n56 zjAI84quPwuNAP-#x%4>s?#W%r|6tHPsUt3E{pDyNoqQOq-w8Qbj-i}f0j!)fF}#A| zmB7-;a;T=;$oT0eFL~kk{)eX?eQQqQua{j5)m6($9qwHx!RkYpQ95Y`>vuw{7{*Xe zBEZT?l;Ie|Ex^)A6>CDnXb!D>YI?<-Jrir5ytQL`-c8PW{L8Z@!RlKvp>)y)*6)O> z+A)-qIIwcEis366UJWdrfUG$&N-yu8dZ+b`sk`64x8umNinAssJx+qvV=HQ$bb$3c znF9{394DQ?%1IZ)S227wuyitj<$Q;B*g@=~aJ@0pTxVp!Rg>g^hWDHVtG@;l$~Czb ztltSm#z!#JnydjMDPZYjhTeZTF~SW?qEo5O_Z^C@ziwjx z%r0w9XlHqMSFrj|V?ycVGhqEr=!$bahH~;*VCCd<3~yz)2Ut3(QZ&*n{Q8dDCz@VK zto}>1DKYwD%?a%??}-mqe*-3zPSRlgPUy$_UJT`=4_GBd~Nr`@Z3aP#mf= zI&tDVo9n7ktWoXCs7}3mJqcFdk6zNr09d~h`ddmCLpiw#SUK6oaE{?YVCkd^CspjQ z(GXrg4%}=!y^x$)yXypY7h%^)u=+fDNhbxcekb(TjUt9}@_At8q{MKUVfsX-af01t zUF|}@KYD-sZKLVRJx9XRTR*TfNiP14LHEo_p!y;7l1^?0>vuwbUbqEAIT;34PPQ|A zE5kd0rIVQhps_BUV}Cw*{DatG2kNRDDFv+aK?&^5u3+^$F{yO&1+ac6=YhKoLpj+6 ztejLCzMbJafTa_V)~!0Wad&;ZRDN(`-oA)+;%O~pb_J{dBFdzbJHh&$G=RGcLpiw{ zSUI_e;V&`#Wnk%KF4lu??c;QfHw;SIbLi|?=YyPh&q=WQuV6;$pCDC!((<=G-}d^~FtH$rHvh%K>GV_ZlCp{%hzZojeHE z?_@r>-5AQr*MXIjhZugC;coy-C)Sk?Zsv}sQach?oLNn5c;cTOi+Z`Tk`5;>b9lHxAt~f zPUy6Ich^jy`o}S$bTSIo?_?pkCoq(gZviVO-)8tphMxkKPC(kXH4lxfIy|&xa(dnJ zQ(WU!wPBp9{yQj>PQDA)@1zmj(-_Lh_kfj?XBd8#;qL=WC!=A*xB=%RgA-5Rd^-=; z8)smRYAHS=9gxYzh#^@q?)I++CPcX9!^DGcRg8dy1bf#Dg3 zUj&v;sw<%sZbrxd7>{-=4Ii7_o4GJ~c+nc`#7if^>R&=H>Evawekbn-_cILTs+;{1!Exj*I8h>iEPCVrn?JV#2lVJ6)qD(sZC0M_c3&9=1 zP)>dYtem{Y@aqg81=c&k6FBYfCXY56oktNERRl$CSCJF%Ik9U0XZ$UP_OdAgsyK8633_Fs>Rx;6j+ diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 2.res b/addons/godot-xr-tools/hands/animations/right/Sign 2.res new file mode 100644 index 0000000000000000000000000000000000000000..eb398d6df8cefce71b19353fd4caad18f3e40c1a GIT binary patch literal 6018 zcma)=du&r>7{)tLkc)_1gaA4~#DN=!Ue>j&?O`w&117L>k*SQb9=5W!r<|V2rkg`l zZlZ{yTm%H86D6X?#2B_gj1pra2}ZIQje%&q{D~Mt;veGkb?2PE{l4!Hm%Q22_dM@= ze(k#FoVK>EcA?AqxsCiD4qcIoC!=OuPuT|7V5oI#E}i@*GuY=e|A#mU&oESlfrYJx z<{E(qbuC&#Gxe0W(lr(jS2wpNH#O8~X0$PCq@#(3TG!o9d!?bb0fsg2a+;O#jG1k* z@#<7eYZJ!@+GKpZ7anvv9E@u;a`?>HQ&iN|6IEq}{Bxjr{B21jb+siu7YXuC^J z%64a++=fwh-+3y`xjb%~JOw+K)hBxyo7LquGYad7vzxtg1FwhEVr#7@P1dqutLr!? zqGxCsz13*c8WMUVUU*Y)$TVsx&BdOEb1W52YObN^B(zkM+3aHPq=c@g8HG8Uh}f?l9SdHiN?StTXvEVdgv(WcilA_(J5N!fv6!C9C{21y zH%r=#5>wX`8KpUzie;3j{lO`t81bfNQ>lwLrKWo3VA9ooC)?%9-WKORVC_bS-ORJw zV|Lns0oMdb_Nna5`?JH7@S7bTi86FE`@yWi8*@#@<3T8fH-+eXq1nno*&_qTneRRn z`y9vog(!P=D)cne5Y)iWc6H3(ZIL0@)$>zNZI2Y*+M=@KGKT5s+k5UOdImJlz|Q>u z%4V2J{0~C&3`h2UdftD%B=qafw49zpJ??+akY=)J@ zzY3aXC|*20Jnf4^<(E=p`_`Z8QfuLnG1QSgtBGC%%`>pi>T6Lp!#d)B1e#~q{QLgC zwwp71t5um;!i^J44b3f;V(yj7Bb&kqfV$Fp{C%GG3aDZn&_?2JOlfl#X#8% z8RBObMV?{bwVu9TR(1Dw_0J4_@Waz;D?BoWC&->{M7Kfn4D7<(jtzMd4|Hk zcj2p%t08~?WOd1cYPAC%8AB)8^EA<2&^!bCc4<4xW_SkL&Zr&GJj1QaUx&{Qs|znH zC{jNhsjAPyBV%}u?0KH(ozOf3yPMgCvKe+0{~l?8U`Xr6)HdcB0Q8TJ$Z%g{VS(YSc%C$lo7UK|$rvPo%jzy^9*nGEbKj==sfrNh~m)Mn_cQ*cw`Jm$eyD_zX8oNj6?4j%4RrD i{3oD!hFkMvy~XRs2R}Mp90{%HP~U{709A``-~R(ONbSY| literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 3.anim b/addons/godot-xr-tools/hands/animations/right/Sign 3.anim deleted file mode 100644 index 52cc0482c7652c4582e2d6bfc8bb79ff09a6631f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 4.anim b/addons/godot-xr-tools/hands/animations/right/Sign 4.anim deleted file mode 100644 index 0966f588973bf5397021037b0c1b0b56ae0ce2b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 zcmbtaZFC$}8J?6<&Kx;{=RRq#)cABi+FLx)lmD(Tsi(;iBNkA=a5<-=Nf&>JCWNg8W>Ou`Hh-hj81F zABPJxqMJIeuvR3?VSUX`0>3(y&EYdY8E|b0GYz}|xMY?K1EpTGCtK*ngj$83a<7>; z4f5>1mQUqOgKm;F^L7FGLeU0g%PiXERw>oHu^fp;tS!ar4P2&}!n^3hahVJ) zg`&NxT#jzpv#FFS8f4F z(P}}dMoTQB(GrUUwZw&%xX=>UXo>5!pj4wJuG111S`tD_LTE{7v?TOeP^!_A&}m5s zEe%3TgV55T(bAyTf>Mo^2A!4$p`}r1X%t!-HCh_=T2QLd(x}tYD6}*QElom8lSWIE zUJFV!TAFlPnuL~Sp`}@9Y1U|I)@wnjMoY6!OS90@BDAy!EiD=?EqW~|)o5waX=xE! zl0r*TXh~|cB=uTQs?n0vX-QVK(CO`@U(5+!KV_#K9q3+_6L)l2c%+wibkKXeD~Lrh zI;q6-H?t#;Q%?T+DIv*CU@nPAFqgzKm`n0P*xyV@a$=ZQIXTQfB{zt~AI{Iibv}oK)tL+*sz4crJ5EESR|@ zFPZ(#gd``Md6g5+T#}p4ToR9GE{Wwcm*fSsznPHaL^Q8*GMYplANUGRZdiMNp4niNj$8%B$n1(k{8$hWVP1trC0dV>l^B`BHRAhqdD#p*a=l0a+H z8?2Bd(>v~beP*8$D2=3P(wmBPlC&I-J{N<2E+W;R!XS?Dc?_S=@TY;P1O1&}eNLchSokYO~ozN_zz3U_n ztehkmZeX|(SUNF=K;!KThev1qXMFF&|7_oIN5@#U{~CKvXdd2&8*fg+)i>d$(n&Me zpcATU!BBIO1XfO38D7e88?eR+*b3&wFm_(OZS1*!KQVUJo5c&>zGRcVveXJ=PD0gV zDQcWt05<4k7C215>!cG{Ia$W=g$!Q=ES(HtYAcwNb;C7SWi|GGnILW&C*kTZMlU%h z%fSYnP-I+!q2}aLVCCfV46k7LGGOV1R#vCIx(s6?_P?o99x{yEZ71Z01|0I$6{`Mn z^pZ}l02_2dzd5eNP)=3>D<@xIcs0XU0!t^f+wI3t?)>h9i?`oB`r3uD@zK+_+74uP zg{$wvEv1ugut6vEv-%ng<>ZUN%E^})Ud!;8fu$3BC5_;vSf5$nzNfaet@fou2L_+s z?(TS+7jK`0tN#jaD4kpdHt2*-oUdXiCszY2C)Y51EyF#)(n*D)ksh%Zue<(0{j=?D z?BVCkd?C$#nlahO$b zw%{}0J0H%fyPZ;)us0{+>htI&ofNF5dgjNfkCzZ(S zleZ=RVbm|(^?Ypn+OxNIyayNm#h_=;Nx1p}^pZ}#0XFD_{&`^&hH|nQSUK6k@HZL0 z4p=&wcnmb=rE}SHBfEl}^3|Ht1vyxNR89$#!7n zq{8s^4Br4Ooq)6-m7!I4%}AEYcOIC#J8tiInhRQ8G`u+pSO0C4Nhddg4LYd>_Z*!AB-FX`m_V1rKPg1Z$% zIk^p3Ik}zTI~d*pES=PjKq(E{FGE;maI=N3Z3pVva}uup2k0f8+zB@5WFEM?FqD%Y z0xKsw8Q#V4kAS603Sf+Lpf`wa<8UzWet{xca-%OFFp+Y|zPR z;O@mxPIdz;C-*UYKf@0IOD7YU2ioyQ^u}9bWBziiPl&UjUA7{{uA7-iDQ z&%g$q)PdWJp`832SUGuw;e8DM0$Ae&`(hBQYu)fnd!I~TwavsFc{|>J#v7sPA4Mz;aGHp?o2f8PONs{L9h@7roc^EsV!gHFx@_dJGj@&d4O@<)bWWOx!-?*uO(iH~+n z))}3X2#gAXqPjn5KKyfH*B-b2B~(Z!FM|y_`6#$QVJIiB04pc2GW=(TUjsgd6TDiX XaB&`0C(04q@u~pN)7N+5Kc)R2W+1sD diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 4.res b/addons/godot-xr-tools/hands/animations/right/Sign 4.res new file mode 100644 index 0000000000000000000000000000000000000000..e93f39355d3ecb219dd4592771b1a06eb70a81fa GIT binary patch literal 6018 zcma)=TWl0%7={Nta1vCG21Nm(7AOqc-5!>1cc@gbNGY@&Jy5sZpFuE0jeL z0Y#C6auP(1LL{Kk3nSg7A%+;D7h(t@HY5a0xIq*3f*T{g|8{2f+yDPBZ1RP7zj?oJ zo^F?SX12beex73g+)w@;3SAYC#6niYh&u-5KB&v9_g%j={Eq={^M8mF@C-p!nON9v z>dG*@XlT=;x@E+@)ygQmT-MqiYig|3tx$8wOoXD1^~$4edx>du0){mocAM3aq?K*4 z@tSy8?-a-T+hlx<>#d1fx*5~Mk&vZh?`RyTjfBHdJ%7vCT%Vg5i6ixqcuT(j5vNN| z%64a++y>TP6tOJ+oNTk*CtDba-R1VM_oV+fb>9=V!v1y03I=C)UFQh&vT$yPx$G0U zy~ofq^`y~mHtUU1qZx0!Wi%$6^|-FE4eqgcD5fie(245t7OPcZpQNZ^BpPEzSXUmv ztE8nTvNM($YHmxavsJ4rp(~8o?L=Y;!?g5p_A}si^?0Z$iY7au+f0OT7KZG0BJ3}l z$bPEaUKXLl3~^^})4P&%okw8ts4^ChDq-=cJPU>e7LO`r@u)mYvA|L+Whs`i6bmdE z7FdeqEX4wgS77l4&=`79E> z@7e7!J8l1fG7geGm7V@#dgXZh%ML$;G7T&HVAkjjE05##KorA!g6Ij*Y~{f0k^bY% z_aurv$1(p?C}(ye^d!`SsQ#ZV+K3t3f+vfoo!o1)67I z=bnmk7z&908EBs2z}JI&*R1-na_9DIfnnEHXoc{|7^aau(}|t|%`>p~vaIZ5Un#8=9vMR!*;7umADU-if9p9YhoOS_1JFFf`ZE)PW#5hsOey~}(>H0ORtb-c zf&DjeJ`WnvbD?<#_HnO5ISkK2JG1kkd4^Eoj`VLo)l~G=ZLR!!eM+l_N5=3R*)yN$ z1<*XhVDz3xISe(#zYv;dIBky1boE^JA2|7Q&&4Y#?FD#b42#H~TA~+2^9=0!kvf#a zu!Q)RLh}qo^CwqM`2JwUrTD1K>W@=eJv=go2C`=v(aWKE2KKDJ0_8BQB>q*GPiZai$QWA5 zo(R$Fpm_#%ooGWj3{m2bLGui|Z}entE&V*5x>^u8^Xq0U4v&n%AbS!-uZQLt*!L_Z z%3(+nKf5UM485xF{4ZBBfh%W@WR`n2YVGjI7&eeS9Yl9R^9=05+=X%&UL*dE&^*KK z8+Dbp#@?*BW33BRf11)Z!6RenCVMs$or2~W*tbhtP!7ZE&`w5eh2|LwM@ItJt?Gbw zaY*o+6W!W2cw`K3kUiUpeiNE!V0SY+P!7XR;@<_$GknrBFMTZ9eeS}rqQKd^DeWzI zWDIYUJ-dm12byPKw_fj}9ELr_{~k2YaBprnU9@tH|Ep6)!9d+6Z7)1BhJ9quexeUR z^9-ZVdmrU6d_epMp?QYBfBfltmlmh56$}a%e%GxXf=9-1nCv-1^igP@VKjOlq8x@} j#D5%`XE=I$fBMeZiu9C)eU;NYH)|ikGXPbOZ{Pm|_V4%5 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 5.anim b/addons/godot-xr-tools/hands/animations/right/Sign 5.anim deleted file mode 100644 index aae40b6276878d5e44717fd571566669589f6d2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9881 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 L&tE@)|CIJ$T!g*& diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 5.res b/addons/godot-xr-tools/hands/animations/right/Sign 5.res new file mode 100644 index 0000000000000000000000000000000000000000..69f68f45b610470ee44603496518d7cc9566e9de GIT binary patch literal 6018 zcma)=Yiv_x7{?EILBuOJjfw)|7&tg|UAvXFJh)-7*s18f6R~E^F;iqw<1juGZ~3D)+=|r?V4E1%C(rYHWAgk3Z3`5 z?Iots1#C7x&TZBvEZuC^qp^sk+RmS2`B`hA5XTh+*;!&k69+hV)6 zu=u1bJ{gNoV8O7!;*+!Z1Qx%*;+L}cWh{Py1;YZ1U(VteSjq*Kaw$u>jHO&)!LYzm zE@vqhSSkdT3Mos4jHN=Gb3=1p)IZI%Og}qhSq3E%L zm%XRvTW;EsJciSWyTbWg-jRrg(FS7gclo9H#4DW7MILS0`Ad;V08^xV0vFB;NNxsG zBpSkn^8%6`!xV|+Fh$A-F1)W)0K8uQzSR7DH4tA z!g&G74s41<5}P9BBb%zHcEeJ&!h6lxoIWS}nC9){>a$n~6!K`%bn?$=w#`KVa=Z zhu!nD+hcaxp#kMSNcO4h=x5VI58yXDdj1Y z;FOB1*}+L0G(S8thH|o}g6IG=&%plHvr!I1CGiKLd4@>w_ROUpYbyuqHixctq_q${ zG6wc<;=CR-qUS*K4D97zg>o34fOcl9p?QX*=ICs9|4)H^pPubMeJ-ulz$0ULlI)pF z^gL*u;WqT1LOBez#6KUJXDFFFIW*za{>n3nG1-+Lq_qX`$QTxqJ&TB549zpJ??>uT z4#N`SUkc4LG+*AG?Ydr+sa^U*aN4}IRu7Mip@HmKM)Y!Mo`HQjtuQ>$aXaFsURvaJW}n36G57S+Zvp(a%Bi4D73+=TQ#BYT|E%<{84~$HDb`PFBY1 z=VX+>(%K8~$QUAI&l;kepm_$Cu~C%6pc8*HG|#Z>LVx!6rJrQd=Zk{Je(BX(;E^%3 zl07k^*Fy6Q?0upQ_tUv-@a(a^>~hZrEdh^=!618*M0Y^*4D5Rr z6Xh_Zh@ZVF@(fol)P=5%zgU^E)&{FTN^70)$QagTr+tGCVSdEo9GDqPIcw4D4=ZJIZ0$LHs+Rd4>=Bt22k?L|1 zG|w;wy|+*f!`sBaADU+v{5O!fab|Jm=b{ne;%|Gjci@pR93Xr8h&~9-GmJ&=U6jLc ji1^=w<{1uN-kbUJcx7hF{K3%lu3qhZc!r_s@$LJ6B(VHY literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Sign_Point.anim b/addons/godot-xr-tools/hands/animations/right/Sign_Point.anim deleted file mode 100644 index 71f40ff0d59bda3d637f0ad99eafaa3b029ae3bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9889 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 E1)L1b-~a#s diff --git a/addons/godot-xr-tools/hands/animations/right/Sign_Point.res b/addons/godot-xr-tools/hands/animations/right/Sign_Point.res new file mode 100644 index 0000000000000000000000000000000000000000..8f64870315da7a117e6dc0bafca8ad4dcf70dc19 GIT binary patch literal 6026 zcma)=U2qd+6o$8;@+%;qFo1{(g@Ul8Y0?BXT?)lgezdfpP?fqQ+cq}IhRq^Hfg<<= zf)*8jKt#N-An2gujU%mBGLBv-iZTw4!oWDdsEj}3I9}oVrMsJx@B1$7%$dG9`<|00 z+w{$D8X6lGDDKa7P#|iI7utx8I=A|U#%KA;L7TsYy9T_5QpFygsQf&aJ_9R zL-3%n-AtK|l?m1;qwsJ=+xqm{=4Ga1#0@)Zq?#M@?Yd0D>?m&E1b1J%-nKfx$h}3@B9=COv*Y|fa=hCF($avj8*~@s{F1MLcxJUfm?9BC@XR>0r-}HT~)pv&d)>yP` zGiR;0<7RWpisSV=R&y?HW=w^>2>)2dNSn$4bW&!f)oD}MJ1J#Z+2*vBFqP}^DCd~j z{ETB8@%EfLTXi;OO@*CIzmrU7E!!~@3Pbk0X2w{XLX$nA-^?0#7WQiWPLjO?viY}< z-^(Lxunq2++s%zRx-KBF1XLMIK$WlrRGtOH0!u)ZvIJC~rCeYsm$H=0Sjq(!3=1sf za+Y#|B`B~2r7S@iOHg3Ju)q?Ovjhc}3W23U%2FX?sSsE&EU;9_StvV>$T zA%O+M0!v8F5)xR#0!vuR5|*)q1r`hoEMYlISYW9XSSqC~l`@t}fd#_?OQoEpQecS) zEDjt`Ad;V08^ww0vFE{@I@)MaN(MT?y7m(ag zrbr}}DN-Sp=}I@3DUu(|6p1Et@w|ZKW-~=1;Y^VV=}cF;@l28Ye5Ob=po`}PBsZcd z63J+aR0wIh(oJcKbrE+SUkxArK!@F_Hsdlop%~2bZt(oR}3(+_W)5_)>**+zIXigNM51+BU>Tvm#PY!M{s*bNs>+Cqg38KP^Be0)Kz($Z&kYSn*s>eJwnF_e)#(}|t|%`>obdKb!Lm`VJzpm~P$ z;4ih)zfbP5_gw9Lt89y|!XsmtP4)zcE{EnB*nAM>F;ozL2%2ZOvdiiD?ThcU{?69e zVxvc?S01R*mu)=0kh$r3KJD!-{{yv6Jsdw4G;F{fDDboqZu8V^~P`+)Z>XG|w;) zy+tUGp^o?$L-P!q7XG45y|7oiqLk`akI&baz$0T=O7<)x`W|SWfqhSMFUn)6C;sKo zJj1@fSNC)cx~82wU9bQ8%_zMA9vMR;*|UP^mC!r`yJx=-S)$iL^9=0!78~U;}oXE^_TN!5wkrr5y`7VC?e#_G?)BV*V_ z_UtD5IcT1NU4lK2@)){^e-AXz&=S^q_b>TLTQ_NcY}@56`U~*L7+xfMULtxgG|w;! zy_ZoQ!z;x9Dm2f~aVZ}AYgSoL%_Os@Yfq>C8ay(FePqvmqF;yR8AhXb0Oc{fLHq}y ed4_4DliH6?ji#R*RQ2JZ&H9`0l%N{$E&PAo4)fUn literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Straight.anim b/addons/godot-xr-tools/hands/animations/right/Straight.anim deleted file mode 100644 index 4ab1d9303de1e11a14506c6ab89219431b49d233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9885 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Straight.res b/addons/godot-xr-tools/hands/animations/right/Straight.res new file mode 100644 index 0000000000000000000000000000000000000000..cd658eccc2744944aef263c2295d5b581a284ab8 GIT binary patch literal 6022 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 diff --git a/addons/godot-xr-tools/hands/animations/right/Surfer.res b/addons/godot-xr-tools/hands/animations/right/Surfer.res new file mode 100644 index 0000000000000000000000000000000000000000..01cfa17a1222e95fdcfa7432469251a50e147381 GIT binary patch literal 6018 zcma)=Yitx{6ov=90v3>~LJ?7{fWold?Y7&_c3LRbauM2s3M$L8J8jo)ch=ddw15-= zl`0AfUJw+cP!Xc?)6kYbi2gDGFJQok!9+9?6G_mRsQ7-{nc1`7_x-TRN#8wt&N~m& z<(-*rXl$6PI6v2t-$S9RQ;D{yoiJ1GfN~Ag*h*hPclkb_*Zd#i9n1_tRa-D@w+v+% zUNp8ENy9c%{uT$=8_-D_sb;%HVV|U=X{IA>X53J&!>f#Kq_aD= z6^*rK)Y+=tnKl%5qP$L`Ep1x15zl@!ysnXou1=!K4(K)0Q5=OKdz}RPgQpetuk(6Y zgf&)_J94YhnW1(*fyJlFSbVC4#i#NtSQc1(s+7g2@+`#yORSQc0Ua+ZL=QX;UFNLfl`EF}U9 zmIam)IZKJa5)@d1QkI~MB`C09SzrmuS%LyfslZYyWhs@hlnN|Z7FbHqNMH#`Swb?Fkiddvfh8no2@SBYtEv-5NVx>g-xrX)45mmlg!A_WBqxR` z63JnTlnY{N=_D~dOI{RHB$~zf`vQ`a#uSOfF-6MdF|~98nId_KOp$0L=kE(hPAF3( zlFAe*7t7Sr$z_V<1v5pW$(+A0AUWAgkw`dGq+B{vODCQwl9$gEi3W83zJTOJG({pA zO_6dTO)Z_2rbu2)QzV+x`TGKrlhhQ6L^VaqWi_>Q!kQv^X-$!6T<7l#NKRl=B$C(^ zDHqw)(#dR!#bUNT$j$?moeOdzUy-*(Nm#$26pVbP%c9enZFyF zXE@)psj}kylw+I!{i0v{#?q%@M#eCm_{<>s9%!C{ozr_!F2hVRKMR^?2(3JL^nzNc zwVm$PsxNoxDrRI1vx$$7=wfJ|f$jTIE<=FKmq7CjX7y*>-<~3-Zq3`d)-o;h>wZi&odgN4<9>$D}f&DjeKMy+5RnR;G z`?y!5T!uN&?(SS@o}qc|`2H~m3i^H80{z6~iFyrYWDN6&&wWJKLh}qaqIW;aWvC6GKMJe zSxs~dnrC1c8%Mbe2AOYy<{6qUZtw5-v#77G{&Q`5ZI|AR85u(h@ktQ-;13NtbWllY{Gegc|jVBfP?D3>8a=GjG&XP7Xr zIs9`?Re1RN$@Bvts`-5fr z_!YzS^_Y<{JVksq5ZwjMGq7)$HlkdHr=i`9+62urZ2O_N|Ht~CzOK_n+J|R1=$kPk zW7tA`o+0{KXr6)H%{+&48Mc!7ZfKt2sxNS?__CsX*D$<)#F=&a^O%t_yg+=m5&a@G z&%kcIUP8GH+sXV6Xr3XU9I1FO_O5o^+M})dsY`zuGctx(h|f-BQyTf_du_`UOMe41GKSs6=S`ybK=TY^(A$f08QvoEZ$tA8doJ$m ayYx{--_-f%!ZSKH==(4;2-SdZ-~R(?ckxI7 literal 0 HcmV?d00001 diff --git a/addons/godot-xr-tools/hands/animations/right/Thumb.anim b/addons/godot-xr-tools/hands/animations/right/Thumb.anim deleted file mode 100644 index eec925c1a903bf20903c3ca7e9a23fdf3da42fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9879 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 LPG8@He@Xivh_S7s diff --git a/addons/godot-xr-tools/hands/animations/right/Thumb.res b/addons/godot-xr-tools/hands/animations/right/Thumb.res new file mode 100644 index 0000000000000000000000000000000000000000..f82ac7fdc1999efc2b7ff47e3351b090bcf53a9a GIT binary patch literal 6016 zcma)=Yitx%6vwCdq9}qNpd!S8@r$9k}dbU+iHhIneA>O2WP<194cAC00 z93C`x=vmz|@}YX^dU&|1y)(BqxzaSc;H=qXlXRWetj`oJyHyUYL_V!|C70`#meS0E z-KOhHsYg>L z-&X2OC+#lsr4)9LaUJFMJx@BhEMr+BUZ;<8t7#8e4EuS(RWhTFbc_>k=CWF;8D@i3-*p> zYN?K*JWsZ|3%W#~D6f;r6%5nT)An1#>*{%JZ5EpJgkH0t!CB~E;&n3g1usbSFY$Ud z!g^C<&fKAQ7qMM{V+qJ2mVhi^3CJu9EORUYS;!KQS(YHj5)`roMJz#%1(rFMpqM4d zv4l95kdP%LVhM39u*|W9#4I6>rHW&z60%f@SgJS{Sms!J@DOPFH`3t7SV#sz30{7TRLHlk-W6VNI0%b_cebb zHnwy!8zXt4jgfF_m+sq0^dh#HGBX7Wgd~+gsZemGJ71QyblS)lNRgezgrc^eUZR9bXM)&r9P$(eGqO z4$o32!f$$X1e9r5_SdpxC@oEb$3vhfTm{mTK~u*e_L0HkbZ!b1{T4^(r$V{AH-Vl8 zMbAF?vza93A675?7EvyD+^DGIdI&u(Vz?RluFow<-wK*#py$2~%4MiT^V31I3L&n%>G2hB3j=X5rd%PiHP(V0rJ=6D^6z>J6?ihN>7 z$3e3U^tGN34z}NbA{JLjM^=3^mAyAYBWZWuX6Kbxhm756lO#W%aG4ZG|RB+kBEBeSWMY| zK_*`xj*}*s5iv9)pH)b&2F)_iZ|ZkJxeRxs`FlXK3>z2ys7$}KOZh>nBtIWrK-R#F zh@l1f+>7*mpjifbW9WV;m!TESCqc6edoHgzv2*CZ%D}mmZx_4OxDfA{t9%e)g2J$H&{SauDf!<{?p+ zwd$yiQ^~N_2GR*LB8G>N&w8Z0K(h?=W4Rm3W!Qk`9|6rWtkZhclcV2PthZN_@h!v2 zMwk&XJc@kitxPv_dO))b^xo2DD3{?e(C+*e&@97_Z~FSbZR|bKbG}k}=fWoPILwF` zwj!S=kbV+0%RsMXo`P~2wxRj$pjn0~v2*IhngJzzeiBJ6NRX#tM#S(8^4Wp(v!Gc9 zdg1jPl*_Oa%|8#CW%%>VC+g9m&FYe}8RXaqLSBFw5yOkf=Ov_ffo2)Xq4zSB%di{G zzXFF*7$l{g> bool: - return name == "XRToolsHand" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHand" ## Called when the node enters the scene tree for the first time. @@ -85,7 +91,7 @@ func _ready() -> void: _transform = transform # Find the relevant hand nodes - _hand_mesh = _find_child(self, "MeshInstance") + _hand_mesh = _find_child(self, "MeshInstance3D") _animation_player = _find_child(self, "AnimationPlayer") _animation_tree = _find_child(self, "AnimationTree") @@ -100,61 +106,51 @@ func _ready() -> void: ## It then reads the grip and trigger action values to animate the hand. func _process(_delta: float) -> void: # Do not run physics if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return - # Scale the hand mesh with the world scale. This is required for OpenXR plugin - # 1.3.0 and later where the plugin no-longer scales the controllers with - # world_scale - if ARVRServer.world_scale != _last_world_scale: - _last_world_scale = ARVRServer.world_scale + # Scale the hand mesh with the world scale. + if XRServer.world_scale != _last_world_scale: + _last_world_scale = XRServer.world_scale transform = _transform.scaled(Vector3.ONE * _last_world_scale) emit_signal("hand_scale_changed", _last_world_scale) # Animate the hand mesh with the controller inputs - var controller : ARVRController = get_parent() + var controller : XRController3D = get_parent() if controller: - var grip : float = controller.get_joystick_axis(JOY_VR_ANALOG_GRIP) - var trigger : float = controller.get_joystick_axis(JOY_VR_ANALOG_TRIGGER) + var grip : float = controller.get_float(grip_action) + var trigger : float = controller.get_float(trigger_action) # Allow overriding of grip and trigger if _force_grip >= 0.0: grip = _force_grip if _force_trigger >= 0.0: trigger = _force_trigger - # Uncomment for workaround for bug in OpenXR plugin 1.1.1 and earlier - # giving values from -1.0 to 1.0. Note that when controllers are not - # being tracking yet this will result in a value of 0.5 - # grip = (grip + 1.0) * 0.5 - # trigger = (trigger + 1.0) * 0.5 - $AnimationTree.set("parameters/Grip/blend_amount", grip) $AnimationTree.set("parameters/Trigger/blend_amount", trigger) - # var grip_state = controller.is_button_pressed(JOY_VR_GRIP) - # print("Pressed: " + str(grip_state)) # This method verifies the hand has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Check hand for mesh instance - if not _find_child(self, "MeshInstance"): - return "Hand does not have a MeshInstance" + if not _find_child(self, "MeshInstance3D"): + warnings.append("Hand does not have a MeshInstance3D") # Check hand for animation player if not _find_child(self, "AnimationPlayer"): - return "Hand does not have a AnimationPlayer" + warnings.append("Hand does not have a AnimationPlayer") # Check hand for animation tree var tree : AnimationTree = _find_child(self, "AnimationTree") if not tree: - return "Hand does not have a AnimationTree" - - # Check hand animation tree has a root - if not tree.tree_root: - return "Hand AnimationTree has no root" + warnings.append("Hand does not have a AnimationTree") + elif not tree.tree_root: + warnings.append("Hand AnimationTree has no root") - # Passed basic validation - return "" + # Return warnings + return warnings ## Find an [XRToolsHand] node. @@ -162,8 +158,8 @@ func _get_configuration_warning(): ## This function searches from the specified node for an [XRToolsHand] assuming ## the node is a sibling of the hand under an [ARVRController]. static func find_instance(node : Node) -> XRToolsHand: - return XRTools.find_child( - ARVRHelpers.get_arvr_controller(node), + return XRTools.find_xr_child( + XRHelpers.get_xr_controller(node), "*", "XRToolsHand") as XRToolsHand @@ -184,7 +180,7 @@ func set_hand_material_override(material : Material) -> void: ## Set the default open-hand pose -func set_default_pose(pose : Resource) -> void: +func set_default_pose(pose : XRToolsHandPoseSettings) -> void: default_pose = pose if is_inside_tree(): _update_pose() @@ -317,7 +313,7 @@ func _remove_pose_override(who : Node) -> bool: # Check for a match if pose.who == who: # Remove the override - _pose_overrides.remove(pos) + _pose_overrides.remove_at(pos) modified = true length -= 1 else: diff --git a/addons/godot-xr-tools/hands/hand_physics_bone.gd b/addons/godot-xr-tools/hands/hand_physics_bone.gd index cf0110f3..998d35d8 100644 --- a/addons/godot-xr-tools/hands/hand_physics_bone.gd +++ b/addons/godot-xr-tools/hands/hand_physics_bone.gd @@ -1,15 +1,15 @@ -tool +@tool class_name XRToolsHandPhysicsBone -extends BoneAttachment +extends BoneAttachment3D ## XR Tools Physics Hand Bone ## ## This script adds a physics-bone to a godot-xr-tools physics hand. ## -## It extends from [BoneAttachment] to track the position of the bone in -## the hand skeleton, and uses this position to move a [KinematicBody] -## physics-bone with a [CapsuleShape] collider. +## It extends from [BoneAttachment3D] to track the position of the bone in +## the hand skeleton, and uses this position to move a [CharacterBody3D] +## physics-bone with a [CapsuleShape3D] collider. ## ## The physics-bone is manually driven with to the position and rotation of the ## skeletal-bone. The physics-bone is set as top-level to prevent the @@ -17,7 +17,7 @@ extends BoneAttachment ## collider which the physics engine cannot tolerate. ## ## To handle scaling, this script subscribes to the hand_scale_changed signal -## emitted by the [XRToolsHand] script and manually adjusts the [CapsuleShape] +## emitted by the [XRToolsHand] script and manually adjusts the [CapsuleShape3D] ## collider of the physics-bone to keep it sized appropriately. ## ## There are additional collision and group settings for this specific @@ -25,31 +25,31 @@ extends BoneAttachment ## Length of the physics-bone -export var length : float = 0.03 +@export var length : float = 0.03 ## Ratio of bone length to width -export var width_ratio : float = 0.3 +@export var width_ratio : float = 0.3 ## Additional collision layer for this one bone -export (int, LAYERS_3D_PHYSICS) var collision_layer : int = 0 +@export_flags_3d_physics var collision_layer : int = 0 ## Additional bone group for this one bone -export var bone_group : String = "" +@export var bone_group : String = "" # Physics-bone collider shape -var _bone_shape : CapsuleShape +var _bone_shape : CapsuleShape3D # Physics-bone body node -var _physics_bone : KinematicBody +var _physics_bone : CharacterBody3D # Node attached to the skeletal-bone, and the target of the physics-bone -var _skeletal_bone : Spatial +var _skeletal_bone : Node3D -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHandPhysicsBone" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHandPhysicsBone" # Called when the node enters the scene tree. This constructs the physics-bone @@ -58,37 +58,37 @@ func _ready(): # Connect the 'hand_scale_changed' signal var physics_hand := XRToolsHand.find_instance(self) as XRToolsPhysicsHand if physics_hand: - physics_hand.connect("hand_scale_changed", self, "_on_hand_scale_changed") + physics_hand.hand_scale_changed.connect(_on_hand_scale_changed) # Construct the physics-bone shape - _bone_shape = CapsuleShape.new() + _bone_shape = CapsuleShape3D.new() _bone_shape.margin = physics_hand.margin - _on_hand_scale_changed(ARVRServer.world_scale) + _on_hand_scale_changed(XRServer.world_scale) # Construct the physics-bone collision shape - var bone_collision := CollisionShape.new() + var bone_collision := CollisionShape3D.new() bone_collision.set_name("BoneCollision") bone_collision.shape = _bone_shape - bone_collision.transform.basis = Basis(Vector3.RIGHT, PI/2) + #bone_collision.transform.basis = Basis(Vector3.RIGHT, PI/2) # Construct the physics-bone body - _physics_bone = KinematicBody.new() + _physics_bone = CharacterBody3D.new() _physics_bone.set_name("BoneBody") - _physics_bone.set_as_toplevel(true) + _physics_bone.set_as_top_level(true) _physics_bone.collision_layer = physics_hand.collision_layer | collision_layer _physics_bone.collision_mask = 0 _physics_bone.add_child(bone_collision) # Set the optional bone group for all bones in the hand - if not physics_hand.bone_group.empty(): + if not physics_hand.bone_group.is_empty(): _physics_bone.add_to_group(physics_hand.bone_group) # Set the optional bone group for this one bone - if not bone_group.empty(): + if not bone_group.is_empty(): _physics_bone.add_to_group(bone_group) # Construct the bone middle spatial - _skeletal_bone = Spatial.new() + _skeletal_bone = Node3D.new() _skeletal_bone.transform.origin = Vector3.UP * length / 2 # Add the physics-bone body to this hand bone @@ -116,7 +116,8 @@ func _move_bone(delta: float) -> void: var bone_vel := (bone_xform.origin - _physics_bone.global_transform.origin) / delta # Move the physics-bone into position - _physics_bone.move_and_slide(bone_vel, Vector3.UP) + _physics_bone.velocity = bone_vel + _physics_bone.move_and_slide() # Rotate the physics-bone into the correct rotation _physics_bone.global_transform.basis = bone_xform.basis @@ -128,8 +129,8 @@ func _teleport_bone() -> void: var bone_xform := _skeletal_bone.global_transform # Set the bone position - _physics_bone.global_transform = Transform( - Basis(bone_xform.basis.get_rotation_quat()), + _physics_bone.global_transform = Transform3D( + Basis(bone_xform.basis.get_rotation_quaternion()), bone_xform.origin) diff --git a/addons/godot-xr-tools/hands/materials/african_hands.material b/addons/godot-xr-tools/hands/materials/african_hands.material index b0037a369f2135703253289082335dfab7dd2458..e132a8f9927be8ecd626d5da45a15df232111d77 100644 GIT binary patch literal 1072 zcmV-01kd|YQ$s@n000005C8ys3IG5Y1ONaiwJ-f(dkJ+Q0Ol}_H(*cF0Wc9T1Yv~? z;{loy#Di=?c1m6*DK(S!mPyKqAG-d5CETYTX8~}T#m9wEs~@DOxe!VLdjNO_lUvI!%uF5zE93X=;aE8xcJaaiItpEh4yJ;T(u4 z07GzKxvifgMu3z+#05A2F;7)_ylmPaVh86ZT`Li9@XJPFwh&Yv_p`5S;I6J=9Bz$I zPMylqyZyG^wpk`uz_K+v$;3g9n?GA0qYi9c_V$_6P=#qdfXXRyyzbi+5jk2jA|}A4 zydej?&;-|JB#x4HKuek_=6pjS$b4VDnWm zbuOFq!SN}3X={X}T;7=%3z}U1Z@b_&#G7ZF_Pd1E|J9B!j_>kL8JCaVvK0ZJWGp)$ z3LrpEfM^3mj}EAzRWV)_DC#2KNFXAB6!EC&pb$ewTE_Bq1c<{@Vr0U=f(h-#j1?G= zaZdvX^<0q4w7oLo5mzpoh%@HT&`*YE#Z1HJi0QKr`6`tQResw(+|Su6OZ%M;-Yq{(v5u4mfY_*Utx?EK%}831lo|s-0z#Oo zT0IiLgExH))<1>CptT5vn_?`iAuMmocv)WuT>Rst0O9}boK+p0JE&$`*KNt-&j zcNmLI6u_q}4@)>=!~IH2)=0O+97ZZ!{@EYe9i8Rb^aB?W4@NX@;NB7!Q$s@n000005C8zd2LJ#>0{{RhwJ-f(!3NbC05<7$H&AVo4zP&K%*@Qp z%*@QpP-I(cM3QIAP5pKwMD8s^THSq&jPRO3{Q8zT_w4&2q6Z!|me+7xUlZ%-F6g$^IkwN2^t} z?KTt3O$Ql+CriYqeG8GUOSF%2?*EJbAAZ8b7pl$1j)khRiTF=J;J<)BxJklV52{Ek z*J81_9+ZtUslzZT9Xq(#SmEkY^q<0+#11cXR@pVmT}7AsFw17C76&iaf~*oxRHEE# zWv8jamu6X+t7M<1Toz`etSF}9iwsv&+n3fVB}*v2W=b1`H)mg+sSz%dyV=d`!^^{w z$#YCku~9M%9)%|OXu7Sen1e<|i@A`aHnBXWidi{1;mIV;qq~wZl%T^vYAx(^{vUYm z)BhKIm02M^l(dByr|32co(mCQ%OsJpsLNVvk#tg&OQsej93CP(G(a}~5BRU~XTWg5 z0*7xnoy-X0KY$L8XCb5)qG4@=BN>-th}1F&VF)LN5(qEV*4Te)?;Enz4VP^G4aGCOT*CnZmF{Quu6eu#pr))mz2fav9lZZ+p{w+1c>H;#gGEb4PFwU)b_qhc|SwkQ4>f^xnq%#AYImh)&egN!)fSw zB9*bSvLAJAwAuOJfI@)-GBEbZuKNd6^cZ4%>>HWLGif?}n93!XOqEc4fjG&Cv}+W~ zQFz7!c#hl1DZfe5H__bwCKv{>SrXl@F=4jw9nh>M!t2O9{?Xg6ONb;1YPziR-@XGu mp=1>F8N54kW>Q$s_8h?YG7 diff --git a/addons/godot-xr-tools/hands/materials/african_hands_realistic.material b/addons/godot-xr-tools/hands/materials/african_hands_realistic.material index 52313d1dff573919f91a179792907896f1e1210a..4f54528da2fde417248bfb311b563a1fe0888eb9 100644 GIT binary patch literal 1125 zcmV-r1e*I&Q$s@n000005C8xT3jhF31ONaiwJ-f(4GJA105)=yI#5;80np}Q!_Lgi z5!HwpbF9D`A#JBplu7OlB(issa;niB1#hcd%*bl=Tc8yW9Z{P0ckWK-A0DJ&} z0Eu#UB=?s`H$6*jAWXRpI)uiJR5nkK97or~bm7I{^Aj@+_DYv;xppI!i=nhwZgY1D zE=93yY|gO%?m*5RTl!40yZgA5*JkaOIu{GMgpegm<%vHnD&CZ;BlhgOlW=#=AyAQ{ z#ETm|Zrq)K8{uJ5J0DM+FiCND3vR$&m%&|ZY^h}~2@RpV+?@#Ht8^Sp9KsDD46lcx2U>tDfmY+K~35a*#!+nORVx#JKsfvvCr+PTi)z5tLG%P6W4D zCdTTnP~KewsQK;`oU8DcxAJg98>eMN}2o)jSikEx0Iot zR%XvQ`2=K1R_jUm}G^L8Fv9j?h4d64xMY+xqwMlamdBp0f_MdMvERA z4xk8uBr-HaEa1?gbQeEQm_(}-Clx75Z0v{tGE#C6YaB$RW0RD=>tc3dsI(odc*PgP zOU0M@H*{vh^WvxCjMu_S1%#)G8)0GbO?=YDSuJ%1V|o#~7x18Jr;g z&@$&ENw!1Bgr|h1f-3z%v56#=If){$3Cz5CfK?*5NilysbTUoqvVYK!H*LyX>PsIBr_#|zwR+PB9S==m4_3kge9H8d0raMuQvwtTs_;fvo-fHvJ->K z2#pUtSBATyj2ongCBqtk9~%}9sFsPn!PMWNch*0{c9$|C#B(!bnbMF%#6Kvj#IuoX zBYXjbViG8P;1O47LWBzqz74lxKP@c)+(>6w$6YK3sS@M{RNv6chXKvrzslN5jZ~h( zz1dhjA`w1*@c4ic+it)#tEQ#}@^HI?lAo7D-I+*^lc!zXF;x(GRp=3M72$4`B)w~A z1(y4PoBJKyM;8vJ1-QZJGqBhV6T^MHO$iK2DMSH5*M+bpPKtYYR>b4!qL-RT8GjYR r+#V`g#=-@~Dy@0$@)H=LjT_fm^&h%xNq?N8C^v=x2Z6H#Qd2`ied!B* literal 896 zcmV-`1AqKdQ$s@n000005C8ye2mk&MkIN*+>CEGLgd~uq$AUa>A|?gpHG0a!yj~z#(MK{Kp&-K0A>Ja0NEGm zmg$s1c*9gj8nup+y(y9Kl#BtwrV~vV;Y)rt-YgdzGu%FIa54WKoEh6SCE0%jue4fK z+io+l+;osFc(O!%+P4ttx32vIO z)`J=(mTPgaxE_>^GpWNcDjhqx*jVA}QuP1AnZyn+bXM6l%3Vd5`!LI9sTKz>*Mh7P zOH`uVYh|Yi!rnWDw)k(Hce9e@$2yYIWD}>}x*qIvP zGP#@G%s#w443Rv?^b{KNeUUpPy!)_s;mPN-~&O*@~ku?vqc5$LR#w0W2sSzG4JQ4lvb2Yeop6ysPCXk|$3H$mOX zMr;f)TqU|aW5Rl&o1v8;z~IHXptg3}u$y>jZVW$OTYXgd WRf1BJPcH%?;6vN7(=7o~Q$s^Ro1u*W diff --git a/addons/godot-xr-tools/hands/materials/caucasian_hand.material b/addons/godot-xr-tools/hands/materials/caucasian_hand.material index 8019e13b734a88925d2402680193bf9268ceac03..a0cfb2e337a2269a2409ac447650ece8cacbcfe2 100644 GIT binary patch literal 1068 zcmV+{1k?LcQ$s@n000005C8yv3IG5U1ONaiwJ-f(ehF0|0G4ozHDFKD0dRCB!^mI| z1fjzb53&i_DS4UXj_9=aPEt<%(DnFZJt@rN5doK3KGC2lu2Ii4QKxzUcmR6<_fDgm zo~14irrZVnLE}Oyo2NqzqpM-M(DC>D#EgQylJhOsE~IktlNQTe?k?jhie+PShW&Sk z;M}pLkCNRT##LUMwOi_3OylxFmMoPg{up8v+pj#-7&XboM541g^3b(C*VA6 zSk%r(508%!cbDJ>+y%KJGG9?ZgdD+!PVPgtY zc;!S>Wn;GN{8c6ri9{k8Ynv&p(ec#CaGUmjI>WGr3DjA^O%q5%;`kg;{9K!ip`$n! zyuxO(F(e9?cjm=HDu)01Twp43=Np#&E}`?EX~-AIb$ONz!%t0@fp8J-Vq;4!105eD zK9WI)%h0)&nF^F-5PtyRhbYAcg%&Q9?&7D%2ee9Y5+Rw;0tE;bncy1MGIXTlk{GI^ zf>1#m;)|gJ@nwDt9btH0+(4Z1S_pw~@a#Ab5fXO+?whtM5Mg4 zgN_-dYDSuJYNa(JC??HQ3eMxMrT-gI8oZ)7ie%1^pKQ$0@SZRNGB*iHvPX)rO(E)?fMH4 zDoMcau|!9Hnf%&Ck5`5!o2@s+1qpYnBGz1AG=qRF#Zn~k)V;?Lc+vOlg9ijC25+je$RQ$s^bwfsT= literal 812 zcmV+{1JnFcQ$s@n000005C8x?2LJ#R0{{RhwJ-f(JO))50Cp#FH(*VY4lt5o7=~dO zhG7^EjMkbZk~CXxekKVaa&I{zv2lw4p*f<^0IH2qGu&&;ZW}RkYxz%c=4+@W$o?bvq;oa5p+&`T z(K*K8$S^U|M(dI;glQjT-2WB-IlKgkugk^0jdj`AKKyqu;J<)B6npDQ*cg>M%aRJQ zb9;^RR+py#6}~8Tc%8G#P$%5ggm52b*bGx~4&hRcQ*lRP!bPnNsj_f|S=I$fu#qZM z)?Fx+q!%e;Zgz`93MC`V7NeF#50^m=Iihuzy`;&Qc~oBVJ$-g z`4q%1`O5ssS&vWx#*! zEm$;0^JAu~dw>xRkYtsVZ=uVWF0rM}MUu0n3&-Fo zl{%!oa_FwEtgMfzA>N$S8$M86!R0Yec7uPQqB|4gVqatM&lI?oR(vj^U8)}OrH>>t z(w^@a7tg%2Cx%;1Q$CVpZZf;wsNfg`YnA9GlM@&Vqkz^jfmz1^aig;3q%1ONaiwJ-f((+RyH05-CcIY3p?0Yg!R<0((c z#!)N`2g6Z^8X;t-5|c^pEhMsclJW$8=^eXI8f{UC5k_v@%v9UVtY)TKn*x3Sd;ov| zdAYlhd&{Gno~1SrrrZWyLgPj%o2N&Pqw8V1(Bkj;i5UiaCCj&5yOGMpP+Bavxw`~+ zqF6RIXV`yt3(g%|`b@IB1G$seX6=?b7Yn(BkR?myi9anW-ju2%_UyZ(aCgqNi5ogt z4jeG^ z)m@>yI|oqn-6=R{Ig}u_#)}^t4yYi3 zDKa%gFzo1|bQeEKN}^SY6N?Z8c=)gpgF}ORSo3fq9h;=|T^F+xLv>UUDvDElF|<&8 znZHA4Iy^6aD9(5-q)Kn4@jkz~3baXt(?ZDzD3*R{||C$ErZxSOx$ zD*b@qsDY_b$PCd)Qjk>A7(fC-m@1m`62Nmg$AXR-#%e~Ia%yE71IHNNy)5mMln>;b z)RBcR4Gsmk6xtBa0=W!JG0=VuM~SxRWM;S38A9Ct>=p!AMG{^o2ZKY?sz!gFkjnQ^ zP15vrl7QOhNZuS00V%x9>_k!B3FQBF-~x-`!(T`eD^(=QLuZ3sb=C4(v_Q8*trudV z*Zb1Ou&TiYK3Ljh7_9=}a$sT8Uk=eNW7c}6L*+RUE(ohp3K?R{Fuk4jW$53WTnIck z!n|-scl!)S1YwS&LU96@v`Hy&o}Y^2>0JZ*v>xo~*+w2#xlCLcXXDe;3{%WIaQhb_ zikOD5XUGBq&Gp!!n8G%=oTyAqg?#GIsCeHu#);#a3ipAAymqN_?ENa)iK8mUaf z4z61`ecWt)Y1(jlqn+^t)de}|HiGqlS`L-_FQ+&9kE|K5Ip>^gdIvodslkUjk0=1Z zHu^0ssX=OqJX~H$m2dc1?c9^g>IqzYcm&bD+4icqoOWqS&U$OkM3(A-5-!ug3cFcw zE8qm8ug%gU0#5glWJ>-}=N`pnUEj>ck<@$4nSj49g_D}7GS&-j-xf`n>3`)#uWQ@5 f`!q=)abs8O$A`kT8b3}^lpA}XSHdj;Qd2`icq9k9 literal 858 zcmV-g1Eu^@Q$s@n000005C8z_2LJ#<0{{RhwJ-f(=?29a05++1I8bep4lq;1%*@Qp z%*@Oz8jjY@5=ovdH}#XP5xKWq01j8Q(%=p@O0ym6xF38IPx#;+;1l3BregqP0A>J` zZm5v52cNKP$|M)EU@wM5xI)GtUDJxHqcB2#Hr@>P8nfF*Jh|2U$2jvf)D~p_5&Y7* zn%mH#Vz}rWTX1BU7-^$*Nf*Mjk23E6jQ=2>0>#(mV&BKQ>}w+aHyH3gz#q3t!dg$d zPz)D?vA3RtjZvx7G^r3fx7Rptb!qxf;f-R4*Ey>Ub;4au2=`%z%`h3~5H9986^A4y zT-3^tstRW&%i16dHd2Mmx($VvY%adXZnfM-YOPk#L^5iY+913c8wG7M8o6l{7l)81 zuTgcnZEzR6n|+vhSQA{DZYw8q(5Gn+S8{SK6hp)`nbW}uM@E@Ex(gXQN{#R`HaN+{~ zYpD320mB6g{|P+ra2lD9#D4%DK0uz8lA;h3);c_pk3lJ$a~&>Xmwf5D6yXRfc9aM& z)#g|WN2}6FgqbRJkw^!|kB|6opj&R@{{<4eFeY}*sZd>mE}c$VbelvXkpzI9sBtkO zN{x(+BuNSx#!vzwhN`Rs5+D>oisIIxk=dexdembKYc%fsWjguJ&Upi6X-br(J=se1 zf^vo>a5^G`Do7S_A$}(aJHvY zj7v1|Ws!{`>c_1Rf&`GP-ycwt;kfS)) z8Cq60#z3()efk@ID0aXE#%9@7|KN%qLyU=CBV#?2qu(#6TtsWC-tt9_Bs0>d@fZ}! zyi6xUuWYo6B>tOhZnY<72EeQW-9~4^-$H3XYan3w*m1n0xAiVzog}UAvKW7O2Y_PN k>S@Dn8ll5u;PKn)qRO`t>|#E>2&8}yZ5U3s1X5E&L-ACLh5!Hn diff --git a/addons/godot-xr-tools/hands/materials/cleaning_glove.material b/addons/godot-xr-tools/hands/materials/cleaning_glove.material index e863e354f2f7e937ea6a45b4b76a759b94313040..798d37d62ee6b1e30323c7907a2c47d72085f473 100644 GIT binary patch literal 1121 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 b=popunw424_TTx?s|wfLG*E5{Qd2`iXeOjR diff --git a/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material index 46c155490f38533f89fe3827e01beeaad18cecb6..c9a7bf85ae025830fcaac0d4c678eadc3d845d7a 100644 GIT binary patch literal 1127 zcmV-t1ep6$Q$s@n000005C8x!3jhF51ONaiwJ-f(E($Fo0CqB!IzUy@0i;4G926uS z!{B5YNfKq)j~Z!hrxKG%?kyy;cak!t6k3av#^4SS*@&p!Gc(odD%Q+QwKfHS0Db_1 z0G%s$cXF?Jbknoc41_5+gC3!ABbCk5BgfJ8FkPte_x!|+1$!mUw_LlC%EeGxEH`s^ z39d!4Y;4Z3|Lzo=JGS(jWOp}mEw9bmEp;wdatR?zmdX=E!4&0Mzo``$okyT@^dZrI)L)weV6)Zx{46_m?#?6nNjZ=f`)NT43L8;~G zL~x5`Vyx~8<=vS;&38v~&T=R{U?)|$?C3Z73@-DuCszo^D>IA9F*Pr%w8;-jzwyB{ z<(4tj)5?uH&mx8}v2Z_kN1$b@KxpL5u4WWAW?>dyxuU7EFY#oYn;P@~8X zl0`(ui5Wmh41vKTgbk&;_=%Ddtx}xab2}fVj*AQd+KnJP4y=1vKA#4`Iy43)Nn zDOY%(i(h;()LeX-e?xCJJTHDO&Uh`nTtIlDI1`u_-?Wv14JM{1$#g&Bd>D4x+-OU# zYoU``ULoCZH($*Sfa0i;twD%}W+W*{N{s!rzjv2<(jA+U!E2#_z z-@!}G*M?~qEf{1d+U5K$iA}7S2MYaE;HAebcH>P21xCv3OGdB3lp`WWnS9}0P!kP! zgQwV5u0URx3H0(3Le2M9O^Wxrl7Osp1l(LyuM-wn@6zM$ksRzEt`9Q!F&arQrA|b> z*ZFim|5#q@SitU37>Y#(dNZ^EtW0--f;FBjL%R-c4@~*}-6HSGSZF=-LX|@zq!1QF zNnD5_ZgHIA%aF0{+)gArW~K!AWxa}{m6;!`zn>^e2$Bt%XEEa3^c;YyRRMeCn*9#b zI3-lJZf5B5WEb^2Zp(_`%EQR_c34!b@fJH4re?#}S?|oeE0+l#&t=APrXjOnKYXd4 zXJc+!+z%1lBmnQRBfM)7gnK$4IJcG`mlnJ?&&W`hyBGkvBnTpa8lh_b0%#Tb6F2jk zq$x*R#h}zg%YHiWumKVio$*AdDyNn3aI}JyU*+`f%q9oP`(52wF;v;hdQMy?aHmQG zJ+`BP4gLVjbw40SH!dCwocj4KDk7J|bRTQ|WKR1KEWqtLzc$NBcZ-LL_~kD8zR8v8 tSN-E^qktJ#E?}#0?Ev>oVHT&^C~9rK)Lp0N2Yf<-F&bi>&JI#jLqis)2|)k= literal 900 zcmV-~1AF{ZQ$s@n000005C8y@2mkqvykNefm=9~TKPO|3iHqJd8zD4)$5ZvWg z^Xi7JYPA*0U2wXZ9Ql!DVuqSJV%NSqj=K|aELZEN2+Q@^PTXAvfx8oM7mImbtqSTc zR>@Wo7>kmIT4l^eCySCcSH)1%EQJnbXY-ZKjMLpsxJEhTETQJbPuk51wIg5s)x|)G z%9!+}oU$}&gOLK<#k`v6vNFVASq}Pz9KFdD(HS z#uZ+01CooUjkkj%c5{C=wQ3BpO**Z|)QFBGX5_vYVb|4YzWvCWcUmFr03C;>Rhki1 zy%a+vavLEG32Y4XzL{ZS2o^n@0V_<;5RlKjTwLc+C^5n0B0F;^k2`?CG%yqtWYihD zNV5Wy6yi1b&||{poyH~J1aq|y4M}uUQ`oUx=y6@Rz>Aqwqy$KHziyhJac~ z^1HF)))&Dwh<0)4?zV{xg)%^^Ljc0D)ObVLcBcd!lKj@mMO#cqiHeO4`i_w$g7abM aA=s*#m02bB-}%t13fJ5;P;LoQQ$s_ZR;_aY diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material index e8227bccd79928f0b6c17d9edc3dda4ea983f72f..41019dfdc5e28b89d2eb248c9fa096dafbd3662e 100644 GIT binary patch literal 1127 zcmV-t1ep6$Q$s@n000005C8!E3IG641ONaiwJ-f({Ru5105&t0HXv8h0RXsx5C8!H z47r36@QgtSAv;Y)CMl7Z$lgiHQ=U4iJc7?HHAs;;biDGW?o*?`U?&BF0Dl0202=*P z3?iD~TcBm>ovza|DRa^#bh1e4bM@$Xc0q1eTKru>KPfIoXyokCwL)$m8YOgSr~#w|$qt0v1Hmm- zx^%AOay?a)Dk+8;L~)8QmlldM=Ks)|56_DsiaTB_DHIc~EKo%y#=mW4K$FR>iMnMU zu|h68G1cr#zH8-^Hot8HfZ(WMtx*UK(MVE|l+pn}0z#N0T0Ih=b2-O?jv2<(j5Otx zmC|ruzB{^)W5HJ9fAafiJx6{-Lwn{iMQ)0>Xaj{ktESxib%K&ojPYcW-g@UTy8W^7 z6K<6c$+PHKdoX>~d~3f+nqDIkEO(9!n+yIf!VcSg&A*e9cH4^!4MrJiM3P#mJ5gVB ze(9%6Bd>uL@Gz9UL?Qor379yn>u}u;RwTJcs~EV?ZCLxuM?lP&-JYdFC0`;U3kO9h z5@MfWI!^J+kk?6_Q!w^3y)y8wKhBZf%-tzTPP9^>oJEEwWZ>%hS%6@w%=Sn(fe#Zb zRjq8m*y~~4vfE+Y?L{m($N=u?uz*a1D|Q&Bl13HB%bfXc3lkzSrwhwG4KYCcgR<&m zHl`(R5F{{?uz`P#)U9>|xFqsC+^+nWv<-QyI7Cl~nXU&O4F&JLUWd!euTF{7 ztv!|-Vh>EXOoJ-!j$j&r6GWfdLJbNWEyu-_prHae3(vY_F?)(s*yqVFKBNm;YO-%w tFLB>IdOkz`^@w7v|8V2er@+LGsur5R#I=Jdz)=($XMupt)d5mdLqlIR7_|TZ literal 905 zcmV;419tpUQ$s@n000005C8y_2mkHZ^l zNwZb9FKsTDn-IDMPnU|5c50}!rBoX!=ldNE5% z$C?FqMQANj8Ovp3G!|Q=@^LPOnue{!5H3DuxY|_xpYUce#0{ZUms;hns+1eC%XY~a z2var&nJuocRJp0uC0!KGILq3kOLo$gOv8?q7uIBa(P4XRJFT{A$rOxJJEj4Yw;P?@ zG@1>h5;5#tt#F&%&F*F+W+J9kqU1Cww#uf#grNyao^C5M*Pv0=Vm1Y_y;v@jQ^w4o zl<;(q6X~{e4j+{`6l)DTq5lV-8}2oZ^zQks~vZ90xMC>-}b6hf6q z7FTk}7*&KSWks7a;R!E?&xD(5d+f!db*VF9r)%M4;(?RIPy9E~kFDbW1(Yk{R1TZj z%7slTX$G;2?xRpB0f4KhK{X;sk(n70Ns|;B15g4XrK+q062S97jPfWoBQuK%%BV+; z1EcX}LlG|M%W#PDnu7#<@~|%g1M`}=KeO;LiZG8adT*(p3Bc`f3bC9OUSRa@gpdW8 zc7fS(ti~07aD$SIw~e=hBc5}AHnnODu}wOy$JB_9BxdBk7-84dXukc(ns-_u>;N5y zrd65|RlO8LByt-e3<+!u^uC#4Vh9#JoB=CL&k&H$yj)!8P$)6Ml9Wgv4x{izW9e fC4%!|=popunw424_TTx?s|wfLG*E5{Qd2`i7&xH! diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material index 9c98b47b02bcbb13788a3614c1e40b56074e11ae..4b4146d896ed35885ae3a953c602df2df25d3bf3 100644 GIT binary patch literal 1123 zcmV-p1f2U)Q$s@n000005C8x&3jhF11ONaiwJ-f(G71eM0G4u-HZWDv0YDX>1P=`k zMjc$Fu_lC&ohBiZ+?z;b?wub9yyM#hv~wLzvm}r8SIrV-*W9nDi=d(v0TgDCAf`Z z+1Q+6|J^M(cWmi3$?h)XHm}XvEp;v?atR?zmdX=jJhE!cRnPPxZAg1j`GQ5LnN=`RV%+@L**HD8PTi)z5tKGhCxTln z6JvE(DDTbz)O>de&RGs62<#*ammR$(zrk6a_T(Djc%@}AIi}`il{6WetMnToJX3B- zLp`n3sPimh2vdgpxjO4mnY1d1tn0NX779p$$w={PGXW zey`B^?{wsr$kp;JABLY=C`?|MWQP(gdidaQ!Gw*w03&w?avbF1?f?|PL1Vy+7&S1c z@Ekx|1cM+MlXpTtldRfH-fhWDX3 z#TUa1#h3X#w8q2p;)mjl*Fp+qgy)J&QGxMITN%(`VoH)s_an}SVW&-vw&c1NI%)F? zsfN4x27uzIfvrIZ4b4bWkd)E^KmtM-Bcgf|U}HJRf{q!+)Qrd|r=X0aG92H*OTE{I zkQXf)2)Ll!OoGkxv9PtKC{ZMk9Rk6y9>BJ#h}9|Bta^55Ou@O*ZlrB zi~&r!z)_Sm#z0ojEdf$fLqnTA4@v+4 literal 901 zcmV;01A6>YQ$s@n000005C8y{2mk5V$)5cL9to=6SU$ zsJmDtTSZ_jN*ZdFF&mvMO4?i%Lrt?3I+UHwS2igi>xRdw7JX!;3`-BCmepun=O$~b9~En^=!)g|y8@HRWYU`B z)tiQug;1iEuj*5Fquu)7bmUCr6H0{3$oWZ|CNYB(TpIVYuWj(jsZ&{kR%57DTwd-A zQVFN~I1x9~-Fy;uq{UdiLU(uIw4=W}jB9pZ$uXbCvg0b;j)GH`$+4-b@aSYFAx2J& zOhP(*DB1FzzC6%h^55nuB_GB)ueE?fiRQ_ zSG677T%IY)gi2xNNL=D-^N~1X{*ShNJS%o2zN}PABpzHz9E!U$@NISSyDO0P;+i(! zmr|7tUVcH#!rcOZtEf>mB1n;$8Ihz(mN8HQA*HIU0}{aVK#cMzH6t^N3d*TfCq zLk%wI%XEnFnu7#<>aZ*V1N556KfCZh3NV&0vTy0332^Q)4zZvWU|Bt>@TP>#C+L1-W-D9GqG zbV;)Tk|a_!_MxkU%sYWgx(RZ%99oiSCZ^o6ozO$NFoCy4N@887`jrRD9^Xn<7z%6K zXShLy;tD=H#+@DZXSm2Ah>5Wq#ys=sc_%}9E{kxgIQB&~Nh;C@CsC;4G9U0cZ$m{* zB>CLfdh4s;Fo?Q1c6Z%GhC&IT)h7V$SVFvkY&%H;IZ3W1a)B4#QKI5v1GHmriQs&g bdI+|vQDs(%{dYd}s=}2vIm&?nQd2`iMUAba diff --git a/addons/godot-xr-tools/hands/materials/labglove.material b/addons/godot-xr-tools/hands/materials/labglove.material index 46558c78354dda85e05ef883ea73afcc411b46ce..29dbbe8f44984044396955533e1fb3a2c8e19910 100644 GIT binary patch literal 1116 zcmV-i1f%;>Q$s@n000005C8z+3IG5^1ONaiwJ-f(;0e_s0QRwyI6zg>0mH#CG`8h7 zG!Wwqs{?RV2_a;sDaa)E77`&lNjag8UwugNVfYSW0UK<4GgGx@R$x?aZPm78-rRs=1`|c>*-E$i{$l$SJ z2aOzeC*V|wSk%tP7A;I%+}(m3a2Jb>Ew#)=p&^u)yK}(!DxU`vk8ndM!}}oEH120t z_P{;a#S(FgJhE!cRnPPxZAg1jxq?NgnN=`RV%+@L**H14PTi)z5tKHT&I7ktCdTTn zP~KewsQK;^+_M}?5co+JE<1WnK7(^C?a4L5@k(bgIi}`il{ERCm^X%&O5V{Ar-@ag)}fd@ylCS_IriS|ED8& zB3I{GS{Qz6y3d5u;07foFia9fjXMq)E}Zb;<41r8cLru0l&V3ALLqT?7w!%~lTo1r z3n4&$m;iC2Z{X-L#DdaY{A^(oty27A#0(oHIyS@zau(J;l%%7R62oh8a4Aml#qdJ$ zWquE>@$kIZLUG1xA%#N1GsUT>#Q3JI3TQAfB}u0H5vPS=r%jEvh@ja4f+Z zh~Lp3hjV`;9S$0dltn2GA;1EXc$1=`Jz9$rMaGF`@1PS!+~$cE%TmSPF2n)%q32Kg zh$o`*JyetQUbiHm?HqxdV=4rNmzkX?%AJS&+b%8yGJJU3BzdW_q8xSh=jxv!uk9Ad zJJdnpC0e~(+61d)FHpzQA*0c12bUQZd4CCrwu~9>nHnnD5}_=t6s0PN9f&D8EtVmP z-@DLwInul~$h-K2BN{V@U6GvtOC+QY0MECCBlN}r9as;0dTOH%Yj!47Mv5`uX`U(c zCb(@yNGz5i>>09vKyx{EG^UUZ7H315>8=73vN5L_tCPkqf&S{G(r06BTja_K91{BY zgCdn{n1t&#rx!QtFPk>5Zv@UbpmjkGx=pYipjJZVe$VNR=_6^z)tqwfHVuQOiPZMP zf=2{6vF(0OOKWgif*%elMg9#P%bf{wIX%6L504NnHo0Dd%WN;LlBnnJ>|qfN`Kip{AV0!#7T~Do=jqDnNadAK!wPz%2n%Q$s^pa|Xiz literal 913 zcmV;C18)3MQ$s@n000005C8zS2mkZX>+;UgwQE?x>TIBQ$wXKrP@e2_y5L!5^u;h8$}wj#z*oWgTQ|Qe~VpGI@T_@ z3qos=%2+O2qp{c`m5*~N~=QdCSr;uN=}nnv`WXpgrNvBPq&qsW1#J^XjHYBO+jogmdoUnF*7J5JYD69 zbXz)y6_q#?YYjW0{|BBM_5X{nGBd>qE3YBPFS<{HXG6v5WuE9*)TTAoR5~FeBqJR- zY@mQlK18JWJv3whQBtDf|A7A(0{p*Vp#p^!|A0dL2k=2;Bx*`&iO0QB_av3btJ6YlgTH7DhM%8j=?V*eHcc4h^wS+Bm+Kc!JABK zmmiVyh3*j{$jpPizs5c9;Ah7p$&OdE`#{3kS0@nRoFo@655 zd=Tx?%1co(*j0qiktBa(ky`}?)4=zl!d=NH91CTO)}P3%qi|dfZna*rCCRtHO5*AA n9SoXVD^5G{_6?KAq6cu+fUndl!5`0uk*e_0wnX5VQd2`iK`XA} diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import index 6413199a..1314ffb2 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn" +uid="uid://bu07alt6vkbaq" +path="res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" -dest_files=[ "res://.import/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn" ] +dest_files=["res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import index c4a0f778..8c122459 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn" +uid="uid://w7th3d2hl7b5" +path="res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" -dest_files=[ "res://.import/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn" ] +dest_files=["res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import index 7b5d9f83..6fb44fef 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn" +uid="uid://bnx4hithcij6y" +path="res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" -dest_files=[ "res://.import/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn" ] +dest_files=["res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import index d8b624b6..31c53556 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn" +uid="uid://csgsp0wuw8ucy" +path="res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" -dest_files=[ "res://.import/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn" ] +dest_files=["res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import index 46bc2563..fb4f1ce3 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn" +uid="uid://q1l3fknstir2" +path="res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" -dest_files=[ "res://.import/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn" ] +dest_files=["res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import index d6535061..d198397f 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn" +uid="uid://c6s5nvekg0isa" +path="res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" -dest_files=[ "res://.import/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn" ] +dest_files=["res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import index 8965d9fc..40d4e92e 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn" +uid="uid://c4nba0qpi0uls" +path="res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" -dest_files=[ "res://.import/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn" ] +dest_files=["res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import index 01e18a6b..53fea667 100644 --- a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn" +uid="uid://dunu03tc5vdbh" +path="res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" -dest_files=[ "res://.import/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn" ] +dest_files=["res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import index d4e8e176..44b7650e 100644 --- a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn" +uid="uid://16colgxrw27d" +path="res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" -dest_files=[ "res://.import/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn" ] +dest_files=["res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import index eb3a0bdb..dcf37b51 100644 --- a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import +++ b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn" +uid="uid://cjrac51wst3tu" +path="res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" -dest_files=[ "res://.import/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn" ] +dest_files=["res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/hand_l.gltf.import b/addons/godot-xr-tools/hands/model/hand_l.gltf.import index 2ed7bdb2..326d0842 100644 --- a/addons/godot-xr-tools/hands/model/hand_l.gltf.import +++ b/addons/godot-xr-tools/hands/model/hand_l.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn" +uid="uid://dhaqth6q5yw4n" +path="res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/hand_l.gltf" -dest_files=[ "res://.import/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn" ] +dest_files=["res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/model/hand_r.gltf.import b/addons/godot-xr-tools/hands/model/hand_r.gltf.import index e8d0f779..1f91a8d9 100644 --- a/addons/godot-xr-tools/hands/model/hand_r.gltf.import +++ b/addons/godot-xr-tools/hands/model/hand_r.gltf.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn" +uid="uid://ds1t8vc0kxoeo" +path="res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn" [deps] source_file="res://addons/godot-xr-tools/hands/model/hand_r.gltf" -dest_files=[ "res://.import/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn" ] +dest_files=["res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn"] [params] -nodes/root_type="Spatial" +nodes/root_type="Node3D" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=false -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 -meshes/light_baking=0 -meshes/lightmap_texel_size=0.1 +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true -animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/addons/godot-xr-tools/hands/physics_hand.gd b/addons/godot-xr-tools/hands/physics_hand.gd index 9144a5ce..5934817a 100644 --- a/addons/godot-xr-tools/hands/physics_hand.gd +++ b/addons/godot-xr-tools/hands/physics_hand.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsPhysicsHand extends XRToolsHand @@ -20,21 +20,21 @@ const DEFAULT_LAYER := 0b0000_0000_0000_0010_0000_0000_0000_0000 ## Additionally [XRToolsHandPhysicsBone] nodes can specify additional ## bone-specific collision layers - for example to give the fore-finger bone ## additional collision capabilities. -export (int, LAYERS_3D_PHYSICS) var collision_layer : int = DEFAULT_LAYER +@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER ## Bone collision margin applied to all [XRToolsHandPhysicsBone] children. ## ## This is used for fine-tuning the collision margins for all ## [XRToolsHandPhysicsBone] children in the hand. -export var margin : float = 0.004 +@export var margin : float = 0.004 ## Group applied to all [XRToolsHandPhysicsBone] children. ## ## This is used to set groups for every bone in the hand. Additionally ## [XRToolsHandPhysicsBone] nodes can specify additional bone-specific groups. -export var bone_group : String = "" +@export var bone_group : String = "" -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsPhysicsHand" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPhysicsHand" or super(name) diff --git a/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd index d8ece425..355a2a94 100644 --- a/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd +++ b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd @@ -1,4 +1,5 @@ -class_name XRToolsHandPoseSettings, "res://addons/godot-xr-tools/editor/icons/hand.svg" +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsHandPoseSettings extends Resource @@ -9,7 +10,7 @@ extends Resource ## Hand-open pose -export var open_pose : Animation +@export var open_pose : Animation ## Hand-closed pose -export var closed_pose : Animation +@export var closed_pose : Animation diff --git a/addons/godot-xr-tools/hands/poses/pose_default_left.tres b/addons/godot-xr-tools/hands/poses/pose_default_left.tres index e47cb2b3..26ba106f 100644 --- a/addons/godot-xr-tools/hands/poses/pose_default_left.tres +++ b/addons/godot-xr-tools/hands/poses/pose_default_left.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dertgu7k8alls"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip.anim" type="Animation" id=3] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1"] +[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="1_oobiv"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_tar64"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1") +open_pose = ExtResource("2_tar64") +closed_pose = ExtResource("1_oobiv") diff --git a/addons/godot-xr-tools/hands/poses/pose_default_right.tres b/addons/godot-xr-tools/hands/poses/pose_default_right.tres index 9b18b4f6..dc2430bb 100644 --- a/addons/godot-xr-tools/hands/poses/pose_default_right.tres +++ b/addons/godot-xr-tools/hands/poses/pose_default_right.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dmpjtk0l8vh6v"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=3] +[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="1_o7bqr"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_ytvcl"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_u3fe0"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1_ytvcl") +open_pose = ExtResource("2_u3fe0") +closed_pose = ExtResource("1_o7bqr") diff --git a/addons/godot-xr-tools/hands/poses/pose_point_left.tres b/addons/godot-xr-tools/hands/poses/pose_point_left.tres index e2854931..267151ac 100644 --- a/addons/godot-xr-tools/hands/poses/pose_point_left.tres +++ b/addons/godot-xr-tools/hands/poses/pose_point_left.tres @@ -1,9 +1,9 @@ -[gd_resource type="Resource" load_steps=3 format=2] +[gd_resource type="Resource" load_steps=3 format=3 uid="uid://ciw0f7mg4ai0k"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.anim" type="Animation" id=2] +[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="1_idx1j"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_oxfi3"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 2 ) +script = ExtResource("1_oxfi3") +open_pose = ExtResource("1_idx1j") +closed_pose = ExtResource("1_idx1j") diff --git a/addons/godot-xr-tools/hands/poses/pose_point_right.tres b/addons/godot-xr-tools/hands/poses/pose_point_right.tres index abb64323..b3bc9f23 100644 --- a/addons/godot-xr-tools/hands/poses/pose_point_right.tres +++ b/addons/godot-xr-tools/hands/poses/pose_point_right.tres @@ -1,9 +1,9 @@ -[gd_resource type="Resource" load_steps=3 format=2] +[gd_resource type="Resource" load_steps=3 format=3 uid="uid://bhvrpfo4ecbub"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.anim" type="Animation" id=2] +[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="1_jc8b4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_pkv6s"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 2 ) +script = ExtResource("1_pkv6s") +open_pose = ExtResource("1_jc8b4") +closed_pose = ExtResource("1_jc8b4") diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn index 10a78a37..5af1d46d 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://bpdj5njb8nhot"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_L.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_x4lr3"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ej4yx"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gacaa"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_seoit"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rtx6p"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y01rx"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_o4h0a"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ej4yx") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_gacaa") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_seoit") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_rtx6p") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_y01rx") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_x4lr3") -[node name="Hand_L" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) +[node name="Hand_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) -[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) +[node name="Skeleton3D" parent="Hand_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource( 1 )] +[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_o4h0a") anim_player = NodePath("../Hand_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn index 7a72363e..17605995 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn @@ -1,211 +1,223 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=14 format=3 uid="uid://nqiyqnx42m61"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=7] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=8] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=9] +[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_0aa1r"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u4nb4"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7blad"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dcp65"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jjpal"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_djjo6"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 9 ) -default_pose = ExtResource( 8 ) - -[node name="Hand_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nwkwa"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_u4nb4") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_7blad") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_dcp65") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_jjpal") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_djjo6") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("9") +default_pose = ExtResource("3_0aa1r") + +[node name="Hand_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource( 2 )] -anims/closed_hand = ExtResource( 7 ) -anims/open_hand = ExtResource( 6 ) +[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_nwkwa") anim_player = NodePath("../Hand_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn index 39b24ab4..ef1c2d37 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://njx823gyk04n"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=6] +[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_k56uy"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x12eo"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kw2gg"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o8j0s"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cxcnq"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yn70n"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_v8owg"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_x12eo") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_kw2gg") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_o8j0s") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_cxcnq") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_yn70n") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 5 ) -default_pose = ExtResource( 4 ) +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("5") +default_pose = ExtResource("3_k56uy") -[node name="Hand_Nails_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) +[node name="Hand_Nails_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) -[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 6 ) +[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource( 2 )] +[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("6") + +[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_v8owg") anim_player = NodePath("../Hand_Nails_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn index 628435fc..e4e77707 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn @@ -1,211 +1,223 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=14 format=3 uid="uid://cy03d57iyrci"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=7] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=8] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=9] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_fye1l"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qo0kg"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j4paf"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_07l6n"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vwqya"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5tj4h"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 9 ) -default_pose = ExtResource( 8 ) - -[node name="Hand_Nails_L" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Nails_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_w000o"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qo0kg") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_j4paf") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_07l6n") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_vwqya") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_5tj4h") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("9") +default_pose = ExtResource("3_fye1l") + +[node name="Hand_Nails_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_Nails_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Nails_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource( 1 )] -anims/closed_hand = ExtResource( 7 ) -anims/open_hand = ExtResource( 6 ) +[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_w000o") anim_player = NodePath("../Hand_Nails_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn index 1ea095cc..a27b6a1a 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn @@ -1,204 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://ddsj74hpt1kgb"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=7] +[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_rnhp7"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_t6qch"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4dkr2"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y0e2n"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_idffn"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_g64cp"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 6 ) -hand_blend_tree = ExtResource( 3 ) -default_pose = ExtResource( 7 ) - -[node name="Hand_Glove_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Glove_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6y0fw"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_t6qch") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_4dkr2") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_y0e2n") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_idffn") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_g64cp") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("6") +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_rnhp7") + +[node name="Hand_Glove_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="Hand_Glove_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 5 ) +bone_idx = 0 +script = ExtResource("5") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 1 +script = ExtResource("5") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 2 +script = ExtResource("5") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 5 ) +bone_idx = 3 +script = ExtResource("5") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 5 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 6 +script = ExtResource("5") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 7 +script = ExtResource("5") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 5 ) +bone_idx = 8 +script = ExtResource("5") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 10 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 11 +script = ExtResource("5") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 12 +script = ExtResource("5") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 5 ) +bone_idx = 13 +script = ExtResource("5") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 15 +script = ExtResource("5") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 16 +script = ExtResource("5") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 17 +script = ExtResource("5") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Glove_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 5 ) +bone_idx = 18 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 20 +script = ExtResource("5") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 21 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 22 +script = ExtResource("5") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 5 ) +bone_idx = 23 +script = ExtResource("5") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource( 2 )] +[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_6y0fw") anim_player = NodePath("../Hand_Glove_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn index 30ebf6b1..60a45d6e 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn @@ -1,58 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://hpr0v012ghsb"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6] +[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_s33di"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtjek"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_acswy"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3125k"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kjpaa"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kisbg"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -hand_blend_tree = ExtResource( 4 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Glove_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource( 2 )] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_yoy4c"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtjek") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_acswy") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_3125k") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_kjpaa") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_kisbg") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_s33di") + +[node name="Hand_Glove_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_yoy4c") anim_player = NodePath("../Hand_Glove_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn index 039c6f61..84e076bf 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://d1tl07geqm5xq"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_R.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xmpie"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_coci4"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_me2sf"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_oarao"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gm5ny"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3o6s4"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_jyl6y"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_coci4") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_me2sf") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_oarao") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_gm5ny") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_3o6s4") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="RightHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_xmpie") -[node name="Hand_R" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) +[node name="Hand_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) -[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) +[node name="Skeleton3D" parent="Hand_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource( 2 )] +[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_jyl6y") anim_player = NodePath("../Hand_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn index 5ff6ef90..4a0c5303 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://cigx2gnf4tg4d"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_R.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7] +[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_23oai"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vuxsk"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5q5w8"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_bh13w"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ntfdl"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_bsbib"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 7 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_R" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_tchuk"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vuxsk") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_5q5w8") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_bh13w") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_ntfdl") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_bsbib") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_23oai") + +[node name="Hand_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource( 2 )] +[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_tchuk") anim_player = NodePath("../Hand_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn index c9a30b03..3062ad97 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://raeeicvvindd"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_lydk3"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vm3m2"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cim8x"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_j022x"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0hd6d"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_okkj6"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l2q6m"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vm3m2") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_cim8x") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_j022x") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_0hd6d") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_okkj6") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="RightHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_lydk3") -[node name="Hand_Nails_R" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) +[node name="Hand_Nails_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) -[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) +[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource( 2 )] +[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_l2q6m") anim_player = NodePath("../Hand_Nails_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn index 66cb58fd..50ddcf59 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://kcqomcjq52np"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_gqplw"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lgih3"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wop42"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ufkef"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o5b51"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_pdljy"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 7 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Nails_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Nails_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_8gtsg"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_lgih3") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_wop42") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_ufkef") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_o5b51") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_pdljy") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_gqplw") + +[node name="Hand_Nails_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_Nails_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Nails_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_8gtsg") anim_player = NodePath("../Hand_Nails_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn index 28bfa876..83b6ff74 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn @@ -1,204 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://b6xesntm4qeo5"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=7] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_h0fv3"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nsl06"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ocujq"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o4l8c"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p0302"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_umc4l"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 6 ) -hand_blend_tree = ExtResource( 3 ) -default_pose = ExtResource( 7 ) - -[node name="Hand_Glove_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Glove_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_7jd3e"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_nsl06") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ocujq") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_o4l8c") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_p0302") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_umc4l") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("6") +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_h0fv3") + +[node name="Hand_Glove_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="Hand_Glove_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 5 ) +bone_idx = 0 +script = ExtResource("5") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 1 +script = ExtResource("5") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 2 +script = ExtResource("5") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 5 ) +bone_idx = 3 +script = ExtResource("5") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 5 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 6 +script = ExtResource("5") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 7 +script = ExtResource("5") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 5 ) +bone_idx = 8 +script = ExtResource("5") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 10 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 11 +script = ExtResource("5") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 12 +script = ExtResource("5") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 5 ) +bone_idx = 13 +script = ExtResource("5") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 15 +script = ExtResource("5") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 16 +script = ExtResource("5") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 17 +script = ExtResource("5") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Glove_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 5 ) +bone_idx = 18 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 20 +script = ExtResource("5") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 21 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 22 +script = ExtResource("5") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 5 ) +bone_idx = 23 +script = ExtResource("5") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_7jd3e") anim_player = NodePath("../Hand_Glove_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn index 6bfbdc31..3ac11a0e 100644 --- a/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn +++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn @@ -1,58 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://dup2vp8v5rpi5"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_3ih8a"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r46i5"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v5idg"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_cqi1y"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4vdom"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_hef27"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightHand" type="Spatial"] -script = ExtResource( 3 ) -hand_blend_tree = ExtResource( 4 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Glove_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource( 1 )] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_g6ftu"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_r46i5") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_v5idg") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_cqi1y") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4vdom") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_hef27") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_3ih8a") + +[node name="Hand_Glove_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_g6ftu") anim_player = NodePath("../Hand_Glove_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn index a433f83a..1899c636 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn @@ -1,30 +1,79 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=13 format=3 uid="uid://bq86r4yll8po"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=6] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_wyae6"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="6"] -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 5 ) -default_pose = ExtResource( 4 ) +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtto3"] +animation = &"Grip" -[node name="Hand_low_L" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4i0yd"] +animation = &"Grip" -[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 6 ) +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fahbc"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource( 1 )] +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_470u2"] +animation = &"Grip 5" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fhgyt"] +filter_enabled = true +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_d6sxb"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtto3") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_4i0yd") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_fahbc") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_470u2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_fhgyt") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("5") +default_pose = ExtResource("3_wyae6") + +[node name="Hand_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("6") + +[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = ExtResource( 5 ) +tree_root = SubResource("AnimationNodeBlendTree_d6sxb") anim_player = NodePath("../Hand_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn index d860126f..7455a9dd 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://b4kad2kuba1yn"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_ry7qg"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ar6i3"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r1b52"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_d643f"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c3h37"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ihxeh"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, -60.58 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_4tr00"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ar6i3") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_r1b52") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_d643f") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_c3h37") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_ihxeh") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_ry7qg") -[node name="Hand_Nails_low_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) +[node name="Hand_Nails_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) -[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) +[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource( 2 )] +[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_4tr00") anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn index e30b827a..651261ff 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://b8hc2ex21u8xj"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7] +[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_4017m"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a581x"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_si6rq"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_jv1ag"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3qeiu"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4eh8j"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, -60.58 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 7 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_low_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_low_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vftdd"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_a581x") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_si6rq") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_jv1ag") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_3qeiu") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_4eh8j") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_4017m") + +[node name="Hand_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource( 2 )] +[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_vftdd") anim_player = NodePath("../Hand_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn index 9fe0aac8..c2354807 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://bdwmserhqai5h"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_t17lq"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_uqn4v"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_783qd"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_uetxr"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_52cah"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4js8y"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, -60.58 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 7 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Nails_low_L" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Nails_low_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_8iblu"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_uqn4v") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_783qd") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_uetxr") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_52cah") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_4js8y") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_t17lq") + +[node name="Hand_Nails_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_8iblu") anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn index fe5faaa2..7e8f30d7 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn @@ -1,207 +1,226 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://bj1aas6kty3qx"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=7] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_oehre"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8ybkh"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_onyre"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y2hch"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_33lkx"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yde33"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, -60.58 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftPhysicsHand" type="Spatial"] -script = ExtResource( 6 ) -hand_blend_tree = ExtResource( 3 ) -default_pose = ExtResource( 7 ) - -[node name="Hand_Glove_low_L" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Glove_low_L/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="1"] -transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_gfg8a"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_8ybkh") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_onyre") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_y2hch") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_33lkx") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_yde33") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftPhysicsHand" type="Node3D"] +script = ExtResource("6") +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_oehre") + +[node name="Hand_Glove_low_L" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_L" -script = ExtResource( 5 ) +bone_idx = 0 +script = ExtResource("5") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 1 +script = ExtResource("5") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 2 +script = ExtResource("5") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_L" -script = ExtResource( 5 ) +bone_idx = 3 +script = ExtResource("5") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 5 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 6 +script = ExtResource("5") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 7 +script = ExtResource("5") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_L" -script = ExtResource( 5 ) +bone_idx = 8 +script = ExtResource("5") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 10 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 11 +script = ExtResource("5") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 12 +script = ExtResource("5") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631) bone_name = "Middle_Distal_L" -script = ExtResource( 5 ) +bone_idx = 13 +script = ExtResource("5") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 15 +script = ExtResource("5") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 16 +script = ExtResource("5") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 17 +script = ExtResource("5") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_L" -script = ExtResource( 5 ) +bone_idx = 18 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_L" -script = ExtResource( 5 ) +bone_idx = 20 +script = ExtResource("5") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_L" -script = ExtResource( 5 ) +bone_idx = 21 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_L" -script = ExtResource( 5 ) +bone_idx = 22 +script = ExtResource("5") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_L" -script = ExtResource( 5 ) +bone_idx = 23 +script = ExtResource("5") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_gfg8a") anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 -parameters/Trigger/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 [editable path="Hand_Glove_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn index 980b130f..26176eba 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn @@ -1,61 +1,82 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://bx1xdisoqo1f6"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6] +[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_iq5xt"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a8arv"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n3ud5"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ncqlk"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_csu2l"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_akg52"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, -60.58 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="LeftHand" type="Spatial"] -script = ExtResource( 3 ) -hand_blend_tree = ExtResource( 4 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Glove_low_L" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 ) - -[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource( 2 )] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2oq6b"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_a8arv") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_n3ud5") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_ncqlk") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_csu2l") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_akg52") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="LeftHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_iq5xt") + +[node name="Hand_Glove_low_L" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_2oq6b") anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 -parameters/Trigger/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 [editable path="Hand_Glove_low_L"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn index 764cd87f..530078bc 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://xqimcf20s2jp"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"] +[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_r4xyu"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sjc0m"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bf0db"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kdora"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l50hj"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vrc3g"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ayvqt"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_sjc0m") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_bf0db") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_kdora") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_l50hj") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_vrc3g") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="RightHand" type="Spatial"] -script = ExtResource( 4 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="RightHand" type="Node3D"] +script = ExtResource("4") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_r4xyu") -[node name="Hand_low_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) +[node name="Hand_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) -[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 3 ) +[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource( 1 )] +[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("3") + +[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_ayvqt") anim_player = NodePath("../Hand_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn index c1f7fc31..e985370a 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn @@ -1,61 +1,79 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://l2n30mpbkdyw"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_f67ka"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mbwcx"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dyc5q"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dknar"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_covtt"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_h5uio"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_7kqgu"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_mbwcx") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_dyc5q") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_dknar") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_covtt") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_h5uio") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] -[node name="RightHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_f67ka") -[node name="Hand_Nails_low_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) +[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) -[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) +[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) -[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource( 1 )] +[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_7kqgu") anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn index 42153c00..727b2826 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://bkdeegb8w3oah"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=8] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_e8slj"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="4"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="8"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_60yel"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_caigx"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_73xac"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_neei8"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_sdm1s"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 4 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 6 ) -default_pose = ExtResource( 5 ) - -[node name="Hand_low_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_low_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 3 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l7k65"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_60yel") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_caigx") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_73xac") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_neei8") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_sdm1s") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("4") +hand_blend_tree = ExtResource("6") +default_pose = ExtResource("3_e8slj") + +[node name="Hand_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("3") + +[node name="Hand_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 8 ) +bone_idx = 0 +script = ExtResource("8") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 8 ) +bone_idx = 1 +script = ExtResource("8") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 8 ) +bone_idx = 2 +script = ExtResource("8") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 8 ) +bone_idx = 3 +script = ExtResource("8") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 8 ) +bone_idx = 5 +script = ExtResource("8") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 8 ) +bone_idx = 6 +script = ExtResource("8") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 8 ) +bone_idx = 7 +script = ExtResource("8") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 8 ) +bone_idx = 8 +script = ExtResource("8") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 8 ) +bone_idx = 10 +script = ExtResource("8") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 8 ) +bone_idx = 11 +script = ExtResource("8") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 8 ) +bone_idx = 12 +script = ExtResource("8") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 8 ) +bone_idx = 13 +script = ExtResource("8") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 8 ) +bone_idx = 15 +script = ExtResource("8") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 8 ) +bone_idx = 16 +script = ExtResource("8") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 8 ) +bone_idx = 17 +script = ExtResource("8") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 8 ) +bone_idx = 18 +script = ExtResource("8") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 8 ) +bone_idx = 20 +script = ExtResource("8") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 8 ) +bone_idx = 21 +script = ExtResource("8") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 8 ) +bone_idx = 22 +script = ExtResource("8") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 8 ) +bone_idx = 23 +script = ExtResource("8") length = 0.015 -[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_l7k65") anim_player = NodePath("../Hand_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn index 8193eb19..2a07a3f5 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn @@ -1,207 +1,223 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://btf05hjpw6k05"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_b86a5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"] +[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rw5cd"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3liek"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_j2nhk"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_svl77"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_8t3gu"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 3 ) -__meta__ = { -"_editor_description_": "" -} -hand_blend_tree = ExtResource( 7 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Nails_low_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Nails_low_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_li0ij"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_rw5cd") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_3liek") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_j2nhk") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_svl77") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_8t3gu") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("7") +default_pose = ExtResource("3_b86a5") + +[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 4 ) +bone_idx = 0 +script = ExtResource("4") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 1 +script = ExtResource("4") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 2 +script = ExtResource("4") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 4 ) +bone_idx = 3 +script = ExtResource("4") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 5 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 6 +script = ExtResource("4") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 7 +script = ExtResource("4") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 4 ) +bone_idx = 8 +script = ExtResource("4") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 10 +script = ExtResource("4") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 11 +script = ExtResource("4") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 12 +script = ExtResource("4") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 4 ) +bone_idx = 13 +script = ExtResource("4") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 15 +script = ExtResource("4") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 16 +script = ExtResource("4") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 17 +script = ExtResource("4") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 4 ) +bone_idx = 18 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 4 ) +bone_idx = 20 +script = ExtResource("4") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 4 ) +bone_idx = 21 +script = ExtResource("4") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 4 ) +bone_idx = 22 +script = ExtResource("4") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 4 ) +bone_idx = 23 +script = ExtResource("4") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_li0ij") anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0.0 diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn index 4abd534f..e180b80d 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn @@ -1,207 +1,226 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://c2uvwvdlsfuep"] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=7] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="2"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xodao"] +[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_47dg5"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u8oa1"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_p10ot"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xl7l4"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_wmdow"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightPhysicsHand" type="Spatial"] -script = ExtResource( 6 ) -hand_blend_tree = ExtResource( 3 ) -default_pose = ExtResource( 7 ) - -[node name="Hand_Glove_low_R" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="Skeleton" parent="Hand_Glove_low_R/Armature" index="0"] -bones/0/bound_children = [ NodePath("BoneRoot") ] -bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ] -bones/2/bound_children = [ NodePath("BoneThumbProximal") ] -bones/3/bound_children = [ NodePath("BoneThumbDistal") ] -bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ] -bones/6/bound_children = [ NodePath("BoneIndexProximal") ] -bones/7/bound_children = [ NodePath("BoneIndexMiddle") ] -bones/8/bound_children = [ NodePath("BoneIndexDistal") ] -bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ] -bones/11/bound_children = [ NodePath("BoneMiddleProximal") ] -bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ] -bones/13/bound_children = [ NodePath("BoneMiddleDistal") ] -bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ] -bones/16/bound_children = [ NodePath("BoneRingProximal") ] -bones/17/bound_children = [ NodePath("BoneRingMiddle") ] -bones/18/bound_children = [ NodePath("BoneRingDistal") ] -bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ] -bones/21/bound_children = [ NodePath("BonePinkyProximal") ] -bones/22/bound_children = [ NodePath("BonePinkyMiddle") ] -bones/23/bound_children = [ NodePath("BonePinkyDistal") ] - -[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 4 ) - -[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="1"] -transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vnv28"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_47dg5") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_u8oa1") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_p10ot") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_xl7l4") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_wmdow") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightPhysicsHand" type="Node3D"] +script = ExtResource("6") +hand_blend_tree = ExtResource("3") +default_pose = ExtResource("3_xodao") + +[node name="Hand_Glove_low_R" parent="." instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("4") + +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756) bone_name = "Wrist_R" -script = ExtResource( 5 ) +bone_idx = 0 +script = ExtResource("5") width_ratio = 0.8 -[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="2"] -transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="2"] +transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05) bone_name = "Thumb_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 1 +script = ExtResource("5") length = 0.05 -[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="3"] -transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="3"] +transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648) bone_name = "Thumb_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 2 +script = ExtResource("5") -[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="4"] -transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="4"] +transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092) bone_name = "Thumb_Distal_R" -script = ExtResource( 5 ) +bone_idx = 3 +script = ExtResource("5") length = 0.02 -[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="5"] -transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="5"] +transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05) bone_name = "Index_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 5 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="6"] -transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="6"] +transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861) bone_name = "Index_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 6 +script = ExtResource("5") -[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="7"] -transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="7"] +transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561) bone_name = "Index_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 7 +script = ExtResource("5") length = 0.025 bone_group = "index_finger" -[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="8"] -transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="8"] +transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869) bone_name = "Index_Distal_R" -script = ExtResource( 5 ) +bone_idx = 8 +script = ExtResource("5") length = 0.02 bone_group = "index_finger" -[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="9"] -transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="9"] +transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05) bone_name = "Middle_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 10 +script = ExtResource("5") length = 0.08 width_ratio = 0.2 -[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="10"] -transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="10"] +transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245) bone_name = "Middle_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 11 +script = ExtResource("5") -[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="11"] -transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="11"] +transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817) bone_name = "Middle_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 12 +script = ExtResource("5") length = 0.025 -[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="12"] -transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="12"] +transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631) bone_name = "Middle_Distal_R" -script = ExtResource( 5 ) +bone_idx = 13 +script = ExtResource("5") length = 0.02 -[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="13"] -transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="13"] +transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05) bone_name = "Ring_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 15 +script = ExtResource("5") length = 0.07 width_ratio = 0.2 -[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="14"] -transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="14"] +transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075) bone_name = "Ring_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 16 +script = ExtResource("5") length = 0.028 -[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="15"] -transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="15"] +transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722) bone_name = "Ring_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 17 +script = ExtResource("5") length = 0.025 -[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="16"] -transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="16"] +transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908) bone_name = "Ring_Distal_R" -script = ExtResource( 5 ) +bone_idx = 18 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="17"] -transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="17"] +transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05) bone_name = "Little_Metacarpal_R" -script = ExtResource( 5 ) +bone_idx = 20 +script = ExtResource("5") length = 0.07 width_ratio = 0.18 -[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="18"] -transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="18"] +transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756) bone_name = "Little_Proximal_R" -script = ExtResource( 5 ) +bone_idx = 21 +script = ExtResource("5") length = 0.02 -[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="19"] -transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="19"] +transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004) bone_name = "Little_Intermediate_R" -script = ExtResource( 5 ) +bone_idx = 22 +script = ExtResource("5") length = 0.015 -[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="20"] -transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 ) +[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="20"] +transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417) bone_name = "Little_Distal_R" -script = ExtResource( 5 ) +bone_idx = 23 +script = ExtResource("5") length = 0.015 -[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource( 1 )] +[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("1")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_vnv28") anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 -parameters/Trigger/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 [editable path="Hand_Glove_low_R"] diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn index eafc74c2..a258c443 100644 --- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn +++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn @@ -1,61 +1,82 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://chumpejwiub7f"] -[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6] +[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="1"] +[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"] +[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_2wryo"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"] +[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"] -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jjiin"] +animation = &"Grip" -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_501h4"] +animation = &"Grip" -[sub_resource type="AnimationNodeBlend2" id=3] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1dqi4"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4o3a2"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5v4fm"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -587.059, 45.3009 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[node name="RightHand" type="Spatial"] -script = ExtResource( 3 ) -hand_blend_tree = ExtResource( 4 ) -default_pose = ExtResource( 6 ) - -[node name="Hand_Glove_low_R" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 ) - -[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton" index="0"] -material/0 = ExtResource( 5 ) - -[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource( 2 )] +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ra758"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_jjiin") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_501h4") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_1dqi4") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4o3a2") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_5v4fm") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="RightHand" type="Node3D"] +script = ExtResource("3") +hand_blend_tree = ExtResource("4") +default_pose = ExtResource("3_2wryo") + +[node name="Hand_Glove_low_R" parent="." instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15) + +[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("5") + +[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("2")] [node name="AnimationTree" type="AnimationTree" parent="."] -tree_root = SubResource( 6 ) +tree_root = SubResource("AnimationNodeBlendTree_ra758") anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer") active = true parameters/Grip/blend_amount = 0 -parameters/Trigger/blend_amount = 0 +parameters/Trigger/blend_amount = 0.0 [editable path="Hand_Glove_low_R"] diff --git a/addons/godot-xr-tools/hands/textures/african_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import index 76549137..be520188 100644 --- a/addons/godot-xr-tools/hands/textures/african_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import @@ -1,37 +1,34 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.stex" -path.etc="res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc.stex" +type="CompressedTexture2D" +uid="uid://cs7m7m0k2506g" +path="res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://addons/godot-xr-tools/hands/textures/african_baseColor.png" -dest_files=[ "res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.stex", "res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc.stex" ] +dest_files=["res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.ctex"] [params] -compress/mode=2 +compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import index 70fadef4..9ab4c6d4 100644 --- a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import @@ -1,37 +1,34 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.stex" -path.etc="res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc.stex" +type="CompressedTexture2D" +uid="uid://dk8o82rjww802" +path="res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png" -dest_files=[ "res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.stex", "res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc.stex" ] +dest_files=["res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.ctex"] [params] -compress/mode=2 +compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import index 63223d13..6ef2fdef 100644 --- a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.stex" -path.etc="res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc.stex" +type="CompressedTexture2D" +uid="uid://c506svon268ms" +path.s3tc="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex" +path.etc2="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/caucasian_baseColor.png" -dest_files=[ "res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.stex", "res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc.stex" ] +dest_files=["res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex", "res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import index ea1634aa..877755be 100644 --- a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import @@ -1,37 +1,34 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.stex" -path.etc="res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc.stex" +type="CompressedTexture2D" +uid="uid://n1xq4cm67o07" +path="res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png" -dest_files=[ "res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.stex", "res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc.stex" ] +dest_files=["res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.ctex"] [params] -compress/mode=2 +compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import index f057caa5..6a06dbb9 100644 --- a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.stex" -path.etc="res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc.stex" +type="CompressedTexture2D" +uid="uid://dv711ytktesj2" +path.s3tc="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex" +path.etc2="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png" -dest_files=[ "res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.stex", "res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc.stex" ] +dest_files=["res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex", "res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import index 4f483079..f3ad84f5 100644 --- a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import @@ -1,37 +1,34 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.stex" -path.etc="res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc.stex" +type="CompressedTexture2D" +uid="uid://cocorrka3dtq3" +path="res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png" -dest_files=[ "res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.stex", "res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc.stex" ] +dest_files=["res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.ctex"] [params] -compress/mode=2 +compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import index bd900c77..a75b6fe7 100644 --- a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.stex" -path.etc="res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc.stex" +type="CompressedTexture2D" +uid="uid://bidphehpipwhg" +path.s3tc="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex" +path.etc2="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_african_green_camo.png" -dest_files=[ "res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.stex", "res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc.stex" ] +dest_files=["res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex", "res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import index f5f084e0..747c121b 100644 --- a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.stex" -path.etc="res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc.stex" +type="CompressedTexture2D" +uid="uid://c7jutkax2fd1k" +path.s3tc="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex" +path.etc2="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png" -dest_files=[ "res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.stex", "res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc.stex" ] +dest_files=["res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex", "res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import index 1fb01cf8..d7a9d9e0 100644 --- a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.stex" -path.etc="res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc.stex" +type="CompressedTexture2D" +uid="uid://dgkfppran5j1f" +path.s3tc="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex" +path.etc2="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png" -dest_files=[ "res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.stex", "res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc.stex" ] +dest_files=["res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex", "res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import index 241f41df..075d3034 100644 --- a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.stex" -path.etc="res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc.stex" +type="CompressedTexture2D" +uid="uid://bw8rmigwt5pr4" +path.s3tc="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex" +path.etc2="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png" -dest_files=[ "res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.stex", "res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc.stex" ] +dest_files=["res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex", "res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=1 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import index 39367df1..8b11c531 100644 --- a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.stex" -path.etc="res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc.stex" +type="CompressedTexture2D" +uid="uid://d2iocwfr47kqp" +path.s3tc="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex" +path.etc2="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png" -dest_files=[ "res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.stex", "res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc.stex" ] +dest_files=["res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex", "res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_normal.png.import index bc0a219c..23724ec5 100644 --- a/addons/godot-xr-tools/hands/textures/glove_normal.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_normal.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.stex" -path.etc="res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc.stex" +type="CompressedTexture2D" +uid="uid://dt6k4nuvpo38o" +path.s3tc="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex" +path.etc2="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_normal.png" -dest_files=[ "res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.stex", "res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc.stex" ] +dest_files=["res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex", "res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=1 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_normal.png" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import index ab4e964d..2bfd1611 100644 --- a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import +++ b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.stex" -path.etc="res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc.stex" +type="CompressedTexture2D" +uid="uid://yslwgnpbpeen" +path.s3tc="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex" +path.etc2="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png" -dest_files=[ "res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.stex", "res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc.stex" ] +dest_files=["res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex", "res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/hands_normal.png.import b/addons/godot-xr-tools/hands/textures/hands_normal.png.import index 344211e5..998156c7 100644 --- a/addons/godot-xr-tools/hands/textures/hands_normal.png.import +++ b/addons/godot-xr-tools/hands/textures/hands_normal.png.import @@ -1,37 +1,34 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.stex" -path.etc="res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.etc.stex" +type="CompressedTexture2D" +uid="uid://b6tgv6ucbgv3r" +path="res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], -"vram_texture": true +"vram_texture": false } [deps] source_file="res://addons/godot-xr-tools/hands/textures/hands_normal.png" -dest_files=[ "res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.stex", "res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.etc.stex" ] +dest_files=["res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.ctex"] [params] -compress/mode=2 +compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 -compress/normal_map=1 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import index 88618095..30c17360 100644 --- a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import +++ b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.stex" -path.etc="res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc.stex" +type="CompressedTexture2D" +uid="uid://h3sjbnu6uplb" +path.s3tc="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex" +path.etc2="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png" -dest_files=[ "res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.stex", "res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc.stex" ] +dest_files=["res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex", "res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import index 7e41ecab..4320130c 100644 --- a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import +++ b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.stex" -path.etc="res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc.stex" +type="CompressedTexture2D" +uid="uid://d4gbpgjwjuovb" +path.s3tc="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex" +path.etc2="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/hands/textures/labglove_baseColor.png" -dest_files=[ "res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.stex", "res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc.stex" ] +dest_files=["res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex", "res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/images/icon.png.import b/addons/godot-xr-tools/images/icon.png.import index 55b19dee..7f907410 100644 --- a/addons/godot-xr-tools/images/icon.png.import +++ b/addons/godot-xr-tools/images/icon.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/icon.png-1d8efcc4c33e64800e22ea3150ef148d.stex" +type="CompressedTexture2D" +uid="uid://bcll0cv3rie0i" +path="res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://addons/godot-xr-tools/images/icon.png" -dest_files=[ "res://.import/icon.png-1d8efcc4c33e64800e22ea3150ef148d.stex" ] +dest_files=["res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/godot-xr-tools/images/ring.png.import b/addons/godot-xr-tools/images/ring.png.import index 46afadb2..dfa1e531 100644 --- a/addons/godot-xr-tools/images/ring.png.import +++ b/addons/godot-xr-tools/images/ring.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.stex" -path.etc="res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc.stex" +type="CompressedTexture2D" +uid="uid://8s03ra8tp0hr" +path.s3tc="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex" +path.etc2="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/images/ring.png" -dest_files=[ "res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.stex", "res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc.stex" ] +dest_files=["res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex", "res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/images/teleport_arrow.png.import b/addons/godot-xr-tools/images/teleport_arrow.png.import index fd993352..bc4f1012 100644 --- a/addons/godot-xr-tools/images/teleport_arrow.png.import +++ b/addons/godot-xr-tools/images/teleport_arrow.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.stex" -path.etc="res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc.stex" +type="CompressedTexture2D" +uid="uid://ddoj6c345cb0c" +path.s3tc="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex" +path.etc2="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/images/teleport_arrow.png" -dest_files=[ "res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.stex", "res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc.stex" ] +dest_files=["res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex", "res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/images/teleport_target.png.import b/addons/godot-xr-tools/images/teleport_target.png.import index 30747fcd..1e39e038 100644 --- a/addons/godot-xr-tools/images/teleport_target.png.import +++ b/addons/godot-xr-tools/images/teleport_target.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.stex" -path.etc="res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc.stex" +type="CompressedTexture2D" +uid="uid://cu4j1s8qr1rjq" +path.s3tc="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex" +path.etc2="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/godot-xr-tools/images/teleport_target.png" -dest_files=[ "res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.stex", "res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc.stex" ] +dest_files=["res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex", "res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.gd b/addons/godot-xr-tools/interactables/interactable_area_button.gd index 2d48b864..d3ceebda 100644 --- a/addons/godot-xr-tools/interactables/interactable_area_button.gd +++ b/addons/godot-xr-tools/interactables/interactable_area_button.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsInteractableAreaButton -extends Area +extends Area3D ## XR Tools Interactable Area Button script @@ -18,58 +18,53 @@ signal button_released(button) ## Button object -export var button := NodePath() +@export var button := NodePath() ## Displacement when pressed -export var displacement : Vector3 = Vector3(0.0, -0.02, 0.0) +@export var displacement : Vector3 = Vector3(0.0, -0.02, 0.0) ## Displacement duration -export var duration : float = 0.1 +@export var duration : float = 0.1 ## If true, the button is pressed var pressed : bool = false -# Dictionary of trigger items pressing the button +## Dictionary of trigger items pressing the button var _trigger_items := {} -# Tween for animating button +## Tween for animating button var _tween: Tween # Node references -onready var _button: Spatial = get_node(button) +@onready var _button: Node3D = get_node(button) # Button positions -onready var _button_up := _button.transform.origin -onready var _button_down := _button_up + displacement +@onready var _button_up := _button.transform.origin +@onready var _button_down := _button_up + displacement -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableAreaButton" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableAreaButton" # Called when the node enters the scene tree for the first time. func _ready(): - # Construct the button animation tween - _tween = Tween.new() - _tween.set_name("Tween") - add_child(_tween) - # Connect area signals - if connect("area_entered", self, "_on_button_entered"): + if area_entered.connect(_on_button_entered): push_error("Unable to connect button area signal") - if connect("area_exited", self, "_on_button_exited"): + if area_exited.connect(_on_button_exited): push_error("Unable to connect button area signal") - if connect("body_entered", self, "_on_button_entered"): + if body_entered.connect(_on_button_entered): push_error("Unable to connect button area signal") - if connect("body_exited", self, "_on_button_exited"): + if body_exited.connect(_on_button_exited): push_error("Unable to connect button area signal") # Called when an area or body enters the button area -func _on_button_entered(item: Spatial) -> void: +func _on_button_entered(item: Node3D) -> void: # Add to the dictionary of trigger items _trigger_items[item] = item @@ -78,54 +73,54 @@ func _on_button_entered(item: Spatial) -> void: # Update state to pressed pressed = true - # Start the tween to move the button transform to the down position - _tween.interpolate_property( - _button, - "transform:origin", - null, - _button_down, - duration, - Tween.TRANS_LINEAR, - Tween.EASE_IN_OUT) - _tween.start() + # Kill the current tween + if _tween: + _tween.kill() + + # Construct the button animation tween + _tween = get_tree().create_tween() + _tween.set_trans(Tween.TRANS_LINEAR) + _tween.set_ease(Tween.EASE_IN_OUT) + _tween.tween_property(_button, "position", _button_down, duration) # Emit the pressed signal - emit_signal("button_pressed",self) + button_pressed.emit(self) # Called when an area or body exits the button area -func _on_button_exited(item: Spatial) -> void: +func _on_button_exited(item: Node3D) -> void: # Remove from the dictionary of triggered items _trigger_items.erase(item) # Detect transition to released - if pressed and _trigger_items.empty(): + if pressed and _trigger_items.is_empty(): # Update state to released pressed = false - # Start the tween to move the button transform to the up position - _tween.interpolate_property( - _button, - "transform:origin", - null, - _button_up, - duration, - Tween.TRANS_LINEAR, - Tween.EASE_IN_OUT) - _tween.start() + # Kill the current tween + if _tween: + _tween.kill() + + # Construct the button animation tween + _tween = get_tree().create_tween() + _tween.set_trans(Tween.TRANS_LINEAR) + _tween.set_ease(Tween.EASE_IN_OUT) + _tween.tween_property(_button, "position", _button_up, duration) # Emit the released signal - emit_signal("button_released",self) + button_released.emit(self) # Check button configuration -func _get_configuration_warning() -> String: +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Ensure a button has been specified if not get_node_or_null(button): - return "Button node to animate must be specified" + warnings.append("Button node to animate must be specified") # Ensure a valid duration if duration <= 0.0: - return "Duration must be a positive number" + warnings.append("Duration must be a positive number") - return "" + return warnings diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.tscn b/addons/godot-xr-tools/interactables/interactable_area_button.tscn index 20218aa9..0163708a 100644 --- a/addons/godot-xr-tools/interactables/interactable_area_button.tscn +++ b/addons/godot-xr-tools/interactables/interactable_area_button.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://cme66uldrjl2i"] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" id="1"] -[node name="InteractableAreaButton" type="Area"] +[node name="InteractableAreaButton" type="Area3D"] collision_layer = 0 collision_mask = 131072 -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/interactables/interactable_handle.gd b/addons/godot-xr-tools/interactables/interactable_handle.gd index ca927228..672018e7 100644 --- a/addons/godot-xr-tools/interactables/interactable_handle.gd +++ b/addons/godot-xr-tools/interactables/interactable_handle.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsInteractableHandle extends XRToolsPickable @@ -20,22 +20,25 @@ extends XRToolsPickable ## Distance from the handle origin to auto-snap the grab -export var snap_distance : float = 0.3 +@export var snap_distance : float = 0.3 # Handle origin spatial node -onready var handle_origin: Spatial = get_parent() +@onready var handle_origin: Node3D = get_parent() -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableHandle" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHandle" or super(name) # Called when this handle is added to the scene func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + # Ensure we start at our origin - transform = Transform.IDENTITY + transform = Transform3D.IDENTITY # Turn off processing - it will be turned on only when held set_process(false) @@ -57,7 +60,7 @@ func _process(_delta: float) -> void: # Called when the handle is picked up func pick_up(by, with_controller) -> void: # Call the base-class to perform the pickup - .pick_up(by, with_controller) + super(by, with_controller) # Enable the process function while held set_process(true) @@ -66,18 +69,20 @@ func pick_up(by, with_controller) -> void: # Called when the handle is dropped func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void: # Call the base-class to perform the drop, but with no velocity - .let_go(Vector3.ZERO, Vector3.ZERO) + super(Vector3.ZERO, Vector3.ZERO) # Disable the process function as no-longer held set_process(false) # Snap the handle back to the origin - transform = Transform.IDENTITY + transform = Transform3D.IDENTITY + +# Check handle configurationv +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() -# Check handle configuration -func _get_configuration_warning() -> String: - if !transform.is_equal_approx(Transform.IDENTITY): - return "Interactable handle must have no transform from its parent handle origin" + if !transform.is_equal_approx(Transform3D.IDENTITY): + warnings.append("Interactable handle must have no transform from its parent handle origin") - return "" + return warnings diff --git a/addons/godot-xr-tools/interactables/interactable_handle.tscn b/addons/godot-xr-tools/interactables/interactable_handle.tscn index f4ae416a..35ad8e19 100644 --- a/addons/godot-xr-tools/interactables/interactable_handle.tscn +++ b/addons/godot-xr-tools/interactables/interactable_handle.tscn @@ -1,11 +1,10 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bddj5m7ull6g0"] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="1"] -[node name="InteractableHandle" type="RigidBody"] +[node name="InteractableHandle" type="RigidBody3D"] collision_layer = 262144 collision_mask = 0 -mode = 1 gravity_scale = 0.0 -script = ExtResource( 1 ) +script = ExtResource("1") picked_up_layer = 0 diff --git a/addons/godot-xr-tools/interactables/interactable_handle_driven.gd b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd index d1c0c820..f9f5358e 100644 --- a/addons/godot-xr-tools/interactables/interactable_handle_driven.gd +++ b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsInteractableHandleDriven -extends Spatial +extends Node3D ## XR Tools Interactable Handle Driven script @@ -24,9 +24,9 @@ signal released(interactable) var grabbed_handles := Array() -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableHandleDriven" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHandleDriven" # Called when the node enters the scene tree for the first time. @@ -58,7 +58,7 @@ func _on_handle_dropped(handle: XRToolsInteractableHandle) -> void: grabbed_handles.erase(handle) # Disable processing when we drop the last handle - if grabbed_handles.empty(): + if grabbed_handles.is_empty(): # Disable physics processing set_process(false) @@ -71,9 +71,9 @@ func _hook_child_handles(node: Node) -> void: # If this node is a handle then hook its handle signals var handle := node as XRToolsInteractableHandle if handle: - if handle.connect("picked_up", self, "_on_handle_picked_up"): + if handle.picked_up.connect(_on_handle_picked_up): push_error("Unable to connect handle signal") - if handle.connect("dropped", self, "_on_handle_dropped"): + if handle.dropped.connect(_on_handle_dropped): push_error("Unable to connect handle signal") # Recurse into all children diff --git a/addons/godot-xr-tools/interactables/interactable_hinge.gd b/addons/godot-xr-tools/interactables/interactable_hinge.gd index c19b16a3..ce774a53 100644 --- a/addons/godot-xr-tools/interactables/interactable_hinge.gd +++ b/addons/godot-xr-tools/interactables/interactable_hinge.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsInteractableHinge extends XRToolsInteractableHandleDriven @@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven ## The hinge rotates itelf around its local X axis, and so should be ## placed as a child of a node to translate and rotate as appropriate. ## -## The interactable hinge is not a [RigidBody], and as such will not react +## The interactable hinge is not a [RigidBody3D], and as such will not react ## to any collisions. @@ -20,47 +20,50 @@ signal hinge_moved(angle) ## Hinge minimum limit -export var hinge_limit_min : float = -45.0 setget _set_hinge_limit_min +@export var hinge_limit_min : float = -45.0: set = _set_hinge_limit_min ## Hinge maximum limit -export var hinge_limit_max : float = 45.0 setget _set_hinge_limit_max +@export var hinge_limit_max : float = 45.0: set = _set_hinge_limit_max ## Hinge step size (zero for no steps) -export var hinge_steps : float = 0.0 setget _set_hinge_steps +@export var hinge_steps : float = 0.0: set = _set_hinge_steps ## Hinge position -export var hinge_position : float = 0.0 setget _set_hinge_position +@export var hinge_position : float = 0.0: set = _set_hinge_position ## Default position -export var default_position : float = 0.0 setget _set_default_position +@export var default_position : float = 0.0: set = _set_default_position ## If true, the hinge moves to the default position when releases -export var default_on_release : bool = false +@export var default_on_release : bool = false # Hinge values in radians -onready var _hinge_limit_min_rad : float = deg2rad(hinge_limit_min) -onready var _hinge_limit_max_rad : float = deg2rad(hinge_limit_max) -onready var _hinge_steps_rad : float = deg2rad(hinge_steps) -onready var _hinge_position_rad : float = deg2rad(hinge_position) -onready var _default_position_rad : float = deg2rad(default_position) +@onready var _hinge_limit_min_rad : float = deg_to_rad(hinge_limit_min) +@onready var _hinge_limit_max_rad : float = deg_to_rad(hinge_limit_max) +@onready var _hinge_steps_rad : float = deg_to_rad(hinge_steps) +@onready var _hinge_position_rad : float = deg_to_rad(hinge_position) +@onready var _default_position_rad : float = deg_to_rad(default_position) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableHinge" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableHinge" or super(name) # Called when the node enters the scene tree for the first time. func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Set the initial position to match the initial hinge position value - transform = Transform( - Basis(Vector3(_hinge_position_rad, 0, 0)), + transform = Transform3D( + Basis.from_euler(Vector3(_hinge_position_rad, 0, 0)), Vector3.ZERO ) # Connect signals - if connect("released", self, "_on_hinge_released"): + if released.connect(_on_hinge_released): push_error("Cannot connect hinge released signal") @@ -70,9 +73,8 @@ func _process(_delta: float) -> void: var offset_sum := 0.0 for item in grabbed_handles: var handle := item as XRToolsInteractableHandle - var to_handle: Vector3 = global_transform.xform_inv(handle.global_transform.origin) - var to_handle_origin: Vector3 = global_transform.xform_inv( - handle.handle_origin.global_transform.origin) + var to_handle: Vector3 = handle.global_transform.origin * global_transform + var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform to_handle.x = 0.0 to_handle_origin.x = 0.0 offset_sum += to_handle_origin.signed_angle_to(to_handle, Vector3.RIGHT) @@ -93,7 +95,7 @@ func move_hinge(position: float) -> void: # Update the current positon _hinge_position_rad = position - hinge_position = rad2deg(position) + hinge_position = rad_to_deg(position) # Emit the moved signal emit_signal("hinge_moved", hinge_position) @@ -108,33 +110,33 @@ func _on_hinge_released(_interactable: XRToolsInteractableHinge): # Called when hinge_limit_min is set externally func _set_hinge_limit_min(value: float) -> void: hinge_limit_min = value - _hinge_limit_min_rad = deg2rad(value) + _hinge_limit_min_rad = deg_to_rad(value) # Called when hinge_limit_max is set externally func _set_hinge_limit_max(value: float) -> void: hinge_limit_max = value - _hinge_limit_max_rad = deg2rad(value) + _hinge_limit_max_rad = deg_to_rad(value) # Called when hinge_steps is set externally func _set_hinge_steps(value: float) -> void: hinge_steps = value - _hinge_steps_rad = deg2rad(value) + _hinge_steps_rad = deg_to_rad(value) # Called when hinge_position is set externally func _set_hinge_position(value: float) -> void: - var position := deg2rad(value) + var position := deg_to_rad(value) position = _do_move_hinge(position) - hinge_position = rad2deg(position) + hinge_position = rad_to_deg(position) _hinge_position_rad = position # Called when default_position is set externally func _set_default_position(value: float) -> void: default_position = value - _default_position_rad = deg2rad(value) + _default_position_rad = deg_to_rad(value) # Do the hinge move @@ -148,7 +150,7 @@ func _do_move_hinge(position: float) -> float: # Move if necessary if position != _hinge_position_rad: - transform.basis = Basis(Vector3(position, 0.0, 0.0)) + transform.basis = Basis.from_euler(Vector3(position, 0.0, 0.0)) # Return the updated position return position diff --git a/addons/godot-xr-tools/interactables/interactable_joystick.gd b/addons/godot-xr-tools/interactables/interactable_joystick.gd index 92b91399..c33047fa 100644 --- a/addons/godot-xr-tools/interactables/interactable_joystick.gd +++ b/addons/godot-xr-tools/interactables/interactable_joystick.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsInteractableJoystick extends XRToolsInteractableHandleDriven @@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven ## The joystick rotates itelf around its local X/Y axes, and so should be ## placed as a child of a node to translate and rotate as appropriate. ## -## The interactable joystick is not a [RigidBody], and as such will not react +## The interactable joystick is not a [RigidBody3D], and as such will not react ## to any collisions. @@ -27,66 +27,69 @@ const VECTOR_YZ := Vector3(0.0, 1.0, 1.0) ## Joystick X minimum limit -export var joystick_x_limit_min : float = -45.0 setget _set_joystick_x_limit_min +@export var joystick_x_limit_min : float = -45.0: set = _set_joystick_x_limit_min ## Joystick X maximum limit -export var joystick_x_limit_max : float = 45.0 setget _set_joystick_x_limit_max +@export var joystick_x_limit_max : float = 45.0: set = _set_joystick_x_limit_max ## Joystick Y minimum limit -export var joystick_y_limit_min : float = -45.0 setget _set_joystick_y_limit_min +@export var joystick_y_limit_min : float = -45.0: set = _set_joystick_y_limit_min ## Joystick Y maximum limit -export var joystick_y_limit_max : float = 45.0 setget _set_joystick_y_limit_max +@export var joystick_y_limit_max : float = 45.0: set = _set_joystick_y_limit_max ## Joystick X step size (zero for no steps) -export var joystick_x_steps : float = 0.0 setget _set_joystick_x_steps +@export var joystick_x_steps : float = 0.0: set = _set_joystick_x_steps ## Joystick Y step size (zero for no steps) -export var joystick_y_steps : float = 0.0 setget _set_joystick_y_steps +@export var joystick_y_steps : float = 0.0: set = _set_joystick_y_steps ## Joystick X position -export var joystick_x_position : float = 0.0 setget _set_joystick_x_position +@export var joystick_x_position : float = 0.0: set = _set_joystick_x_position ## Joystick Y position -export var joystick_y_position : float = 0.0 setget _set_joystick_y_position +@export var joystick_y_position : float = 0.0: set = _set_joystick_y_position ## Default X position -export var default_x_position : float = 0.0 setget _set_default_x_position +@export var default_x_position : float = 0.0: set = _set_default_x_position ## Default Y position -export var default_y_position : float = 0.0 setget _set_default_y_position +@export var default_y_position : float = 0.0: set = _set_default_y_position ## If true, the joystick moves to the default position when released -export var default_on_release : bool = false +@export var default_on_release : bool = false # Joystick values in radians -onready var _joystick_x_limit_min_rad : float = deg2rad(joystick_x_limit_min) -onready var _joystick_x_limit_max_rad : float = deg2rad(joystick_x_limit_max) -onready var _joystick_y_limit_min_rad : float = deg2rad(joystick_y_limit_min) -onready var _joystick_y_limit_max_rad : float = deg2rad(joystick_y_limit_max) -onready var _joystick_x_steps_rad : float = deg2rad(joystick_x_steps) -onready var _joystick_y_steps_rad : float = deg2rad(joystick_y_steps) -onready var _joystick_x_position_rad : float = deg2rad(joystick_x_position) -onready var _joystick_y_position_rad : float = deg2rad(joystick_y_position) -onready var _default_x_position_rad : float = deg2rad(default_x_position) -onready var _default_y_position_rad : float = deg2rad(default_y_position) +@onready var _joystick_x_limit_min_rad : float = deg_to_rad(joystick_x_limit_min) +@onready var _joystick_x_limit_max_rad : float = deg_to_rad(joystick_x_limit_max) +@onready var _joystick_y_limit_min_rad : float = deg_to_rad(joystick_y_limit_min) +@onready var _joystick_y_limit_max_rad : float = deg_to_rad(joystick_y_limit_max) +@onready var _joystick_x_steps_rad : float = deg_to_rad(joystick_x_steps) +@onready var _joystick_y_steps_rad : float = deg_to_rad(joystick_y_steps) +@onready var _joystick_x_position_rad : float = deg_to_rad(joystick_x_position) +@onready var _joystick_y_position_rad : float = deg_to_rad(joystick_y_position) +@onready var _default_x_position_rad : float = deg_to_rad(default_x_position) +@onready var _default_y_position_rad : float = deg_to_rad(default_y_position) -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableJoystick" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableJoystick" or super(name) # Called when the node enters the scene tree for the first time. func _ready(): + # In Godot 4 we must now manually call our super class ready function + super() + # Set the initial position to match the initial joystick position value - transform = Transform( - Basis(Vector3(_joystick_y_position_rad, _joystick_x_position_rad, 0)), + transform = Transform3D( + Basis.from_euler(Vector3(_joystick_y_position_rad, _joystick_x_position_rad, 0)), Vector3.ZERO) # Connect signals - if connect("released", self, "_on_joystick_released"): + if released.connect(_on_joystick_released): push_error("Cannot connect joystick released signal") @@ -97,7 +100,7 @@ func _process(_delta: float) -> void: return # Skip if no handles grabbed - if grabbed_handles.empty(): + if grabbed_handles.is_empty(): return # Get the total handle angular offsets @@ -105,9 +108,8 @@ func _process(_delta: float) -> void: var offset_y_sum := 0.0 for item in grabbed_handles: var handle := item as XRToolsInteractableHandle - var to_handle: Vector3 = global_transform.xform_inv(handle.global_transform.origin) - var to_handle_origin: Vector3 = global_transform.xform_inv( - handle.handle_origin.global_transform.origin) + var to_handle: Vector3 = handle.global_transform.origin * global_transform + var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform var to_handle_x := to_handle * VECTOR_XZ var to_handle_origin_x := to_handle_origin * VECTOR_XZ @@ -137,8 +139,8 @@ func move_joystick(position_x: float, position_y: float) -> void: # Update the current positon _joystick_x_position_rad = position.x _joystick_y_position_rad = position.y - joystick_x_position = rad2deg(position.x) - joystick_y_position = rad2deg(position.y) + joystick_x_position = rad_to_deg(position.x) + joystick_y_position = rad_to_deg(position.y) # Emit the joystick signal emit_signal("joystick_moved", joystick_x_position, joystick_y_position) @@ -153,65 +155,65 @@ func _on_joystick_released(_interactable: XRToolsInteractableJoystick): # Called when joystick_x_limit_min is set externally func _set_joystick_x_limit_min(value: float) -> void: joystick_x_limit_min = value - _joystick_x_limit_min_rad = deg2rad(value) + _joystick_x_limit_min_rad = deg_to_rad(value) # Called when joystick_y_limit_min is set externally func _set_joystick_y_limit_min(value: float) -> void: joystick_y_limit_min = value - _joystick_y_limit_min_rad = deg2rad(value) + _joystick_y_limit_min_rad = deg_to_rad(value) # Called when joystick_x_limit_max is set externally func _set_joystick_x_limit_max(value: float) -> void: joystick_x_limit_max = value - _joystick_x_limit_max_rad = deg2rad(value) + _joystick_x_limit_max_rad = deg_to_rad(value) # Called when joystick_y_limit_max is set externally func _set_joystick_y_limit_max(value: float) -> void: joystick_y_limit_max = value - _joystick_y_limit_max_rad = deg2rad(value) + _joystick_y_limit_max_rad = deg_to_rad(value) # Called when joystick_x_steps is set externally func _set_joystick_x_steps(value: float) -> void: joystick_x_steps = value - _joystick_x_steps_rad = deg2rad(value) + _joystick_x_steps_rad = deg_to_rad(value) # Called when joystick_y_steps is set externally func _set_joystick_y_steps(value: float) -> void: joystick_y_steps = value - _joystick_y_steps_rad = deg2rad(value) + _joystick_y_steps_rad = deg_to_rad(value) # Called when joystick_x_position is set externally func _set_joystick_x_position(value: float) -> void: - var position := Vector2(deg2rad(value), _joystick_y_position_rad) + var position := Vector2(deg_to_rad(value), _joystick_y_position_rad) position = _do_move_joystick(position) - joystick_x_position = rad2deg(position.x) + joystick_x_position = rad_to_deg(position.x) _joystick_x_position_rad = position.x # Called when joystick_y_position is set externally func _set_joystick_y_position(value: float) -> void: - var position := Vector2(_joystick_x_position_rad, deg2rad(value)) + var position := Vector2(_joystick_x_position_rad, deg_to_rad(value)) position = _do_move_joystick(position) - joystick_y_position = rad2deg(position.y) + joystick_y_position = rad_to_deg(position.y) _joystick_y_position_rad = position.y # Called when default_x_position is set externally func _set_default_x_position(value: float) -> void: default_x_position = value - _default_x_position_rad = deg2rad(value) + _default_x_position_rad = deg_to_rad(value) # Called when default_y_position is set externally func _set_default_y_position(value: float) -> void: default_y_position = value - _default_y_position_rad = deg2rad(value) + _default_y_position_rad = deg_to_rad(value) # Do the joystick move @@ -228,7 +230,7 @@ func _do_move_joystick(position: Vector2) -> Vector2: # Move if necessary if position.x != _joystick_x_position_rad or position.y != _joystick_y_position_rad: - transform.basis = Basis(Vector3(position.y, position.x, 0.0)) + transform.basis = Basis.from_euler(Vector3(position.y, position.x, 0.0)) # Return the updated position return position diff --git a/addons/godot-xr-tools/interactables/interactable_slider.gd b/addons/godot-xr-tools/interactables/interactable_slider.gd index 229119d8..5faf517e 100644 --- a/addons/godot-xr-tools/interactables/interactable_slider.gd +++ b/addons/godot-xr-tools/interactables/interactable_slider.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsInteractableSlider extends XRToolsInteractableHandleDriven @@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven ## The slider translates itelf along its local X axis, and so should be ## placed as a child of a node to translate and rotate as appropriate. ## -## The interactable slider is not a [RigidBody], and as such will not react +## The interactable slider is not a [RigidBody3D], and as such will not react ## to any collisions. @@ -20,39 +20,42 @@ signal slider_moved(position) ## Slider minimum limit -export var slider_limit_min : float = 0.0 +@export var slider_limit_min : float = 0.0 ## Slider maximum limit -export var slider_limit_max : float = 1.0 +@export var slider_limit_max : float = 1.0 ## Slider step size (zero for no steps) -export var slider_steps : float = 0.0 +@export var slider_steps : float = 0.0 ## Slider position -export var slider_position : float = 0.0 setget _set_slider_position +@export var slider_position : float = 0.0: set = _set_slider_position ## Default position -export var default_position : float = 0.0 +@export var default_position : float = 0.0 ## If true, the slider moves to the default position when released -export var default_on_release : bool = false +@export var default_on_release : bool = false -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableSlider" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableSlider" or super(name) # Called when the node enters the scene tree for the first time. func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + # Set the initial position to match the initial slider position value - transform = Transform( + transform = Transform3D( Basis.IDENTITY, Vector3(slider_position, 0.0, 0.0) ) # Connect signals - if connect("released", self, "_on_slider_released"): + if released.connect(_on_slider_released): push_error("Cannot connect slider released signal") @@ -65,7 +68,7 @@ func _process(_delta: float) -> void: offset_sum += handle.global_transform.origin - handle.handle_origin.global_transform.origin # Rotate the offset sum vector from global into local coordinate space - offset_sum = global_transform.basis.xform_inv(offset_sum) + offset_sum = offset_sum * global_transform.basis # Get the average displacement in the X axis var offset := offset_sum.x / grabbed_handles.size() diff --git a/addons/godot-xr-tools/interactables/interactable_slider.tscn b/addons/godot-xr-tools/interactables/interactable_slider.tscn index e9cc7679..f864adcc 100644 --- a/addons/godot-xr-tools/interactables/interactable_slider.tscn +++ b/addons/godot-xr-tools/interactables/interactable_slider.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://b0r6edl74ddo7"] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="1"] -[node name="InteractableSlider" type="Spatial"] -script = ExtResource( 1 ) +[node name="InteractableSlider" type="Node3D"] +script = ExtResource("1") diff --git a/addons/godot-xr-tools/materials/capsule.tres b/addons/godot-xr-tools/materials/capsule.tres index feaeba31..a4e004f5 100644 --- a/addons/godot-xr-tools/materials/capsule.tres +++ b/addons/godot-xr-tools/materials/capsule.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpatialMaterial" format=2] +[gd_resource type="StandardMaterial3D" format=2] [resource] flags_transparent = true diff --git a/addons/godot-xr-tools/materials/highlight.tres b/addons/godot-xr-tools/materials/highlight.tres index d694cbe1..d7367129 100644 --- a/addons/godot-xr-tools/materials/highlight.tres +++ b/addons/godot-xr-tools/materials/highlight.tres @@ -1,75 +1,69 @@ -[gd_resource type="ShaderMaterial" load_steps=7 format=2] +[gd_resource type="ShaderMaterial" load_steps=7 format=3 uid="uid://dyuaw57o8y3i"] -[sub_resource type="VisualShaderNodeColorUniform" id=1] -uniform_name = "Color" +[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_nl6jr"] +parameter_name = "Color" -[sub_resource type="VisualShaderNodeVectorOp" id=2] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.5, 0.5, 0.5 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_8dcmn"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.5, 0.5, 0.5)] operator = 2 -[sub_resource type="VisualShaderNodeScalarConstant" id=3] +[sub_resource type="VisualShaderNodeFloatConstant" id="VisualShaderNodeFloatConstant_2331j"] constant = 0.1 -[sub_resource type="VisualShaderNodeFresnel" id=4] +[sub_resource type="VisualShaderNodeFresnel" id="VisualShaderNodeFresnel_tghd5"] -[sub_resource type="VisualShaderNodeVectorOp" id=5] +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_wy3ip"] operator = 2 -[sub_resource type="VisualShader" id=6] +[sub_resource type="VisualShader" id="VisualShader_wb0u4"] code = "shader_type spatial; -render_mode specular_schlick_ggx, async_visible; +uniform vec4 Color : source_color; -uniform vec4 Color : hint_color; - -void vertex() { -// Output:0 - -} - void fragment() { -// ColorUniform:2 - vec3 n_out2p0 = Color.rgb; - float n_out2p1 = Color.a; +// ColorParameter:2 + vec4 n_out2p0 = Color; + -// Scalar:4 +// FloatConstant:4 float n_out4p0 = 0.100000; + // VectorOp:3 - vec3 n_out3p0 = n_out2p0 * vec3(n_out4p0); + vec3 n_out3p0 = vec3(n_out2p0.xyz) * vec3(n_out4p0); + // Fresnel:5 float n_in5p3 = 1.00000; float n_out5p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in5p3); + // VectorOp:6 - vec3 n_out6p0 = n_out2p0 * vec3(n_out5p0); + vec3 n_out6p0 = vec3(n_out2p0.xyz) * vec3(n_out5p0); + // Output:0 ALBEDO = n_out3p0; EMISSION = n_out6p0; -} - -void light() { -// Output:0 } " -nodes/fragment/0/position = Vector2( 660, 60 ) -nodes/fragment/2/node = SubResource( 1 ) -nodes/fragment/2/position = Vector2( 40, 40 ) -nodes/fragment/3/node = SubResource( 2 ) -nodes/fragment/3/position = Vector2( 360, 60 ) -nodes/fragment/4/node = SubResource( 3 ) -nodes/fragment/4/position = Vector2( 20, 180 ) -nodes/fragment/5/node = SubResource( 4 ) -nodes/fragment/5/position = Vector2( 40, 340 ) -nodes/fragment/6/node = SubResource( 5 ) -nodes/fragment/6/position = Vector2( 360, 220 ) -nodes/fragment/connections = PoolIntArray( 2, 0, 3, 0, 3, 0, 0, 0, 4, 0, 3, 1, 2, 0, 6, 0, 5, 0, 6, 1, 6, 0, 0, 5 ) +nodes/fragment/0/position = Vector2(660, 60) +nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_nl6jr") +nodes/fragment/2/position = Vector2(40, 40) +nodes/fragment/3/node = SubResource("VisualShaderNodeVectorOp_8dcmn") +nodes/fragment/3/position = Vector2(360, 60) +nodes/fragment/4/node = SubResource("VisualShaderNodeFloatConstant_2331j") +nodes/fragment/4/position = Vector2(20, 180) +nodes/fragment/5/node = SubResource("VisualShaderNodeFresnel_tghd5") +nodes/fragment/5/position = Vector2(40, 340) +nodes/fragment/6/node = SubResource("VisualShaderNodeVectorOp_wy3ip") +nodes/fragment/6/position = Vector2(360, 220) +nodes/fragment/connections = PackedInt32Array(2, 0, 3, 0, 3, 0, 0, 0, 4, 0, 3, 1, 2, 0, 6, 0, 5, 0, 6, 1, 6, 0, 0, 5) [resource] -shader = SubResource( 6 ) -shader_param/Color = Color( 0.301961, 0.392157, 0.988235, 1 ) +render_priority = 0 +shader = SubResource("VisualShader_wb0u4") +shader_parameter/Color = Color(0.301961, 0.392157, 0.988235, 1) diff --git a/addons/godot-xr-tools/materials/pointer.tres b/addons/godot-xr-tools/materials/pointer.tres index da9fd0bd..ffa1437d 100644 --- a/addons/godot-xr-tools/materials/pointer.tres +++ b/addons/godot-xr-tools/materials/pointer.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpatialMaterial" format=2] +[gd_resource type="StandardMaterial3D" format=2] [resource] flags_unshaded = true diff --git a/addons/godot-xr-tools/materials/target.tres b/addons/godot-xr-tools/materials/target.tres index 71569029..48904d43 100644 --- a/addons/godot-xr-tools/materials/target.tres +++ b/addons/godot-xr-tools/materials/target.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] [ext_resource path="res://addons/godot-xr-tools/images/teleport_target.png" type="Texture" id=1] diff --git a/addons/godot-xr-tools/materials/teleport.shader b/addons/godot-xr-tools/materials/teleport.gdshader similarity index 77% rename from addons/godot-xr-tools/materials/teleport.shader rename to addons/godot-xr-tools/materials/teleport.gdshader index 4e914683..7a6503f2 100644 --- a/addons/godot-xr-tools/materials/teleport.shader +++ b/addons/godot-xr-tools/materials/teleport.gdshader @@ -4,8 +4,8 @@ render_mode unshaded, cull_disabled, skip_vertex_transform; uniform float scale_t = 0.2; uniform float length = 20.0; uniform float ws = 1.0; -uniform vec4 mix_color : hint_color; -uniform sampler2D arrow_texture : hint_albedo; +uniform vec4 mix_color : source_color; +uniform sampler2D arrow_texture : source_color; void vertex() { vec3 down = vec3(0.0, -1.0 / ws, 0.0); @@ -19,13 +19,13 @@ void vertex() { float t2 = t * t; // translate to our world vector - VERTEX = (WORLD_MATRIX * vec4(VERTEX, 1.0)).xyz; + VERTEX = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; // and now create our arch VERTEX += down * t2; - // and apply our camera matrix - VERTEX = (INV_CAMERA_MATRIX * vec4(VERTEX, 1.0)).xyz; + // and apply our view matrix + VERTEX = (VIEW_MATRIX * vec4(VERTEX, 1.0)).xyz; } void fragment() { diff --git a/addons/godot-xr-tools/materials/teleport.tres b/addons/godot-xr-tools/materials/teleport.tres index 29439240..354e9c27 100644 --- a/addons/godot-xr-tools/materials/teleport.tres +++ b/addons/godot-xr-tools/materials/teleport.tres @@ -1,12 +1,13 @@ -[gd_resource type="ShaderMaterial" load_steps=3 format=2] +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bk72wfw25ff0v"] -[ext_resource path="res://addons/godot-xr-tools/materials/teleport.shader" type="Shader" id=1] -[ext_resource path="res://addons/godot-xr-tools/images/teleport_arrow.png" type="Texture" id=2] +[ext_resource type="Shader" path="res://addons/godot-xr-tools/materials/teleport.gdshader" id="1"] +[ext_resource type="Texture2D" uid="uid://ddoj6c345cb0c" path="res://addons/godot-xr-tools/images/teleport_arrow.png" id="2"] [resource] -shader = ExtResource( 1 ) -shader_param/scale_t = 0.2 -shader_param/length = 30.0 -shader_param/ws = 1.0 -shader_param/mix_color = Color( 0.176471, 0.313726, 0.862745, 1 ) -shader_param/arrow_texture = ExtResource( 2 ) +render_priority = 0 +shader = ExtResource("1") +shader_parameter/scale_t = 0.2 +shader_parameter/length = 30.0 +shader_parameter/ws = 1.0 +shader_parameter/mix_color = Color(0.176471, 0.313726, 0.862745, 1) +shader_parameter/arrow_texture = ExtResource("2") diff --git a/addons/godot-xr-tools/misc/arvr_helpers.gd b/addons/godot-xr-tools/misc/arvr_helpers.gd deleted file mode 100644 index ab178f3c..00000000 --- a/addons/godot-xr-tools/misc/arvr_helpers.gd +++ /dev/null @@ -1,135 +0,0 @@ -tool -class_name ARVRHelpers - - -## XR Tools Helper Rountines -## -## This script contains static functions to help find ARVR player nodes. -## -## As these functions are static, the caller must pass in a node located -## somewhere under the players [ARVROrigin]. - - -## Find the [ARVROrigin] node. -## -## This function searches for the [ARVROrigin] from the provided node. -## The caller may provide an optional path (relative to the node) to the -## [ARVROrigin] to support out-of-tree searches. -## -## The search is performed assuming the node is under the [ARVROrigin]. -static func get_arvr_origin(node: Node, path: NodePath = NodePath("")) -> ARVROrigin: - var origin: ARVROrigin - - # Try using the node path first - if path: - origin = node.get_node(path) as ARVROrigin - if origin: - return origin - - # Walk up the tree from the provided node looking for the origin - origin = XRTools.find_ancestor(node, "*", "ARVROrigin") - if origin: - return origin - - # We check our children but only one level - origin = XRTools.find_child(node, "*", "ARVROrigin", false) - if origin: - return origin - - # Could not find origin - return null - -## Find the [ARVRCamera] node. -## -## This function searches for the [ARVRCamera] from the provided node. -## The caller may provide an optional path (relative to the node) to the -## [ARVRCamera] to support out-of-tree searches. -## -## The search is performed assuming the node is under the [ARVROrigin]. -static func get_arvr_camera(node: Node, path: NodePath = NodePath("")) -> ARVRCamera: - var camera: ARVRCamera - - # Try using the node path first - if path: - camera = node.get_node(path) as ARVRCamera - if camera: - return camera - - # Get the origin - var origin := get_arvr_origin(node) - if !origin: - return null - - # Attempt to get by the default name - camera = origin.get_node_or_null("ARVRCamera") as ARVRCamera - if camera: - return camera - - # Search all children of the origin for the camera - camera = XRTools.find_child(origin, "*", "ARVRCamera", false) - if camera: - return camera - - # Could not find camera - return null - -## Find the [ARVRController] node. -## -## This function searches for the [ARVRController] from the provided node. -## The caller may provide an optional path (relative to the node) to the -## [ARVRController] to support out-of-tree searches. -## -## The search is performed assuming the node is under the [ARVRController]. -static func get_arvr_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController: - var controller: ARVRController - - # Try using the node path first - if path: - controller = node.get_node(path) as ARVRController - if controller: - return controller - - # Search up from the node for the controller - return XRTools.find_ancestor(node, "*", "ARVRController") as ARVRController - -## Find the Left Hand Controller from a player node and an optional path -static func get_left_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController: - return _get_controller(node, "LeftHandController", 1, path) - -## Find the Right Hand Controller from a player node and an optional path -static func get_right_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController: - return _get_controller(node, "RightHandController", 2, path) - -# Find a controller given some search parameters -static func _get_controller( - var node: Node, - var default_name: String, - var id: int, - var path: NodePath) -> ARVRController: - var controller: ARVRController - - # Try using the node path first - if path: - controller = node.get_node(path) as ARVRController - if controller: - return controller - - # Get the origin - var origin := get_arvr_origin(node) - if !origin: - return null - - # Attempt to get by the default name - controller = origin.get_node_or_null(default_name) as ARVRController - if controller: - return controller - - # Search all children of the origin for the controller - for child in origin.get_children(): - controller = child as ARVRController - if controller and controller.controller_id == id: - return controller - - # Could not find the controller - return null - diff --git a/addons/godot-xr-tools/misc/hold_button.gd b/addons/godot-xr-tools/misc/hold_button.gd index 52296aff..80ad9bae 100644 --- a/addons/godot-xr-tools/misc/hold_button.gd +++ b/addons/godot-xr-tools/misc/hold_button.gd @@ -1,24 +1,24 @@ -tool +@tool class_name XRToolsHoldButton -extends Spatial +extends Node3D signal pressed # Enable our button -export var enabled : bool = false setget set_enabled +@export var enabled : bool = false: set = set_enabled -export (XRTools.Buttons) var activate_button : int = XRTools.Buttons.VR_TRIGGER +@export var activate_action : String = "trigger_click" # Countdown -export var hold_time : float = 2.0 +@export var hold_time : float = 2.0 # Color our our visualisation -export var color : Color = Color(1.0, 1.0, 1.0, 1.0) setget set_color +@export var color : Color = Color(1.0, 1.0, 1.0, 1.0): set = set_color # Size -export var size : Vector2 = Vector2(1.0, 1.0) setget set_size +@export var size : Vector2 = Vector2(1.0, 1.0): set = set_size var time_held = 0.0 @@ -26,14 +26,14 @@ var time_held = 0.0 var material : ShaderMaterial -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHoldButton" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHoldButton" # Called when the node enters the scene tree for the first time. func _ready(): - material = $Visualise.get_surface_material(0) + material = $Visualise.get_surface_override_material(0) if !Engine.is_editor_hint(): _set_time_held(0.0) @@ -50,13 +50,11 @@ func _process(delta): var button_pressed = false # we check all trackers - for i in ARVRServer.get_tracker_count(): - var tracker : ARVRPositionalTracker = ARVRServer.get_tracker(i) - if tracker.get_hand() != 0: - var joy_id = tracker.get_joy_id() - - if Input.is_joy_button_pressed(joy_id, activate_button): - button_pressed = true + var controllers = XRServer.get_trackers(XRServer.TRACKER_CONTROLLER) + for name in controllers: + var tracker : XRPositionalTracker = controllers[name] + if tracker.get_input(activate_action): + button_pressed = true if button_pressed: _set_time_held(time_held + delta) @@ -83,7 +81,7 @@ func _set_time_held(p_time_held): time_held = p_time_held if material: $Visualise.visible = time_held > 0.0 - material.set_shader_param("value", time_held/hold_time) + material.set_shader_parameter("value", time_held/hold_time) func set_size(p_size: Vector2): @@ -98,7 +96,7 @@ func _update_size(): mesh.size = size # updating the size will unset our material, so reset it - $Visualise.set_surface_material(0, material) + $Visualise.set_surface_override_material(0, material) func set_color(p_color: Color): @@ -108,4 +106,4 @@ func set_color(p_color: Color): func _update_color(): if material: - material.set_shader_param("albedo", color) + material.set_shader_parameter("albedo", color) diff --git a/addons/godot-xr-tools/misc/hold_button.tscn b/addons/godot-xr-tools/misc/hold_button.tscn index 6fd66782..2e690928 100644 --- a/addons/godot-xr-tools/misc/hold_button.tscn +++ b/addons/godot-xr-tools/misc/hold_button.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://cymteydkxagpp"] -[ext_resource path="res://addons/godot-xr-tools/misc/hold_button.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/misc/hold_button_visualshader.tres" type="Shader" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/hold_button.gd" id="1"] +[ext_resource type="Shader" uid="uid://c6okm2ay0fkjf" path="res://addons/godot-xr-tools/misc/hold_button_visualshader.tres" id="2"] -[sub_resource type="QuadMesh" id=1] +[sub_resource type="QuadMesh" id="1"] resource_local_to_scene = true -[sub_resource type="ShaderMaterial" id=2] -resource_local_to_scene = true -shader = ExtResource( 2 ) -shader_param/albedo = Color( 1, 1, 1, 1 ) -shader_param/value = 0.2 -shader_param/fade = 0.05 -shader_param/radius = 0.8 -shader_param/width = 0.2 +[sub_resource type="ShaderMaterial" id="ShaderMaterial_tkbhq"] +render_priority = 0 +shader = ExtResource("2") +shader_parameter/albedo = Color(1, 1, 1, 1) +shader_parameter/fade = 0.05 +shader_parameter/radius = 0.8 +shader_parameter/value = 0.2 +shader_parameter/width = 0.2 -[node name="HoldButton" type="Spatial"] -script = ExtResource( 1 ) +[node name="HoldButton" type="Node3D"] +script = ExtResource("1") -[node name="Visualise" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) -material/0 = SubResource( 2 ) +[node name="Visualise" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = SubResource("ShaderMaterial_tkbhq") diff --git a/addons/godot-xr-tools/misc/hold_button_visualshader.tres b/addons/godot-xr-tools/misc/hold_button_visualshader.tres index 22c5fd47..bddcbec9 100644 --- a/addons/godot-xr-tools/misc/hold_button_visualshader.tres +++ b/addons/godot-xr-tools/misc/hold_button_visualshader.tres @@ -1,110 +1,110 @@ -[gd_resource type="VisualShader" load_steps=28 format=2] +[gd_resource type="VisualShader" load_steps=28 format=3 uid="uid://c6okm2ay0fkjf"] -[sub_resource type="VisualShaderNodeScalarOp" id=1] +[sub_resource type="VisualShaderNodeFloatOp" id="1"] output_port_for_preview = 0 -default_input_values = [ 0, 0.0, 1, 0.1 ] +default_input_values = [0, 0.0, 1, 0.1] operator = 3 -[sub_resource type="VisualShaderNodeScalarUniform" id=2] -uniform_name = "width" +[sub_resource type="VisualShaderNodeFloatParameter" id="2"] +parameter_name = "width" -[sub_resource type="VisualShaderNodeScalarOp" id=11] +[sub_resource type="VisualShaderNodeFloatOp" id="11"] output_port_for_preview = 0 -default_input_values = [ 0, 1.0, 1, 0.0 ] +default_input_values = [0, 1.0, 1, 0.0] operator = 1 -[sub_resource type="VisualShaderNodeScalarOp" id=12] +[sub_resource type="VisualShaderNodeFloatOp" id="12"] output_port_for_preview = 0 operator = 1 -[sub_resource type="VisualShaderNodeScalarUniform" id=13] -uniform_name = "fade" +[sub_resource type="VisualShaderNodeFloatParameter" id="13"] +parameter_name = "fade" -[sub_resource type="VisualShaderNodeScalarOp" id=14] -default_input_values = [ 0, 0.0, 1, 2.0 ] +[sub_resource type="VisualShaderNodeFloatOp" id="14"] +default_input_values = [0, 0.0, 1, 2.0] operator = 3 -[sub_resource type="VisualShaderNodeVectorFunc" id=15] +[sub_resource type="VisualShaderNodeVectorFunc" id="15"] output_port_for_preview = 0 -[sub_resource type="VisualShaderNodeDotProduct" id=16] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, -1, 0 ) ] +[sub_resource type="VisualShaderNodeDotProduct" id="16"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)] -[sub_resource type="VisualShaderNodeVectorOp" id=17] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, -1, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="17"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)] operator = 8 -[sub_resource type="VisualShaderNodeColorUniform" id=3] -uniform_name = "albedo" +[sub_resource type="VisualShaderNodeColorParameter" id="3"] +parameter_name = "albedo" -[sub_resource type="VisualShaderNodeVectorDecompose" id=18] +[sub_resource type="VisualShaderNodeVectorDecompose" id="18"] -[sub_resource type="VisualShaderNodeIf" id=19] +[sub_resource type="VisualShaderNodeIf" id="19"] -[sub_resource type="VisualShaderNodeScalarOp" id=20] -default_input_values = [ 0, 6.28319, 1, 0.0 ] +[sub_resource type="VisualShaderNodeFloatOp" id="20"] +default_input_values = [0, 6.28319, 1, 0.0] operator = 1 -[sub_resource type="VisualShaderNodeScalarFunc" id=21] +[sub_resource type="VisualShaderNodeFloatFunc" id="21"] output_port_for_preview = 0 function = 4 -[sub_resource type="VisualShaderNodeScalarOp" id=22] +[sub_resource type="VisualShaderNodeFloatOp" id="22"] output_port_for_preview = 0 -default_input_values = [ 0, 0.0, 1, 6.28319 ] +default_input_values = [0, 0.0, 1, 6.28319] operator = 3 -[sub_resource type="VisualShaderNodeScalarUniform" id=23] -uniform_name = "value" +[sub_resource type="VisualShaderNodeFloatParameter" id="23"] +parameter_name = "value" -[sub_resource type="VisualShaderNodeScalarOp" id=24] +[sub_resource type="VisualShaderNodeFloatOp" id="24"] output_port_for_preview = 0 operator = 1 -[sub_resource type="VisualShaderNodeScalarOp" id=25] +[sub_resource type="VisualShaderNodeFloatOp" id="25"] output_port_for_preview = 0 operator = 3 -[sub_resource type="VisualShaderNodeScalarOp" id=26] +[sub_resource type="VisualShaderNodeFloatOp" id="26"] output_port_for_preview = 0 operator = 6 -[sub_resource type="VisualShaderNodeInput" id=4] +[sub_resource type="VisualShaderNodeInput" id="4"] output_port_for_preview = 0 input_name = "uv" -[sub_resource type="VisualShaderNodeScalarOp" id=27] -default_input_values = [ 0, 0.0, 1, 6.28319 ] +[sub_resource type="VisualShaderNodeFloatOp" id="27"] +default_input_values = [0, 0.0, 1, 6.28319] operator = 3 -[sub_resource type="VisualShaderNodeVectorOp" id=5] +[sub_resource type="VisualShaderNodeVectorOp" id="5"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 2, 2, 0 ) ] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 2, 0)] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=6] +[sub_resource type="VisualShaderNodeVectorOp" id="6"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( -1, -1, 0 ) ] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(-1, -1, 0)] -[sub_resource type="VisualShaderNodeVectorLen" id=7] +[sub_resource type="VisualShaderNodeVectorLen" id="7"] output_port_for_preview = 0 -[sub_resource type="VisualShaderNodeScalarOp" id=8] +[sub_resource type="VisualShaderNodeFloatOp" id="8"] output_port_for_preview = 0 operator = 1 -[sub_resource type="VisualShaderNodeScalarUniform" id=9] -uniform_name = "radius" +[sub_resource type="VisualShaderNodeFloatParameter" id="9"] +parameter_name = "radius" -[sub_resource type="VisualShaderNodeScalarFunc" id=10] +[sub_resource type="VisualShaderNodeFloatFunc" id="10"] output_port_for_preview = 0 function = 12 [resource] code = "shader_type spatial; -render_mode specular_schlick_ggx, async_visible, unshaded; +render_mode unshaded; -uniform vec4 albedo : hint_color; +uniform vec4 albedo : source_color; uniform float value; uniform float fade; uniform float radius; @@ -112,54 +112,58 @@ uniform float width; -void vertex() { -// Output:0 - -} - void fragment() { -// ColorUniform:2 - vec3 n_out2p0 = albedo.rgb; - float n_out2p1 = albedo.a; +// ColorParameter:2 + vec4 n_out2p0 = albedo; + // Input:3 - vec3 n_out3p0 = vec3(UV, 0.0); + vec2 n_out3p0 = UV; + // VectorOp:4 vec3 n_in4p1 = vec3(2.00000, 2.00000, 0.00000); - vec3 n_out4p0 = n_out3p0 * n_in4p1; + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + // VectorOp:5 vec3 n_in5p1 = vec3(-1.00000, -1.00000, 0.00000); vec3 n_out5p0 = n_out4p0 + n_in5p1; + // VectorFunc:17 vec3 n_out17p0 = normalize(n_out5p0); + // VectorOp:19 vec3 n_in19p1 = vec3(0.00000, -1.00000, 0.00000); vec3 n_out19p0 = cross(n_out17p0, n_in19p1); + // VectorDecompose:20 float n_out20p0 = n_out19p0.x; float n_out20p1 = n_out19p0.y; float n_out20p2 = n_out19p0.z; + // DotProduct:18 vec3 n_in18p1 = vec3(0.00000, -1.00000, 0.00000); float n_out18p0 = dot(n_out17p0, n_in18p1); -// ScalarFunc:24 + +// FloatFunc:24 float n_out24p0 = acos(n_out18p0); -// ScalarOp:23 + +// FloatOp:23 float n_in23p0 = 6.28319; float n_out23p0 = n_in23p0 - n_out24p0; + + vec3 n_out22p0; // If:22 float n_in22p1 = 0.00000; float n_in22p2 = 0.00001; - vec3 n_out22p0; if(abs(n_out20p2 - n_in22p1) < n_in22p2) { n_out22p0 = vec3(n_out24p0); @@ -173,124 +177,137 @@ void fragment() { n_out22p0 = vec3(n_out23p0); } -// ScalarOp:25 + +// FloatOp:25 float n_in25p1 = 6.28319; - float n_out25p0 = dot(n_out22p0, vec3(0.333333, 0.333333, 0.333333)) / n_in25p1; + float n_out25p0 = n_out22p0.x / n_in25p1; + -// ScalarUniform:26 +// FloatParameter:26 float n_out26p0 = value; -// ScalarOp:27 + +// FloatOp:27 float n_out27p0 = n_out25p0 - n_out26p0; -// ScalarUniform:14 + +// FloatParameter:14 float n_out14p0 = fade; -// ScalarOp:30 + +// FloatOp:30 float n_in30p1 = 6.28319; float n_out30p0 = n_out14p0 / n_in30p1; -// ScalarOp:28 + +// FloatOp:28 float n_out28p0 = n_out27p0 / n_out30p0; + // VectorLen:6 float n_out6p0 = length(n_out5p0); -// ScalarUniform:8 + +// FloatParameter:8 float n_out8p0 = radius; -// ScalarOp:7 + +// FloatOp:7 float n_out7p0 = n_out6p0 - n_out8p0; -// ScalarFunc:9 + +// FloatFunc:9 float n_out9p0 = abs(n_out7p0); -// ScalarUniform:11 + +// FloatParameter:11 float n_out11p0 = width; -// ScalarOp:15 + +// FloatOp:15 float n_in15p1 = 2.00000; float n_out15p0 = n_out11p0 / n_in15p1; -// ScalarOp:13 + +// FloatOp:13 float n_out13p0 = n_out9p0 - n_out15p0; -// ScalarOp:10 + +// FloatOp:10 float n_out10p0 = n_out13p0 / n_out14p0; -// ScalarOp:29 + +// FloatOp:29 float n_out29p0 = max(n_out28p0, n_out10p0); -// ScalarOp:12 + +// FloatOp:12 float n_in12p0 = 1.00000; float n_out12p0 = n_in12p0 - n_out29p0; + // Output:0 - ALBEDO = n_out2p0; + ALBEDO = vec3(n_out2p0.xyz); ALPHA = n_out12p0; -} - -void light() { -// Output:0 } " -graph_offset = Vector2( -115.723, -301.286 ) +graph_offset = Vector2(652.664, 119.317) flags/unshaded = true -nodes/fragment/0/position = Vector2( 1800, -40 ) -nodes/fragment/2/node = SubResource( 3 ) -nodes/fragment/2/position = Vector2( 1480, -200 ) -nodes/fragment/3/node = SubResource( 4 ) -nodes/fragment/3/position = Vector2( -220, 200 ) -nodes/fragment/4/node = SubResource( 5 ) -nodes/fragment/4/position = Vector2( -20, 200 ) -nodes/fragment/5/node = SubResource( 6 ) -nodes/fragment/5/position = Vector2( 180, 200 ) -nodes/fragment/6/node = SubResource( 7 ) -nodes/fragment/6/position = Vector2( 380, 200 ) -nodes/fragment/7/node = SubResource( 8 ) -nodes/fragment/7/position = Vector2( 580, 200 ) -nodes/fragment/8/node = SubResource( 9 ) -nodes/fragment/8/position = Vector2( 260, 440 ) -nodes/fragment/9/node = SubResource( 10 ) -nodes/fragment/9/position = Vector2( 780, 200 ) -nodes/fragment/10/node = SubResource( 1 ) -nodes/fragment/10/position = Vector2( 1200, 200 ) -nodes/fragment/11/node = SubResource( 2 ) -nodes/fragment/11/position = Vector2( 260, 600 ) -nodes/fragment/12/node = SubResource( 11 ) -nodes/fragment/12/position = Vector2( 1600, 60 ) -nodes/fragment/13/node = SubResource( 12 ) -nodes/fragment/13/position = Vector2( 1000, 200 ) -nodes/fragment/14/node = SubResource( 13 ) -nodes/fragment/14/position = Vector2( 260, 780 ) -nodes/fragment/15/node = SubResource( 14 ) -nodes/fragment/15/position = Vector2( 560, 600 ) -nodes/fragment/17/node = SubResource( 15 ) -nodes/fragment/17/position = Vector2( -380, -100 ) -nodes/fragment/18/node = SubResource( 16 ) -nodes/fragment/18/position = Vector2( -120, -40 ) -nodes/fragment/19/node = SubResource( 17 ) -nodes/fragment/19/position = Vector2( -120, -180 ) -nodes/fragment/20/node = SubResource( 18 ) -nodes/fragment/20/position = Vector2( 60, -180 ) -nodes/fragment/22/node = SubResource( 19 ) -nodes/fragment/22/position = Vector2( 620, -100 ) -nodes/fragment/23/node = SubResource( 20 ) -nodes/fragment/23/position = Vector2( 360, 40 ) -nodes/fragment/24/node = SubResource( 21 ) -nodes/fragment/24/position = Vector2( 60, -40 ) -nodes/fragment/25/node = SubResource( 22 ) -nodes/fragment/25/position = Vector2( 800, -100 ) -nodes/fragment/26/node = SubResource( 23 ) -nodes/fragment/26/position = Vector2( 660, -360 ) -nodes/fragment/27/node = SubResource( 24 ) -nodes/fragment/27/position = Vector2( 1000, -100 ) -nodes/fragment/28/node = SubResource( 25 ) -nodes/fragment/28/position = Vector2( 1200, -100 ) -nodes/fragment/29/node = SubResource( 26 ) -nodes/fragment/29/position = Vector2( 1400, 60 ) -nodes/fragment/30/node = SubResource( 27 ) -nodes/fragment/30/position = Vector2( 1000, -240 ) -nodes/fragment/connections = PoolIntArray( 2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1, 2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1 ) +nodes/fragment/0/position = Vector2(1800, -40) +nodes/fragment/2/node = SubResource("3") +nodes/fragment/2/position = Vector2(1480, -200) +nodes/fragment/3/node = SubResource("4") +nodes/fragment/3/position = Vector2(-220, 200) +nodes/fragment/4/node = SubResource("5") +nodes/fragment/4/position = Vector2(-20, 200) +nodes/fragment/5/node = SubResource("6") +nodes/fragment/5/position = Vector2(180, 200) +nodes/fragment/6/node = SubResource("7") +nodes/fragment/6/position = Vector2(380, 200) +nodes/fragment/7/node = SubResource("8") +nodes/fragment/7/position = Vector2(580, 200) +nodes/fragment/8/node = SubResource("9") +nodes/fragment/8/position = Vector2(260, 440) +nodes/fragment/9/node = SubResource("10") +nodes/fragment/9/position = Vector2(780, 200) +nodes/fragment/10/node = SubResource("1") +nodes/fragment/10/position = Vector2(1200, 200) +nodes/fragment/11/node = SubResource("2") +nodes/fragment/11/position = Vector2(260, 600) +nodes/fragment/12/node = SubResource("11") +nodes/fragment/12/position = Vector2(1600, 60) +nodes/fragment/13/node = SubResource("12") +nodes/fragment/13/position = Vector2(1000, 200) +nodes/fragment/14/node = SubResource("13") +nodes/fragment/14/position = Vector2(260, 780) +nodes/fragment/15/node = SubResource("14") +nodes/fragment/15/position = Vector2(560, 600) +nodes/fragment/17/node = SubResource("15") +nodes/fragment/17/position = Vector2(-380, -100) +nodes/fragment/18/node = SubResource("16") +nodes/fragment/18/position = Vector2(-120, -40) +nodes/fragment/19/node = SubResource("17") +nodes/fragment/19/position = Vector2(-120, -180) +nodes/fragment/20/node = SubResource("18") +nodes/fragment/20/position = Vector2(60, -180) +nodes/fragment/22/node = SubResource("19") +nodes/fragment/22/position = Vector2(620, -100) +nodes/fragment/23/node = SubResource("20") +nodes/fragment/23/position = Vector2(360, 40) +nodes/fragment/24/node = SubResource("21") +nodes/fragment/24/position = Vector2(60, -40) +nodes/fragment/25/node = SubResource("22") +nodes/fragment/25/position = Vector2(800, -100) +nodes/fragment/26/node = SubResource("23") +nodes/fragment/26/position = Vector2(660, -360) +nodes/fragment/27/node = SubResource("24") +nodes/fragment/27/position = Vector2(1000, -100) +nodes/fragment/28/node = SubResource("25") +nodes/fragment/28/position = Vector2(1200, -100) +nodes/fragment/29/node = SubResource("26") +nodes/fragment/29/position = Vector2(1400, 60) +nodes/fragment/30/node = SubResource("27") +nodes/fragment/30/position = Vector2(1000, -240) +nodes/fragment/connections = PackedInt32Array(2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1) diff --git a/addons/godot-xr-tools/misc/move_to.gd b/addons/godot-xr-tools/misc/move_to.gd index bf44dbc5..2b907028 100644 --- a/addons/godot-xr-tools/misc/move_to.gd +++ b/addons/godot-xr-tools/misc/move_to.gd @@ -13,16 +13,16 @@ signal move_complete # Spatial to control -var _control: Spatial +var _control: Node3D # Spatial representing the target -var _target: Spatial +var _target: Node3D # Starting transform -var _start: Transform +var _start: Transform3D # Target offset -var _offset: Transform +var _offset: Transform3D # Move duration var _duration: float @@ -31,9 +31,9 @@ var _duration: float var _time: float = 0.0 -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsMoveTo" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsMoveTo" ## Initialize the XRToolsMoveTo @@ -69,7 +69,7 @@ func _process(delta: float) -> void: ## Start the move -func start(control: Spatial, target: Spatial, offset: Transform, speed: float) -> void: +func start(control: Node3D, target: Node3D, offset: Transform3D, speed: float) -> void: # Save the control and target _control = control _target = target diff --git a/addons/godot-xr-tools/misc/velocity_averager.gd b/addons/godot-xr-tools/misc/velocity_averager.gd index 26bbe334..624bde33 100644 --- a/addons/godot-xr-tools/misc/velocity_averager.gd +++ b/addons/godot-xr-tools/misc/velocity_averager.gd @@ -25,7 +25,7 @@ var _linear_distances := Array() var _angular_distances := Array() # Last transform -var _last_transform := Transform() +var _last_transform := Transform3D() # Has last transform flag var _has_last_transform := false @@ -59,7 +59,7 @@ func add_distance(delta: float, linear_distance: Vector3, angular_distance: Vect _angular_distances.pop_front() ## Add a transform to the averager -func add_transform(delta: float, transform: Transform): +func add_transform(delta: float, transform: Transform3D): # Handle saving the first transform if !_has_last_transform: _last_transform = transform diff --git a/addons/godot-xr-tools/misc/velocity_averager_linear.gd b/addons/godot-xr-tools/misc/velocity_averager_linear.gd index f8feacd8..f69bf7f4 100644 --- a/addons/godot-xr-tools/misc/velocity_averager_linear.gd +++ b/addons/godot-xr-tools/misc/velocity_averager_linear.gd @@ -23,7 +23,7 @@ var _time_deltas := Array() var _linear_distances := Array() # Last transform -var _last_transform := Transform() +var _last_transform := Transform3D() # Has last transform flag var _has_last_transform := false @@ -55,7 +55,7 @@ func add_velocity(delta: float, linear_velocity: Vector3): add_distance(delta, linear_velocity * delta) ## Add a transform to the averager -func add_transform(delta: float, transform: Transform): +func add_transform(delta: float, transform: Transform3D): # Handle saving the first transform if !_has_last_transform: _last_transform = transform diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.gd b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd index f13fe4b1..d7c96096 100644 --- a/addons/godot-xr-tools/misc/vr_common_shader_cache.gd +++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd @@ -1,4 +1,4 @@ -extends Spatial +extends Node3D signal cooldown_finished diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn index 74336d56..8c9ab26e 100644 --- a/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn +++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn @@ -1,39 +1,39 @@ -[gd_scene load_steps=8 format=2] - -[ext_resource path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/materials/teleport.tres" type="Material" id=2] -[ext_resource path="res://addons/godot-xr-tools/materials/target.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/materials/capsule.tres" type="Material" id=4] -[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/materials/highlight.tres" type="Material" id=6] - -[sub_resource type="PlaneMesh" id=1] -size = Vector2( 0.001, 0.001 ) - -[node name="VRCommonShaderCache" type="Spatial"] -script = ExtResource( 1 ) - -[node name="teleport" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 2 ) - -[node name="target" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 3 ) - -[node name="capsule" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 4 ) - -[node name="pointer" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 5 ) - -[node name="highlight" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 6 ) +[gd_scene load_steps=8 format=3] + +[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2_6822k"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3_agvdv"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4_gxjsg"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="5_12251"] +[ext_resource type="Material" uid="uid://dyuaw57o8y3i" path="res://addons/godot-xr-tools/materials/highlight.tres" id="6_ld6la"] + +[sub_resource type="PlaneMesh" id="1"] +size = Vector2(0.001, 0.001) + +[node name="VRCommonShaderCache" type="Node3D"] +script = ExtResource("1") + +[node name="teleport" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2_6822k") + +[node name="target" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("3_agvdv") + +[node name="capsule" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("4_gxjsg") + +[node name="pointer" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("5_12251") + +[node name="highlight" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("6_ld6la") diff --git a/addons/godot-xr-tools/misc/xr_helpers.gd b/addons/godot-xr-tools/misc/xr_helpers.gd new file mode 100644 index 00000000..603f7c34 --- /dev/null +++ b/addons/godot-xr-tools/misc/xr_helpers.gd @@ -0,0 +1,137 @@ +@tool +class_name XRHelpers + + +## XR Tools Helper Rountines +## +## This script contains static functions to help find XR player nodes. +## +## As these functions are static, the caller must pass in a node located +## somewhere under the players [XROrigin3D]. + + +## Find the [XROrigin3D] node. +## +## This function searches for the [XROrigin3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XROrigin3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XROrigin3D]. +static func get_xr_origin(node: Node, path: NodePath = NodePath()) -> XROrigin3D: + var origin: XROrigin3D + + # Try using the node path first + if path: + origin = node.get_node(path) as XROrigin3D + if origin: + return origin + + # Walk up the tree from the provided node looking for the origin + origin = XRTools.find_xr_ancestor(node, "*", "XROrigin3D") + if origin: + return origin + + # We check our children but only one level + origin = XRTools.find_xr_child(node, "*", "XROrigin3D", false) + if origin: + return origin + + # Could not find origin + return null + +## Find the [XRCamera3D] node. +## +## This function searches for the [XRCamera3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XRCamera3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XROrigin3D]. +static func get_xr_camera(node: Node, path: NodePath = NodePath()) -> XRCamera3D: + var camera: XRCamera3D + + # Try using the node path first + if path: + camera = node.get_node(path) as XRCamera3D + if camera: + return camera + + # Get the origin + var origin := get_xr_origin(node) + if !origin: + return null + + # Attempt to get by the default name + camera = origin.get_node_or_null("Camera") as XRCamera3D + if camera: + return camera + + # Search all children of the origin for the camera + camera = XRTools.find_xr_child(origin, "*", "XRCamera3D", false) + if camera: + return camera + + # Could not find camera + return null + +## Find the [XRController3D] node. +## +## This function searches for the [XRController3D] from the provided node. +## The caller may provide an optional path (relative to the node) to the +## [XRController3D] to support out-of-tree searches. +## +## The search is performed assuming the node is under the [XRController3D]. +static func get_xr_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + var controller: XRController3D + + # Try using the node path first + if path: + controller = node.get_node(path) as XRController3D + if controller: + return controller + + # Search up from the node for the controller + return XRTools.find_xr_ancestor(node, "*", "XRController3D") as XRController3D + +## Find the Left Hand [XRController3D] from a player node and an optional path +static func get_left_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + return _get_controller(node, "LeftHandController", "left_hand", path) + + +## Find the Right Hand [XRController3D] from a player node and an optional path +static func get_right_controller(node: Node, path: NodePath = NodePath()) -> XRController3D: + return _get_controller(node, "RightHandController", "right_hand", path) + + +## Find an [XRController3D] given some search parameters +static func _get_controller( + node: Node, + default_name: String, + tracker: String, + path: NodePath) -> XRController3D: + var controller: XRController3D + + # Try using the node path first + if path: + controller = node.get_node(path) as XRController3D + if controller: + return controller + + # Get the origin + var origin := get_xr_origin(node) + if !origin: + return null + + # Attempt to get by the default name + controller = origin.get_node_or_null(default_name) as XRController3D + if controller: + return controller + + # Search all children of the origin for the controller + for child in origin.get_children(): + controller = child as XRController3D + if controller and controller.tracker == tracker: + return controller + + # Could not find the controller + return null + diff --git a/addons/godot-xr-tools/objects/climbable.gd b/addons/godot-xr-tools/objects/climbable.gd index 6255aa71..e680d63f 100644 --- a/addons/godot-xr-tools/objects/climbable.gd +++ b/addons/godot-xr-tools/objects/climbable.gd @@ -1,5 +1,7 @@ -class_name XRToolsClimbable, "res://addons/godot-xr-tools/editor/icons/hand.svg" -extends Spatial +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsClimbable +extends Node3D ## XR Tools Climbable Object @@ -17,16 +19,16 @@ var press_to_hold : bool = true var grab_locations := {} -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsClimbable" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsClimbable" # Called by XRToolsFunctionPickup func is_picked_up() -> bool: return false -func can_pick_up(_by: Spatial) -> bool: +func can_pick_up(_by: Node3D) -> bool: return true # Called by XRToolsFunctionPickup when user presses the action button while holding this object @@ -42,7 +44,7 @@ func decrease_is_closest(): pass # Called by XRToolsFunctionPickup when this is picked up by a controller -func pick_up(by: Spatial, _with_controller: ARVRController) -> void: +func pick_up(by: Node3D, _with_controller: XRController3D) -> void: save_grab_location(by) # Called by XRToolsFunctionPickup when this is let go by a controller @@ -50,9 +52,9 @@ func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void: pass # Save the grab location -func save_grab_location(p: Spatial): +func save_grab_location(p: Node3D): grab_locations[p.get_instance_id()] = to_local(p.global_transform.origin) # Get the grab location in world-space -func get_grab_location(p: Spatial) -> Vector3: +func get_grab_location(p: Node3D) -> Vector3: return to_global(grab_locations[p.get_instance_id()]) diff --git a/addons/godot-xr-tools/objects/climbable.tscn b/addons/godot-xr-tools/objects/climbable.tscn index 010acd42..6cb25991 100644 --- a/addons/godot-xr-tools/objects/climbable.tscn +++ b/addons/godot-xr-tools/objects/climbable.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://cjyilbm4ucc7s"] -[ext_resource path="res://addons/godot-xr-tools/objects/climbable.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/climbable.gd" id="1"] -[node name="Climbable" type="StaticBody"] +[node name="Climbable" type="StaticBody3D"] collision_layer = 262145 collision_mask = 0 -script = ExtResource( 1 ) +script = ExtResource("1") -[node name="CollisionShape" type="CollisionShape" parent="."] +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point.gd b/addons/godot-xr-tools/objects/grab_points/grab_point.gd index c83a58de..51a5d03c 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point.gd +++ b/addons/godot-xr-tools/objects/grab_points/grab_point.gd @@ -1,5 +1,5 @@ class_name XRToolsGrabPoint -extends Position3D +extends Marker3D ## XR Tools Grab Point Base Script @@ -10,7 +10,7 @@ extends Position3D ## If true, the grab point is enabled for grabbing -export var enabled : bool = true +@export var enabled : bool = true ## Test if a grabber can grab by this grab-point diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd index a833f674..65f435d5 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsGrabPointHand extends XRToolsGrabPoint @@ -31,14 +31,13 @@ const RIGHT_HAND_PATH := "res://addons/godot-xr-tools/hands/scenes/lowpoly/right ## Which hand this grab point is for -export (Hand) var hand : int setget _set_hand +@export var hand : Hand: set = _set_hand ## Hand pose -export var hand_pose : Resource setget _set_hand_pose +@export var hand_pose : XRToolsHandPoseSettings: set = _set_hand_pose ## If true, the hand is shown in the editor -export (PreviewMode) \ - var editor_preview_mode : int = PreviewMode.CLOSED setget _set_editor_preview_mode +@export var editor_preview_mode : PreviewMode = PreviewMode.CLOSED: set = _set_editor_preview_mode ## Hand to use for editor preview @@ -48,7 +47,7 @@ var _editor_preview_hand : XRToolsHand ## Called when the node enters the scene tree for the first time. func _ready(): # If in the editor then update the preview - if Engine.editor_hint: + if Engine.is_editor_hint(): _update_editor_preview() @@ -64,32 +63,32 @@ func can_grab(_grabber : Node) -> bool: return false # Only allow left controller to grab left-hand grab points - if hand == Hand.LEFT and controller.controller_id != 1: + if hand == Hand.LEFT and controller.tracker != "left_hand": return false # Only allow right controller to grab right-hand grab points - if hand == Hand.RIGHT and controller.controller_id != 2: + if hand == Hand.RIGHT and controller.tracker != "right_hand": return false # Allow grab return true -func _set_hand(new_value : int) -> void: +func _set_hand(new_value : Hand) -> void: hand = new_value - if Engine.editor_hint: + if Engine.is_editor_hint(): _update_editor_preview() -func _set_hand_pose(new_value : Resource) -> void: +func _set_hand_pose(new_value : XRToolsHandPoseSettings) -> void: hand_pose = new_value - if Engine.editor_hint: + if Engine.is_editor_hint(): _update_editor_preview() -func _set_editor_preview_mode(new_value : int) -> void: +func _set_editor_preview_mode(new_value : PreviewMode) -> void: editor_preview_mode = new_value - if Engine.editor_hint: + if Engine.is_editor_hint(): _update_editor_preview() @@ -107,7 +106,7 @@ func _update_editor_preview() -> void: return # Construct the model - _editor_preview_hand = hand_scene.instance() + _editor_preview_hand = hand_scene.instantiate() # Set the pose if hand_pose: @@ -124,7 +123,7 @@ func _update_editor_preview() -> void: # Get the controller associated with a grabber -static func _get_grabber_controller(_grabber : Node) -> ARVRController: +static func _get_grabber_controller(_grabber : Node) -> XRController3D: # Ensure the grabber is valid if not is_instance_valid(_grabber): return null @@ -136,3 +135,4 @@ static func _get_grabber_controller(_grabber : Node) -> ARVRController: # Get the controller associated with the pickup return pickup.get_controller() + diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn index 2f6d8155..875f686a 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://c25yxb0vt53vc"] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"] -[node name="GrabPointHandLeft" type="Position3D"] +[node name="GrabPointHandLeft" type="Marker3D"] visible = false -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn index 8d6e4766..08957a5b 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://ctw7nbntd5pcj"] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"] -[node name="GrabPointHandRight" type="Position3D"] +[node name="GrabPointHandRight" type="Marker3D"] visible = false -script = ExtResource( 1 ) +script = ExtResource("1") hand = 1 diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd index 2bd62163..46a6925e 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsGrabPointSnap extends XRToolsGrabPoint @@ -10,17 +10,17 @@ extends XRToolsGrabPoint ## Require grab-by to be in the specified group -export var require_group : String = "" +@export var require_group : String = "" ## Deny grab-by if in the specified group -export var exclude_group : String = "" +@export var exclude_group : String = "" # Called when the node enters the scene tree for the first time. func _ready(): # Add a Position3D child to help editor visibility - if Engine.editor_hint: - add_child(Position3D.new()) + if Engine.is_editor_hint(): + add_child(Marker3D.new()) ## Test if a grabber can grab by this grab-point @@ -38,11 +38,11 @@ func can_grab(_grabber : Node) -> bool: return false # Refuse if the grabber is not in the required group - if not require_group.empty() and not _grabber.is_in_group(require_group): + if not require_group.is_empty() and not _grabber.is_in_group(require_group): return false # Refuse if the grabber is in the excluded group - if not exclude_group.empty() and _grabber.is_in_group(exclude_group): + if not exclude_group.is_empty() and _grabber.is_in_group(exclude_group): return false # Allow the grab diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn index 93883f24..0ce99795 100644 --- a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn +++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://dh8grd7s3n8kg"] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" id="1"] -[node name="GrabPointSnap" type="Position3D"] +[node name="GrabPointSnap" type="Marker3D"] visible = false -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/hand_pose_area.gd b/addons/godot-xr-tools/objects/hand_pose_area.gd index 1f69f040..9d39e722 100644 --- a/addons/godot-xr-tools/objects/hand_pose_area.gd +++ b/addons/godot-xr-tools/objects/hand_pose_area.gd @@ -1,6 +1,7 @@ -tool -class_name XRToolsHandPoseArea, "res://addons/godot-xr-tools/editor/icons/hand.svg" -extends Area +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsHandPoseArea +extends Area3D ## XR Tools Hand Pose Area @@ -10,15 +11,15 @@ extends Area ## Priority level for this hand pose area -export var pose_priority : int +@export var pose_priority : int ## Left hand pose settings (XRToolsHandPoseSettings) -export var left_pose : Resource +@export var left_pose : XRToolsHandPoseSettings ## Right hand pose settings (XRToolsHandPoseSettings) -export var right_pose : Resource +@export var right_pose : XRToolsHandPoseSettings -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHandPoseArea" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHandPoseArea" diff --git a/addons/godot-xr-tools/objects/hand_pose_area.tscn b/addons/godot-xr-tools/objects/hand_pose_area.tscn index c6d7ae5b..e72ed0d1 100644 --- a/addons/godot-xr-tools/objects/hand_pose_area.tscn +++ b/addons/godot-xr-tools/objects/hand_pose_area.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://dc5t2qgmhb2nf"] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/hand_pose_area.gd" id="1"] -[node name="HandPoseArea" type="Area"] +[node name="HandPoseArea" type="Area3D"] collision_layer = 2097152 collision_mask = 0 monitoring = false -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/highlight/highlight_material.gd b/addons/godot-xr-tools/objects/highlight/highlight_material.gd index bf28d2a2..d5b8eb29 100644 --- a/addons/godot-xr-tools/objects/highlight/highlight_material.gd +++ b/addons/godot-xr-tools/objects/highlight/highlight_material.gd @@ -1,22 +1,22 @@ -tool +@tool class_name XRToolsHighlightMaterial extends Node ## Mesh to highlight -export(NodePath) var highlight_mesh_instance +@export var highlight_mesh_instance : NodePath ## Material to set -export(Resource) var highlight_material +@export var highlight_material : Resource var _original_materials = Array() -var _highlight_mesh_instance: MeshInstance +var _highlight_mesh_instance: MeshInstance3D -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHighlightMaterial" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightMaterial" # Called when the node enters the scene tree for the first time. @@ -27,30 +27,31 @@ func _ready(): # Save the materials if _highlight_mesh_instance: # if we can find a node remember which materials are currently set on each surface - for i in range(0, _highlight_mesh_instance.get_surface_material_count()): - _original_materials.push_back(_highlight_mesh_instance.get_surface_material(i)) + for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()): + _original_materials.push_back(_highlight_mesh_instance.get_surface_override_material(i)) # Hook the highlight update - get_parent().connect("highlight_updated", self, "_on_highlight_updated") + get_parent().connect("highlight_updated", _on_highlight_updated) # Called when the pickable highlight changes func _on_highlight_updated(_pickable, enable: bool) -> void: # Set the materials if _highlight_mesh_instance: - for i in range(0, _highlight_mesh_instance.get_surface_material_count()): + for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()): if enable: - _highlight_mesh_instance.set_surface_material(i, highlight_material) + _highlight_mesh_instance.set_surface_override_material(i, highlight_material) else: - _highlight_mesh_instance.set_surface_material(i, _original_materials[i]) + _highlight_mesh_instance.set_surface_override_material(i, _original_materials[i]) # This method verifies the node -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify parent supports highlighting var parent := get_parent() if not parent or not parent.has_signal("highlight_updated"): - return "Parent does not support highlighting" + warnings.append("Parent does not support highlighting") - # No issues - return "" + return warnings diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.gd b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd index 1525d91c..cabd79c5 100644 --- a/addons/godot-xr-tools/objects/highlight/highlight_ring.gd +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd @@ -1,21 +1,21 @@ -tool +@tool class_name XRToolsHighlightRing -extends MeshInstance +extends MeshInstance3D -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHighlightRing" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightRing" # Called when the node enters the scene tree for the first time. func _ready(): # Turn off until requested - if not Engine.editor_hint: + if not Engine.is_editor_hint(): visible = false # Hook the highlight update - get_parent().connect("highlight_updated", self, "_on_highlight_updated") + get_parent().connect("highlight_updated", _on_highlight_updated) # Called when the pickable highlight changes @@ -24,11 +24,12 @@ func _on_highlight_updated(_pickable, enable: bool) -> void: # This method verifies the node -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify parent supports highlighting var parent := get_parent() if not parent or not parent.has_signal("highlight_updated"): - return "Parent does not support highlighting" + warnings.append("Parent does not support highlighting") - # No issues - return "" + return warnings diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tres b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres index ebe21dac..ce16b222 100644 --- a/addons/godot-xr-tools/objects/highlight/highlight_ring.tres +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://addons/godot-xr-tools/images/ring.png" type="Texture" id=1] +[ext_resource path="res://addons/godot-xr-tools/images/ring.png" type="Texture2D" id=1] [resource] flags_transparent = true diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn index a0e8aae2..5f5b9e3f 100644 --- a/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn +++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn @@ -1,12 +1,12 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://da2qgxxwwitl6"] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tres" type="Material" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" id="1"] +[ext_resource type="Material" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tres" id="2"] -[sub_resource type="QuadMesh" id=1] -size = Vector2( 0.05, 0.05 ) +[sub_resource type="QuadMesh" id="1"] +size = Vector2(0.05, 0.05) -[node name="HighlightRing" type="MeshInstance"] -mesh = SubResource( 1 ) -material/0 = ExtResource( 2 ) -script = ExtResource( 1 ) +[node name="HighlightRing" type="MeshInstance3D"] +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") +script = ExtResource("1") diff --git a/addons/godot-xr-tools/objects/highlight/highlight_visible.gd b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd index 684d73ac..b3f27558 100644 --- a/addons/godot-xr-tools/objects/highlight/highlight_visible.gd +++ b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd @@ -1,21 +1,21 @@ -tool +@tool class_name XRToolsHighlightVisible -extends Spatial +extends Node3D -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsHighlightVisible" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsHighlightVisible" # Called when the node enters the scene tree for the first time. func _ready(): # Turn off until requested - if not Engine.editor_hint: + if not Engine.is_editor_hint(): visible = false # Hook the highlight update - get_parent().connect("highlight_updated", self, "_on_highlight_updated") + get_parent().connect("highlight_updated", _on_highlight_updated) # Called when the pickable highlight changes @@ -24,11 +24,12 @@ func _on_highlight_updated(_pickable, enable: bool) -> void: # This method verifies the node -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify parent supports highlighting var parent := get_parent() if not parent or not parent.has_signal("highlight_updated"): - return "Parent does not support highlighting" + warnings.append("Parent does not support highlighting") - # No issues - return "" + return warnings diff --git a/addons/godot-xr-tools/objects/interactable_area.gd b/addons/godot-xr-tools/objects/interactable_area.gd index 879acbc9..f31c171f 100644 --- a/addons/godot-xr-tools/objects/interactable_area.gd +++ b/addons/godot-xr-tools/objects/interactable_area.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsInteractableArea -extends Area +extends Area3D signal pointer_pressed(at) @@ -10,6 +10,6 @@ signal pointer_entered() signal pointer_exited() -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsInteractableArea" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsInteractableArea" diff --git a/addons/godot-xr-tools/objects/interactable_body.gd b/addons/godot-xr-tools/objects/interactable_body.gd index a6bdee82..21e211d6 100644 --- a/addons/godot-xr-tools/objects/interactable_body.gd +++ b/addons/godot-xr-tools/objects/interactable_body.gd @@ -1,5 +1,6 @@ class_name XRToolsInteractableBody -extends PhysicsBody +extends Node3D +# This should extend from PhysicsBody3D but https://github.com/godotengine/godot/issues/46073 signal pointer_pressed(at) diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key.gd b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd index e5e51f87..70793ddc 100644 --- a/addons/godot-xr-tools/objects/keyboard/virtual_key.gd +++ b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd @@ -2,20 +2,20 @@ extends Button ## Godot scan-code text -export var scan_code_text := "" +@export var scan_code_text := "" ## Unicode character -export var unicode := 0 +@export var unicode := 0 ## Shift modifier -export var shift_modifier := false +@export var shift_modifier := false func _ready(): # Find the VirtualKeyboard parent var keyboard = _get_virtual_keyboard() if keyboard: - connect("button_down", keyboard, "on_key_pressed", [scan_code_text, unicode, shift_modifier]) + button_down.connect(keyboard.on_key_pressed.bind(scan_code_text, unicode, shift_modifier)) # Get our virtual keyboard parent func _get_virtual_keyboard() -> XRToolsVirtualKeyboard2D: diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn b/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn index 6a9497bc..b182fcbc 100644 --- a/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn +++ b/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn @@ -3,8 +3,8 @@ [ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.gd" type="Script" id=1] [node name="VirtualKey" type="Button"] -margin_right = 30.0 -margin_bottom = 25.0 +offset_right = 30.0 +offset_bottom = 25.0 +focus_mode = 0 focus_mode = 0 -enabled_focus_mode = 0 script = ExtResource( 1 ) diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd index ceca39cc..b8af1803 100644 --- a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd +++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsVirtualKeyboard2D extends CanvasLayer @@ -24,23 +24,23 @@ var _alt_down := false var _mode: int = KeyboardMode.LOWER_CASE -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsVirtualKeyboard2D" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsVirtualKeyboard2D" # Handle key pressed from VirtualKey func on_key_pressed(scan_code_text: String, unicode: int, shift: bool): # Find the scan code - var scan_code := OS.find_scancode_from_string(scan_code_text) + var scan_code := OS.find_keycode_from_string(scan_code_text) # Create the InputEventKey var input := InputEventKey.new() - input.physical_scancode = scan_code + input.physical_keycode = scan_code input.unicode = unicode if unicode else scan_code input.pressed = true - input.scancode = scan_code - input.shift = shift + input.keycode = scan_code + input.shift_pressed = shift # Dispatch the input event Input.parse_input_event(input) diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn index 7716249e..53f85748 100644 --- a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn +++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn @@ -1,602 +1,618 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://lauwp8okd1vh"] -[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.tscn" type="PackedScene" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" id="1"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.tscn" id="2"] [node name="VirtualKeyboard2D" type="CanvasLayer"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Background" type="ColorRect" parent="."] -margin_right = 390.0 -margin_bottom = 145.0 -color = Color( 0.12549, 0.12549, 0.12549, 0.752941 ) +offset_right = 390.0 +offset_bottom = 145.0 +color = Color(0.12549, 0.12549, 0.12549, 0.752941) [node name="Standard" type="Control" parent="Background"] -margin_right = 390.0 -margin_bottom = 145.0 +layout_mode = 1 +anchors_preset = 0 +offset_right = 390.0 +offset_bottom = 145.0 -[node name="VirtualKey1" parent="Background/Standard" instance=ExtResource( 2 )] +[node name="VirtualKey1" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 text = "1" scan_code_text = "1" unicode = 49 -[node name="VirtualKey2" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 40.0 -margin_right = 70.0 +[node name="VirtualKey2" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 40.0 +offset_right = 70.0 text = "2" scan_code_text = "2" unicode = 50 -[node name="VirtualKey3" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 80.0 -margin_right = 110.0 +[node name="VirtualKey3" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 80.0 +offset_right = 110.0 text = "3" scan_code_text = "3" unicode = 51 -[node name="VirtualKey4" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 120.0 -margin_right = 150.0 +[node name="VirtualKey4" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 120.0 +offset_right = 150.0 text = "4" scan_code_text = "4" unicode = 52 -[node name="VirtualKey5" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 160.0 -margin_right = 190.0 +[node name="VirtualKey5" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 160.0 +offset_right = 190.0 text = "5" scan_code_text = "5" unicode = 53 -[node name="VirtualKey6" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 200.0 -margin_right = 230.0 +[node name="VirtualKey6" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 200.0 +offset_right = 230.0 text = "6" scan_code_text = "6" unicode = 54 -[node name="VirtualKey7" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 240.0 -margin_right = 270.0 +[node name="VirtualKey7" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 240.0 +offset_right = 270.0 text = "7" scan_code_text = "7" unicode = 55 -[node name="VirtualKey8" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 280.0 -margin_right = 310.0 +[node name="VirtualKey8" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 280.0 +offset_right = 310.0 text = "8" scan_code_text = "8" unicode = 56 -[node name="VirtualKey9" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 320.0 -margin_right = 350.0 +[node name="VirtualKey9" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 320.0 +offset_right = 350.0 text = "9" scan_code_text = "9" unicode = 57 -[node name="VirtualKey0" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 360.0 -margin_right = 390.0 +[node name="VirtualKey0" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 360.0 +offset_right = 390.0 text = "0" scan_code_text = "0" unicode = 48 [node name="ToggleShift" type="Button" parent="Background/Standard"] -margin_top = 90.0 -margin_right = 50.0 -margin_bottom = 115.0 +layout_mode = 0 +offset_top = 90.0 +offset_right = 50.0 +offset_bottom = 115.0 focus_mode = 0 toggle_mode = true -enabled_focus_mode = 0 text = "SHIFT" [node name="ToggleCaps" type="Button" parent="Background/Standard"] -margin_top = 120.0 -margin_right = 45.0 -margin_bottom = 145.0 +layout_mode = 0 +offset_top = 120.0 +offset_right = 45.0 +offset_bottom = 145.0 focus_mode = 0 toggle_mode = true -enabled_focus_mode = 0 text = "CAPS" [node name="ToggleAlt" type="Button" parent="Background/Standard"] -margin_left = 55.0 -margin_top = 120.0 -margin_right = 90.0 -margin_bottom = 145.0 +layout_mode = 0 +offset_left = 55.0 +offset_top = 120.0 +offset_right = 90.0 +offset_bottom = 145.0 focus_mode = 0 toggle_mode = true -enabled_focus_mode = 0 text = "ALT" -[node name="VirtualKeyBackspace" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 340.0 -margin_top = 90.0 -margin_right = 390.0 -margin_bottom = 115.0 +[node name="VirtualKeyBackspace" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 340.0 +offset_top = 90.0 +offset_right = 390.0 +offset_bottom = 115.0 text = "BKSP" scan_code_text = "BackSpace" -[node name="VirtualKeySpace" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 120.0 -margin_right = 290.0 -margin_bottom = 145.0 +[node name="VirtualKeySpace" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 100.0 +offset_top = 120.0 +offset_right = 290.0 +offset_bottom = 145.0 text = "Space" scan_code_text = "Space" unicode = 32 -[node name="VirtualKeyPeriod" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 120.0 -margin_right = 330.0 -margin_bottom = 145.0 +[node name="VirtualKeyPeriod" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 300.0 +offset_top = 120.0 +offset_right = 330.0 +offset_bottom = 145.0 text = "." scan_code_text = "Period" unicode = 46 -[node name="VirtualKeyEnter" parent="Background/Standard" instance=ExtResource( 2 )] -margin_left = 340.0 -margin_top = 120.0 -margin_right = 390.0 -margin_bottom = 145.0 +[node name="VirtualKeyEnter" parent="Background/Standard" instance=ExtResource("2")] +layout_mode = 0 +offset_left = 340.0 +offset_top = 120.0 +offset_right = 390.0 +offset_bottom = 145.0 text = "Enter" scan_code_text = "Enter" [node name="LowerCase" type="Node2D" parent="Background"] -position = Vector2( 0, 30 ) +position = Vector2(0, 30) -[node name="VirtualKeyLowerQ" parent="Background/LowerCase" instance=ExtResource( 2 )] +[node name="VirtualKeyLowerQ" parent="Background/LowerCase" instance=ExtResource("2")] text = "q" scan_code_text = "Q" unicode = 113 -[node name="VirtualKeyLowerW" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 40.0 -margin_right = 70.0 +[node name="VirtualKeyLowerW" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 40.0 +offset_right = 70.0 text = "w" scan_code_text = "W" unicode = 119 -[node name="VirtualKeyLowerE" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 80.0 -margin_right = 110.0 +[node name="VirtualKeyLowerE" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 80.0 +offset_right = 110.0 text = "e" scan_code_text = "E" unicode = 101 -[node name="VirtualKeyLowerR" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 120.0 -margin_right = 150.0 +[node name="VirtualKeyLowerR" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 120.0 +offset_right = 150.0 text = "r" scan_code_text = "R" unicode = 114 -[node name="VirtualKeyLowerT" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 160.0 -margin_right = 190.0 +[node name="VirtualKeyLowerT" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 160.0 +offset_right = 190.0 text = "t" scan_code_text = "T" unicode = 116 -[node name="VirtualKeyLowerY" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 200.0 -margin_right = 230.0 +[node name="VirtualKeyLowerY" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 200.0 +offset_right = 230.0 text = "y" scan_code_text = "Y" unicode = 121 -[node name="VirtualKeyLowerU" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 240.0 -margin_right = 270.0 +[node name="VirtualKeyLowerU" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 240.0 +offset_right = 270.0 text = "u" scan_code_text = "U" unicode = 117 -[node name="VirtualKeyLowerI" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 280.0 -margin_right = 310.0 +[node name="VirtualKeyLowerI" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 280.0 +offset_right = 310.0 text = "i" scan_code_text = "I" unicode = 105 -[node name="VirtualKeyLowerO" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 320.0 -margin_right = 350.0 +[node name="VirtualKeyLowerO" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 320.0 +offset_right = 350.0 text = "o" scan_code_text = "O" unicode = 111 -[node name="VirtualKeyLowerP" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 360.0 -margin_right = 390.0 +[node name="VirtualKeyLowerP" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 360.0 +offset_right = 390.0 text = "p" scan_code_text = "P" unicode = 112 -[node name="VirtualKeyLowerA" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 20.0 -margin_top = 30.0 -margin_right = 50.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerA" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 20.0 +offset_top = 30.0 +offset_right = 50.0 +offset_bottom = 55.0 text = "a" scan_code_text = "A" unicode = 97 -[node name="VirtualKeyLowerS" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 30.0 -margin_right = 90.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerS" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 30.0 +offset_right = 90.0 +offset_bottom = 55.0 text = "s" scan_code_text = "S" unicode = 115 -[node name="VirtualKeyLowerD" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 30.0 -margin_right = 130.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerD" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 30.0 +offset_right = 130.0 +offset_bottom = 55.0 text = "d" scan_code_text = "D" unicode = 100 -[node name="VirtualKeyLowerF" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 30.0 -margin_right = 170.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerF" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 30.0 +offset_right = 170.0 +offset_bottom = 55.0 text = "f" scan_code_text = "F" unicode = 102 -[node name="VirtualKeyLowerG" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 30.0 -margin_right = 210.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerG" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 30.0 +offset_right = 210.0 +offset_bottom = 55.0 text = "g" scan_code_text = "G" unicode = 103 -[node name="VirtualKeyLowerH" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 30.0 -margin_right = 250.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerH" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 30.0 +offset_right = 250.0 +offset_bottom = 55.0 text = "h" scan_code_text = "H" unicode = 104 -[node name="VirtualKeyLowerJ" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 30.0 -margin_right = 290.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerJ" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 30.0 +offset_right = 290.0 +offset_bottom = 55.0 text = "j" scan_code_text = "J" unicode = 106 -[node name="VirtualKeyLowerK" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 30.0 -margin_right = 330.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerK" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 30.0 +offset_right = 330.0 +offset_bottom = 55.0 text = "k" scan_code_text = "K" unicode = 107 -[node name="VirtualKeyLowerL" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 340.0 -margin_top = 30.0 -margin_right = 370.0 -margin_bottom = 55.0 +[node name="VirtualKeyLowerL" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 340.0 +offset_top = 30.0 +offset_right = 370.0 +offset_bottom = 55.0 text = "l" scan_code_text = "L" unicode = 108 -[node name="VirtualKeyLowerZ" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 60.0 -margin_right = 90.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerZ" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 60.0 +offset_right = 90.0 +offset_bottom = 85.0 text = "z" scan_code_text = "Z" unicode = 122 -[node name="VirtualKeyLowerX" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 60.0 -margin_right = 130.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerX" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 60.0 +offset_right = 130.0 +offset_bottom = 85.0 text = "x" scan_code_text = "X" unicode = 120 -[node name="VirtualKeyLowerC" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 60.0 -margin_right = 170.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerC" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 60.0 +offset_right = 170.0 +offset_bottom = 85.0 text = "c" scan_code_text = "C" unicode = 99 -[node name="VirtualKeyLowerV" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 60.0 -margin_right = 210.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerV" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 60.0 +offset_right = 210.0 +offset_bottom = 85.0 text = "v" scan_code_text = "V" unicode = 118 -[node name="VirtualKeyLowerB" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 60.0 -margin_right = 250.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerB" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 60.0 +offset_right = 250.0 +offset_bottom = 85.0 text = "b" scan_code_text = "B" unicode = 98 -[node name="VirtualKeyLowerN" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 60.0 -margin_right = 290.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerN" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 60.0 +offset_right = 290.0 +offset_bottom = 85.0 text = "n" scan_code_text = "N" unicode = 110 -[node name="VirtualKeyLowerM" parent="Background/LowerCase" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 60.0 -margin_right = 330.0 -margin_bottom = 85.0 +[node name="VirtualKeyLowerM" parent="Background/LowerCase" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 60.0 +offset_right = 330.0 +offset_bottom = 85.0 text = "m" scan_code_text = "M" unicode = 109 [node name="UpperCase" type="Node2D" parent="Background"] visible = false -position = Vector2( 0, 30 ) +position = Vector2(0, 30) -[node name="VirtualKeyUpperQ" parent="Background/UpperCase" instance=ExtResource( 2 )] +[node name="VirtualKeyUpperQ" parent="Background/UpperCase" instance=ExtResource("2")] text = "Q" scan_code_text = "Q" unicode = 81 shift_modifier = true -[node name="VirtualKeyUpperW" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 40.0 -margin_right = 70.0 +[node name="VirtualKeyUpperW" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 40.0 +offset_right = 70.0 text = "W" scan_code_text = "W" unicode = 87 shift_modifier = true -[node name="VirtualKeyUpperE" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 80.0 -margin_right = 110.0 +[node name="VirtualKeyUpperE" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 80.0 +offset_right = 110.0 text = "E" scan_code_text = "E" unicode = 69 shift_modifier = true -[node name="VirtualKeyUpperR" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 120.0 -margin_right = 150.0 +[node name="VirtualKeyUpperR" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 120.0 +offset_right = 150.0 text = "R" scan_code_text = "R" unicode = 82 shift_modifier = true -[node name="VirtualKeyUpperT" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 160.0 -margin_right = 190.0 +[node name="VirtualKeyUpperT" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 160.0 +offset_right = 190.0 text = "T" scan_code_text = "T" unicode = 84 shift_modifier = true -[node name="VirtualKeyUpperY" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 200.0 -margin_right = 230.0 +[node name="VirtualKeyUpperY" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 200.0 +offset_right = 230.0 text = "Y" scan_code_text = "Y" unicode = 89 shift_modifier = true -[node name="VirtualKeyUpperU" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 240.0 -margin_right = 270.0 +[node name="VirtualKeyUpperU" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 240.0 +offset_right = 270.0 text = "U" scan_code_text = "U" unicode = 85 shift_modifier = true -[node name="VirtualKeyUpperI" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 280.0 -margin_right = 310.0 +[node name="VirtualKeyUpperI" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 280.0 +offset_right = 310.0 text = "I" scan_code_text = "I" unicode = 73 shift_modifier = true -[node name="VirtualKeyUpperO" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 320.0 -margin_right = 350.0 +[node name="VirtualKeyUpperO" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 320.0 +offset_right = 350.0 text = "O" scan_code_text = "O" unicode = 79 shift_modifier = true -[node name="VirtualKeyUpperP" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 360.0 -margin_right = 390.0 +[node name="VirtualKeyUpperP" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 360.0 +offset_right = 390.0 text = "P" scan_code_text = "P" unicode = 80 shift_modifier = true -[node name="VirtualKeyUpperA" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 20.0 -margin_top = 30.0 -margin_right = 50.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperA" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 20.0 +offset_top = 30.0 +offset_right = 50.0 +offset_bottom = 55.0 text = "A" scan_code_text = "A" unicode = 65 shift_modifier = true -[node name="VirtualKeyUpperS" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 30.0 -margin_right = 90.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperS" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 30.0 +offset_right = 90.0 +offset_bottom = 55.0 text = "S" scan_code_text = "S" unicode = 83 shift_modifier = true -[node name="VirtualKeyUpperD" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 30.0 -margin_right = 130.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperD" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 30.0 +offset_right = 130.0 +offset_bottom = 55.0 text = "D" scan_code_text = "D" unicode = 68 shift_modifier = true -[node name="VirtualKeyUpperF" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 30.0 -margin_right = 170.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperF" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 30.0 +offset_right = 170.0 +offset_bottom = 55.0 text = "F" scan_code_text = "F" unicode = 70 shift_modifier = true -[node name="VirtualKeyUpperG" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 30.0 -margin_right = 210.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperG" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 30.0 +offset_right = 210.0 +offset_bottom = 55.0 text = "G" scan_code_text = "G" unicode = 71 shift_modifier = true -[node name="VirtualKeyUpperH" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 30.0 -margin_right = 250.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperH" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 30.0 +offset_right = 250.0 +offset_bottom = 55.0 text = "H" scan_code_text = "H" unicode = 72 shift_modifier = true -[node name="VirtualKeyUpperJ" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 30.0 -margin_right = 290.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperJ" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 30.0 +offset_right = 290.0 +offset_bottom = 55.0 text = "J" scan_code_text = "J" unicode = 74 shift_modifier = true -[node name="VirtualKeyUpperK" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 30.0 -margin_right = 330.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperK" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 30.0 +offset_right = 330.0 +offset_bottom = 55.0 text = "K" scan_code_text = "K" unicode = 75 shift_modifier = true -[node name="VirtualKeyUpperL" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 340.0 -margin_top = 30.0 -margin_right = 370.0 -margin_bottom = 55.0 +[node name="VirtualKeyUpperL" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 340.0 +offset_top = 30.0 +offset_right = 370.0 +offset_bottom = 55.0 text = "L" scan_code_text = "L" unicode = 76 shift_modifier = true -[node name="VirtualKeyUpperZ" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 60.0 -margin_right = 90.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperZ" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 60.0 +offset_right = 90.0 +offset_bottom = 85.0 text = "Z" scan_code_text = "Z" unicode = 90 shift_modifier = true -[node name="VirtualKeyUpperX" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 60.0 -margin_right = 130.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperX" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 60.0 +offset_right = 130.0 +offset_bottom = 85.0 text = "X" scan_code_text = "X" unicode = 88 shift_modifier = true -[node name="VirtualKeyUpperC" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 60.0 -margin_right = 170.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperC" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 60.0 +offset_right = 170.0 +offset_bottom = 85.0 text = "C" scan_code_text = "C" unicode = 67 shift_modifier = true -[node name="VirtualKeyUpperV" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 60.0 -margin_right = 210.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperV" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 60.0 +offset_right = 210.0 +offset_bottom = 85.0 text = "V" scan_code_text = "V" unicode = 86 shift_modifier = true -[node name="VirtualKeyUpperB" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 60.0 -margin_right = 250.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperB" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 60.0 +offset_right = 250.0 +offset_bottom = 85.0 text = "B" scan_code_text = "B" unicode = 66 shift_modifier = true -[node name="VirtualKeyUpperN" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 60.0 -margin_right = 290.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperN" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 60.0 +offset_right = 290.0 +offset_bottom = 85.0 text = "N" scan_code_text = "N" unicode = 78 shift_modifier = true -[node name="VirtualKeyUpperM" parent="Background/UpperCase" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 60.0 -margin_right = 330.0 -margin_bottom = 85.0 +[node name="VirtualKeyUpperM" parent="Background/UpperCase" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 60.0 +offset_right = 330.0 +offset_bottom = 85.0 text = "M" scan_code_text = "M" unicode = 77 @@ -604,218 +620,218 @@ shift_modifier = true [node name="Alternate" type="Node2D" parent="Background"] visible = false -position = Vector2( 0, 30 ) +position = Vector2(0, 30) -[node name="VirtualKeyPlus" parent="Background/Alternate" instance=ExtResource( 2 )] +[node name="VirtualKeyPlus" parent="Background/Alternate" instance=ExtResource("2")] text = "+" scan_code_text = "Plus" unicode = 43 -[node name="VirtualKeyAsterisk" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 40.0 -margin_right = 70.0 +[node name="VirtualKeyAsterisk" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 40.0 +offset_right = 70.0 text = "*" scan_code_text = "Asterisk" unicode = 42 -[node name="VirtualKeyDivision" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 80.0 -margin_right = 110.0 +[node name="VirtualKeyDivision" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 80.0 +offset_right = 110.0 text = "÷" scan_code_text = "Division" unicode = 247 -[node name="VirtualKeyEqual" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 120.0 -margin_right = 150.0 +[node name="VirtualKeyEqual" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 120.0 +offset_right = 150.0 text = "=" scan_code_text = "Equal" unicode = 61 -[node name="VirtualKeySlash" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 160.0 -margin_right = 190.0 +[node name="VirtualKeySlash" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 160.0 +offset_right = 190.0 text = "/" scan_code_text = "Slash" unicode = 47 -[node name="VirtualKeyUnderScore" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 200.0 -margin_right = 230.0 +[node name="VirtualKeyUnderScore" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 200.0 +offset_right = 230.0 text = "_" scan_code_text = "UnderScore" unicode = 95 -[node name="VirtualKeyLess" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 240.0 -margin_right = 270.0 +[node name="VirtualKeyLess" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 240.0 +offset_right = 270.0 text = "<" scan_code_text = "Less" unicode = 60 shift_modifier = true -[node name="VirtualKeyGreater" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 280.0 -margin_right = 310.0 +[node name="VirtualKeyGreater" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 280.0 +offset_right = 310.0 text = ">" scan_code_text = "Greater" unicode = 62 -[node name="VirtualKeyBracketLeft" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 320.0 -margin_right = 350.0 +[node name="VirtualKeyBracketLeft" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 320.0 +offset_right = 350.0 text = "[" scan_code_text = "BracketLeft" unicode = 91 shift_modifier = true -[node name="VirtualKeyBracketRight" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 360.0 -margin_right = 390.0 +[node name="VirtualKeyBracketRight" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 360.0 +offset_right = 390.0 text = "]" scan_code_text = "BracketRight" unicode = 93 -[node name="VirtualKeyExclam" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 20.0 -margin_top = 30.0 -margin_right = 50.0 -margin_bottom = 55.0 +[node name="VirtualKeyExclam" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 20.0 +offset_top = 30.0 +offset_right = 50.0 +offset_bottom = 55.0 text = "!" scan_code_text = "Exclam" unicode = 33 -[node name="VirtualKeyAt" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 30.0 -margin_right = 90.0 -margin_bottom = 55.0 +[node name="VirtualKeyAt" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 30.0 +offset_right = 90.0 +offset_bottom = 55.0 text = "@" scan_code_text = "At" unicode = 64 -[node name="VirtualKeyNumberSign" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 30.0 -margin_right = 130.0 -margin_bottom = 55.0 +[node name="VirtualKeyNumberSign" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 30.0 +offset_right = 130.0 +offset_bottom = 55.0 text = "#" scan_code_text = "NumberSign" unicode = 35 -[node name="VirtualKeyDollar" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 30.0 -margin_right = 170.0 -margin_bottom = 55.0 +[node name="VirtualKeyDollar" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 30.0 +offset_right = 170.0 +offset_bottom = 55.0 text = "$" scan_code_text = "Dollar" unicode = 36 -[node name="VirtualKeyPercent" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 30.0 -margin_right = 210.0 -margin_bottom = 55.0 +[node name="VirtualKeyPercent" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 30.0 +offset_right = 210.0 +offset_bottom = 55.0 text = "%" scan_code_text = "Percent" unicode = 37 -[node name="VirtualKeyCircumflex" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 30.0 -margin_right = 250.0 -margin_bottom = 55.0 +[node name="VirtualKeyCircumflex" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 30.0 +offset_right = 250.0 +offset_bottom = 55.0 text = "^" scan_code_text = "AsciiCircum" unicode = 94 -[node name="VirtualKeyAmpersand" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 30.0 -margin_right = 290.0 -margin_bottom = 55.0 +[node name="VirtualKeyAmpersand" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 30.0 +offset_right = 290.0 +offset_bottom = 55.0 text = "&" scan_code_text = "Ampersand" unicode = 38 -[node name="VirtualKeyParenLeft" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 30.0 -margin_right = 330.0 -margin_bottom = 55.0 +[node name="VirtualKeyParenLeft" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 30.0 +offset_right = 330.0 +offset_bottom = 55.0 text = "(" scan_code_text = "ParenLeft" unicode = 40 -[node name="VirtualKeyParenRight" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 340.0 -margin_top = 30.0 -margin_right = 370.0 -margin_bottom = 55.0 +[node name="VirtualKeyParenRight" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 340.0 +offset_top = 30.0 +offset_right = 370.0 +offset_bottom = 55.0 text = ")" scan_code_text = "ParenRight" unicode = 41 -[node name="VirtualKeyMinus" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 60.0 -margin_top = 60.0 -margin_right = 90.0 -margin_bottom = 85.0 +[node name="VirtualKeyMinus" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 60.0 +offset_top = 60.0 +offset_right = 90.0 +offset_bottom = 85.0 text = "-" scan_code_text = "Minus" unicode = 45 -[node name="VirtualKeyApostrophe" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 100.0 -margin_top = 60.0 -margin_right = 130.0 -margin_bottom = 85.0 +[node name="VirtualKeyApostrophe" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 100.0 +offset_top = 60.0 +offset_right = 130.0 +offset_bottom = 85.0 text = "'" scan_code_text = "Apostrophe" unicode = 39 -[node name="VirtualKeyQuoteDbl" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 140.0 -margin_top = 60.0 -margin_right = 170.0 -margin_bottom = 85.0 +[node name="VirtualKeyQuoteDbl" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 140.0 +offset_top = 60.0 +offset_right = 170.0 +offset_bottom = 85.0 text = "\"" scan_code_text = "QuoteDbl" unicode = 34 -[node name="VirtualKeyColon" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 180.0 -margin_top = 60.0 -margin_right = 210.0 -margin_bottom = 85.0 +[node name="VirtualKeyColon" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 180.0 +offset_top = 60.0 +offset_right = 210.0 +offset_bottom = 85.0 text = ":" scan_code_text = "Colon" unicode = 58 -[node name="VirtualKeySemicolon" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 220.0 -margin_top = 60.0 -margin_right = 250.0 -margin_bottom = 85.0 +[node name="VirtualKeySemicolon" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 220.0 +offset_top = 60.0 +offset_right = 250.0 +offset_bottom = 85.0 text = ";" scan_code_text = "Semicolon" unicode = 59 -[node name="VirtualKeyComma" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 260.0 -margin_top = 60.0 -margin_right = 290.0 -margin_bottom = 85.0 +[node name="VirtualKeyComma" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 260.0 +offset_top = 60.0 +offset_right = 290.0 +offset_bottom = 85.0 text = "," scan_code_text = "Comma" unicode = 44 -[node name="VirtualKeyQuestion" parent="Background/Alternate" instance=ExtResource( 2 )] -margin_left = 300.0 -margin_top = 60.0 -margin_right = 330.0 -margin_bottom = 85.0 +[node name="VirtualKeyQuestion" parent="Background/Alternate" instance=ExtResource("2")] +offset_left = 300.0 +offset_top = 60.0 +offset_right = 330.0 +offset_bottom = 85.0 text = "?" scan_code_text = "Question" unicode = 63 diff --git a/addons/godot-xr-tools/objects/pickable.gd b/addons/godot-xr-tools/objects/pickable.gd index 846f1468..fe5f9ba8 100644 --- a/addons/godot-xr-tools/objects/pickable.gd +++ b/addons/godot-xr-tools/objects/pickable.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsPickable -extends RigidBody +extends RigidBody3D ## XR Tools Pickable Object @@ -50,8 +50,8 @@ enum PickableState { enum ReleaseMode { ORIGINAL = -1, ## Preserve original mode when picked up - RIGID = 0, ## Release and make rigid (MODE_RIGID) - STATIC = 1, ## Release and make static (MODE_STATIC) + UNFROZEN = 0, ## Release and unfreeze + FROZEN = 1, ## Release and freeze } @@ -63,44 +63,44 @@ const GRIP_POSE_PRIORITY = 100 ## If true, the pickable supports being picked up -export var enabled : bool = true +@export var enabled : bool = true ## If true, the grip control must be held to keep the object picked up -export var press_to_hold : bool = true +@export var press_to_hold : bool = true ## Layer for this object while picked up -export (int, LAYERS_3D_PHYSICS) var picked_up_layer = DEFAULT_LAYER +@export_flags_3d_physics var picked_up_layer = DEFAULT_LAYER ## Method used to hold an object -export (HoldMethod) var hold_method = HoldMethod.REMOTE_TRANSFORM +@export var hold_method : HoldMethod = HoldMethod.REMOTE_TRANSFORM ## Release mode to use when releasing the object -export (ReleaseMode) var release_mode : int = ReleaseMode.ORIGINAL +@export var release_mode : ReleaseMode = ReleaseMode.ORIGINAL ## Method used to perform a ranged grab -export (RangedMethod) var ranged_grab_method = RangedMethod.SNAP setget _set_ranged_grab_method +@export var ranged_grab_method : RangedMethod = RangedMethod.SNAP: set = _set_ranged_grab_method ## Speed for ranged grab -export var ranged_grab_speed : float = 20.0 +@export var ranged_grab_speed : float = 20.0 ## Refuse pick-by when in the specified group -export var picked_by_exclude : String = "" +@export var picked_by_exclude : String = "" ## Require pick-by to be in the specified group -export var picked_by_require : String = "" +@export var picked_by_require : String = "" ## If true, the object can be picked up at range var can_ranged_grab: bool = true -## Original RigidBody mode -var original_mode +## Frozen state to restore to when dropped +var restore_freeze : bool = false ## Entity holding this item -var picked_up_by: Spatial = null +var picked_up_by: Node3D = null ## Controller holding this item (may be null if held by snap-zone) -var by_controller : ARVRController = null +var by_controller : XRController3D = null ## Hand holding this item (may be null if held by snap-zone) var by_hand : XRToolsHand = null @@ -112,7 +112,7 @@ var _closest_count: int = 0 var _state = PickableState.IDLE # Remote transform -var _remote_transform: RemoteTransform = null +var _remote_transform: RemoteTransform3D = null # Move-to node for performing remote grab var _move_to: XRToolsMoveTo = null @@ -125,14 +125,14 @@ var _active_grab_point : XRToolsGrabPoint # Remember some state so we can return to it when the user drops the object -onready var original_parent = get_parent() -onready var original_collision_mask : int = collision_mask -onready var original_collision_layer : int = collision_layer +@onready var original_parent = get_parent() +@onready var original_collision_mask : int = collision_mask +@onready var original_collision_layer : int = collision_layer -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsPickable" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPickable" # Called when the node enters the scene tree for the first time. @@ -145,7 +145,7 @@ func _ready(): # Test if this object can be picked up -func can_pick_up(_by: Spatial) -> bool: +func can_pick_up(_by: Node3D) -> bool: return enabled and _state == PickableState.IDLE @@ -190,7 +190,7 @@ func drop_and_free(): # Called when this object is picked up -func pick_up(by: Spatial, with_controller: ARVRController) -> void: +func pick_up(by: Node3D, with_controller: XRController3D) -> void: # Skip if disabled or already picked up if not enabled or _state != PickableState.IDLE: return @@ -212,10 +212,18 @@ func pick_up(by: Spatial, with_controller: ARVRController) -> void: by_hand.add_pose_override(self, GRIP_POSE_PRIORITY, grab_point_hand.hand_pose) # Remember the mode before pickup - original_mode = mode if release_mode == ReleaseMode.ORIGINAL else release_mode + match release_mode: + ReleaseMode.UNFROZEN: + restore_freeze = false + + ReleaseMode.FROZEN: + restore_freeze = true + + _: + restore_freeze = freeze # turn off physics on our pickable object - mode = RigidBody.MODE_STATIC + freeze = true collision_layer = picked_up_layer collision_mask = 0 @@ -251,7 +259,7 @@ func let_go(p_linear_velocity: Vector3, p_angular_velocity: Vector3) -> void: _remote_transform = null # Restore RigidBody mode - mode = original_mode + freeze = restore_freeze collision_mask = original_collision_mask collision_layer = original_collision_layer @@ -281,7 +289,7 @@ func let_go(p_linear_velocity: Vector3, p_angular_velocity: Vector3) -> void: ## Get the controller currently holding this object -func get_picked_up_by_controller() -> ARVRController: +func get_picked_up_by_controller() -> XRController3D: return by_controller @@ -328,18 +336,18 @@ func _start_ranged_grab() -> void: _state = PickableState.GRABBING_RANGED # Calculate the transform offset - var offset : Transform + var offset : Transform3D if _active_grab_point: offset = _active_grab_point.transform.inverse() else: - offset = Transform.IDENTITY + offset = Transform3D.IDENTITY # Create a XRToolsMoveTo to perform the remote-grab. The remote grab will move # us to the pickup object at the ranged-grab speed, and also takes into account # the center-pickup position _move_to = XRToolsMoveTo.new() _move_to.start(self, picked_up_by, offset, ranged_grab_speed) - _move_to.connect("move_complete", self, "_ranged_grab_complete") + _move_to.move_complete.connect(_ranged_grab_complete) self.add_child(_move_to) @@ -360,14 +368,14 @@ func _do_snap_grab() -> void: match hold_method: HoldMethod.REMOTE_TRANSFORM: # Calculate the snap transform for remote-transforming - var snap_transform: Transform + var snap_transform: Transform3D if _active_grab_point: snap_transform = _active_grab_point.transform.inverse() else: - snap_transform = Transform.IDENTITY + snap_transform = Transform3D.IDENTITY # Construct the remote transform - _remote_transform = RemoteTransform.new() + _remote_transform = RemoteTransform3D.new() _remote_transform.set_name("PickupRemoteTransform") picked_up_by.add_child(_remote_transform) _remote_transform.transform = snap_transform @@ -375,11 +383,11 @@ func _do_snap_grab() -> void: HoldMethod.REPARENT: # Calculate the snap transform for reparenting - var snap_transform: Transform + var snap_transform: Transform3D if _active_grab_point: snap_transform = _active_grab_point.global_transform.inverse() * global_transform else: - snap_transform = Transform.IDENTITY + snap_transform = Transform3D.IDENTITY # Reparent to the holder with snap transform original_parent.remove_child(self) @@ -401,7 +409,7 @@ func _do_precise_grab() -> void: var precise_transform = picked_up_by.global_transform.inverse() * global_transform # Construct the remote transform - _remote_transform = RemoteTransform.new() + _remote_transform = RemoteTransform3D.new() _remote_transform.set_name("PickupRemoteTransform") picked_up_by.add_child(_remote_transform) _remote_transform.transform = picked_up_by.global_transform.inverse() * global_transform diff --git a/addons/godot-xr-tools/objects/pickable.tscn b/addons/godot-xr-tools/objects/pickable.tscn index 8bc4a9a2..6f34320a 100644 --- a/addons/godot-xr-tools/objects/pickable.tscn +++ b/addons/godot-xr-tools/objects/pickable.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://c8l60rnugru40"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1"] -[node name="Pickable" type="RigidBody"] +[node name="PickableObject" type="RigidBody3D"] collision_layer = 4 collision_mask = 196615 -script = ExtResource( 1 ) +freeze_mode = 1 +script = ExtResource("1") -[node name="CollisionShape" type="CollisionShape" parent="."] +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/objects/return_to_snap_zone.gd b/addons/godot-xr-tools/objects/return_to_snap_zone.gd index a3bc1baf..b708d559 100644 --- a/addons/godot-xr-tools/objects/return_to_snap_zone.gd +++ b/addons/godot-xr-tools/objects/return_to_snap_zone.gd @@ -1,5 +1,6 @@ -tool -class_name XRToolsReturnToSnapZone, "res://addons/godot-xr-tools/editor/icons/hand.svg" +@tool +@icon("res://addons/godot-xr-tools/editor/icons/hand.svg") +class_name XRToolsReturnToSnapZone extends Node @@ -10,10 +11,10 @@ extends Node ## Snap zone path -export var snap_zone_path : NodePath +@export var snap_zone_path : NodePath ## Return delay -export var return_delay : float = 1.0 +@export var return_delay : float = 1.0 # Pickable object to control @@ -29,9 +30,9 @@ var _return_counter : float = 0.0 var _held := false -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsReturnToSnapZone" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsReturnToSnapZone" # Called when the node enters the scene tree for the first time. @@ -39,8 +40,8 @@ func _ready() -> void: # Get the pickable (parent of this node) _pickable = get_parent() as XRToolsPickable if _pickable: - _pickable.connect("picked_up", self, "_on_picked_up") - _pickable.connect("dropped", self, "_on_dropped") + _pickable.picked_up.connect(_on_picked_up) + _pickable.dropped.connect(_on_dropped) # Get the optional snap-zone _snap_zone = get_node_or_null(snap_zone_path) @@ -95,10 +96,12 @@ func _on_dropped(_pickable) -> void: # This method verifies the pose area has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify this node is a child of a pickable if not get_parent() is XRToolsPickable: - return "Must be a child of a pickable" + warnings.append("Must be a child of a pickable") - # Pass basic validation - return "" + # Return warnings + return warnings diff --git a/addons/godot-xr-tools/objects/snap_zone.gd b/addons/godot-xr-tools/objects/snap_zone.gd index 05d48d10..d3493425 100644 --- a/addons/godot-xr-tools/objects/snap_zone.gd +++ b/addons/godot-xr-tools/objects/snap_zone.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsSnapZone -extends Area +extends Area3D ## Signal emitted when the snap-zone picks something up @@ -24,33 +24,33 @@ enum SnapMode { ## Enable or disable snap-zone -export var enabled : bool = true +@export var enabled : bool = true ## Grab distance -export var grab_distance : float = 0.3 setget _set_grab_distance +@export var grab_distance : float = 0.3: set = _set_grab_distance ## Snap mode -export (SnapMode) var snap_mode : int = SnapMode.DROPPED setget _set_snap_mode +@export var snap_mode : SnapMode = SnapMode.DROPPED: set = _set_snap_mode ## Require snap items to be in specified group -export var snap_require : String = "" +@export var snap_require : String = "" ## Deny snapping items in the specified group -export var snap_exclude : String = "" +@export var snap_exclude : String = "" ## Require grab-by to be in the specified group -export var grab_require : String = "" +@export var grab_require : String = "" ## Deny grab-by -export var grab_exclude : String= "" +@export var grab_exclude : String= "" ## Initial object in snap zone -export var initial_object : NodePath +@export var initial_object : NodePath # Public fields -var closest_object : Spatial = null -var picked_up_object : Spatial = null +var closest_object : Node3D = null +var picked_up_object : Node3D = null var picked_up_ranged : bool = true @@ -58,14 +58,14 @@ var picked_up_ranged : bool = true var _object_in_grab_area = Array() -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsSnapZone" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsSnapZone" func _ready(): # Set collision shape radius - $CollisionShape.shape.radius = grab_distance + $CollisionShape3D.shape.radius = grab_distance # Perform updates _update_snap_mode() @@ -100,7 +100,7 @@ func _process(_delta): # Pickable Method: snap-zone can be grabbed if holding object -func can_pick_up(by: Spatial) -> bool: +func can_pick_up(by: Node3D) -> bool: # Refuse if not enabled if not enabled: return false @@ -110,11 +110,11 @@ func can_pick_up(by: Spatial) -> bool: return false # Refuse if the grab-by is not in the required group - if not grab_require.empty() and not by.is_in_group(grab_require): + if not grab_require.is_empty() and not by.is_in_group(grab_require): return false # Refuse if the grab-by is in the excluded group - if not grab_exclude.empty() and by.is_in_group(grab_exclude): + if not grab_exclude.is_empty() and by.is_in_group(grab_exclude): return false # Grab is permitted @@ -142,7 +142,7 @@ func decrease_is_closest(): # Pickable Method: Object being grabbed from this snap zone -func pick_up(_by: Spatial, _with_controller: ARVRController) -> void: +func pick_up(_by: Node3D, _with_controller: XRController3D) -> void: pass @@ -175,7 +175,7 @@ func _initial_object_check() -> void: # Called when a body enters the snap zone -func _on_snap_zone_body_entered(target: Spatial) -> void: +func _on_snap_zone_body_entered(target: Node3D) -> void: # Ignore objects already known about if _object_in_grab_area.find(target) >= 0: return @@ -185,11 +185,11 @@ func _on_snap_zone_body_entered(target: Spatial) -> void: return # Reject objects not in the required snap group - if not snap_require.empty() and not target.is_in_group(snap_require): + if not snap_require.is_empty() and not target.is_in_group(snap_require): return # Reject objects in the excluded snap group - if not snap_exclude.empty() and target.is_in_group(snap_exclude): + if not snap_exclude.is_empty() and target.is_in_group(snap_exclude): return # Reject climbable objects @@ -202,7 +202,7 @@ func _on_snap_zone_body_entered(target: Spatial) -> void: # If this snap zone is configured to snap objects that are dropped, then # start listening for the objects dropped signal if snap_mode == SnapMode.DROPPED and target.has_signal("dropped"): - target.connect("dropped", self, "_on_target_dropped", [], CONNECT_DEFERRED) + target.connect("dropped", _on_target_dropped, CONNECT_DEFERRED) # Show highlight when something could be snapped if not is_instance_valid(picked_up_object): @@ -210,16 +210,16 @@ func _on_snap_zone_body_entered(target: Spatial) -> void: # Called when a body leaves the snap zone -func _on_snap_zone_body_exited(target: Spatial) -> void: +func _on_snap_zone_body_exited(target: Node3D) -> void: # Ensure the object is not in our list _object_in_grab_area.erase(target) # Stop listening for dropped signals - if target.has_signal("dropped") and target.is_connected("dropped", self, "_on_target_dropped"): - target.disconnect("dropped", self, "_on_target_dropped") + if target.has_signal("dropped") and target.is_connected("dropped", _on_target_dropped): + target.disconnect("dropped", _on_target_dropped) # Hide highlight when nothing could be snapped - if _object_in_grab_area.empty(): + if _object_in_grab_area.is_empty(): emit_signal("close_highlight_updated", self, false) @@ -229,7 +229,7 @@ func has_snapped_object() -> bool: # Pick up the specified object -func pick_up_object(target: Spatial) -> void: +func pick_up_object(target: Node3D) -> void: # check if already holding an object if is_instance_valid(picked_up_object): # skip if holding the target object @@ -255,12 +255,12 @@ func pick_up_object(target: Spatial) -> void: # Called when the grab distance has been modified func _set_grab_distance(new_value: float) -> void: grab_distance = new_value - if is_inside_tree() and $CollisionShape: - $CollisionShape.shape.radius = grab_distance + if is_inside_tree() and $CollisionShape3D: + $CollisionShape3D.shape.radius = grab_distance # Called when the snap mode property has been modified -func _set_snap_mode(new_value: int) -> void: +func _set_snap_mode(new_value: SnapMode) -> void: snap_mode = new_value if is_inside_tree(): _update_snap_mode() @@ -275,7 +275,7 @@ func _update_snap_mode() -> void: # Start monitoring all objects in range for drop for o in _object_in_grab_area: - o.connect("dropped", self, "_on_target_dropped", [], CONNECT_DEFERRED) + o.connect("dropped", _on_target_dropped, CONNECT_DEFERRED) SnapMode.RANGE: # Enable _process to scan for RANGE pickups @@ -283,11 +283,11 @@ func _update_snap_mode() -> void: # Clear any dropped signal hooks for o in _object_in_grab_area: - o.disconnect("dropped", self, "_on_target_dropped") + o.disconnect("dropped", _on_target_dropped) # Called when a target in our grab area is dropped -func _on_target_dropped(target: Spatial) -> void: +func _on_target_dropped(target: Node3D) -> void: # Skip if not enabled if not enabled: return diff --git a/addons/godot-xr-tools/objects/snap_zone.tscn b/addons/godot-xr-tools/objects/snap_zone.tscn index 84ca94db..011548f0 100644 --- a/addons/godot-xr-tools/objects/snap_zone.tscn +++ b/addons/godot-xr-tools/objects/snap_zone.tscn @@ -1,16 +1,17 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://ce7vysyvondf8"] -[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1"] -[sub_resource type="SphereShape" id=1] +[sub_resource type="SphereShape3D" id="1"] +radius = 0.05 -[node name="SnapZone" type="Area"] +[node name="SnapZone" type="Area3D"] collision_layer = 4 collision_mask = 65540 -script = ExtResource( 1 ) +script = ExtResource("1") -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("1") [connection signal="body_entered" from="." to="." method="_on_snap_zone_body_entered"] [connection signal="body_exited" from="." to="." method="_on_snap_zone_body_exited"] diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd index e4517255..f99ddfcc 100644 --- a/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd @@ -1,5 +1,5 @@ -tool -extends Spatial +@tool +extends Node3D ## XR ToolsViewport 2D in 3D @@ -33,45 +33,43 @@ const DEFAULT_LAYER := 0b0000_0000_0001_0000_0000_0000_0000_0001 ## Viewport enabled property -export var enabled : bool = true setget set_enabled +@export var enabled : bool = true: set = set_enabled ## Screen size property -export var screen_size : Vector2 = Vector2(3.0, 2.0) setget set_screen_size +@export var screen_size : Vector2 = Vector2(3.0, 2.0): set = set_screen_size ## Viewport size property -export var viewport_size : Vector2 = Vector2(300.0, 200.0) setget set_viewport_size +@export var viewport_size : Vector2 = Vector2(300.0, 200.0): set = set_viewport_size ## Transparent property -export (TransparancyMode) \ - var transparent : int = TransparancyMode.TRANSPARENT setget set_transparent +@export var transparent : TransparancyMode = TransparancyMode.TRANSPARENT: set = set_transparent ## Alpha Scissor Threshold property -export var alpha_scissor_threshold : float = 0.25 setget set_alpha_scissor_threshold +@export var alpha_scissor_threshold : float = 0.25: set = set_alpha_scissor_threshold ## Unshaded -export var unshaded : bool = false setget set_unshaded +@export var unshaded : bool = false: set = set_unshaded ## Scene property -export var scene : PackedScene setget set_scene +@export var scene : PackedScene: set = set_scene ## Display properties -export var filter : bool = true setget set_filter +@export var filter : bool = true: set = set_filter ## Update Mode property -export (UpdateMode) var update_mode = UpdateMode.UPDATE_ALWAYS setget set_update_mode +@export var update_mode : UpdateMode = UpdateMode.UPDATE_ALWAYS: set = set_update_mode ## Update throttle property -export var throttle_fps : float = 30.0 +@export var throttle_fps : float = 30.0 ## Collision layer -export (int, LAYERS_3D_PHYSICS) \ - var collision_layer : int = DEFAULT_LAYER setget set_collision_layer +@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER: set = set_collision_layer var is_ready : bool = false var scene_node : Node var viewport_texture : ViewportTexture -var material : SpatialMaterial +var material : StandardMaterial3D var time_since_last_update : float = 0.0 @@ -80,10 +78,10 @@ func _ready(): is_ready = true # Setup our viewport texture and material - material = SpatialMaterial.new() + material = StandardMaterial3D.new() material.flags_unshaded = true - material.params_cull_mode = SpatialMaterial.CULL_DISABLED - $Screen.set_surface_material(0, material) + material.params_cull_mode = StandardMaterial3D.CULL_DISABLED + $Screen.set_surface_override_material(0, material) # apply properties _update_enabled() @@ -121,11 +119,11 @@ func _on_pointer_exited(): # Handler for input eventsd func _input(event): - $Viewport.input(event) + $Viewport.push_input(event) # Process event func _process(delta): - if Engine.editor_hint: + if Engine.is_editor_hint(): # Don't run in editor (will auto run on load) set_process(false) return @@ -135,7 +133,7 @@ func _process(delta): time_since_last_update += delta if time_since_last_update > frame_time: # Trigger update - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE time_since_last_update = 0.0 else: # This is no longer needed @@ -163,7 +161,7 @@ func set_viewport_size(new_size: Vector2) -> void: # Set transparent property -func set_transparent(new_transparent: int) -> void: +func set_transparent(new_transparent: TransparancyMode) -> void: transparent = new_transparent if is_ready: _update_transparent() @@ -197,7 +195,7 @@ func set_filter(new_filter: bool) -> void: _update_filter() # Set update mode property -func set_update_mode(new_update_mode: int) -> void: +func set_update_mode(new_update_mode: UpdateMode) -> void: update_mode = new_update_mode if is_ready: _update_update_mode() @@ -212,17 +210,17 @@ func set_collision_layer(new_layer: int) -> void: # Enabled update handler func _update_enabled() -> void: - if Engine.editor_hint: + if Engine.is_editor_hint(): return - $StaticBody/CollisionShape.disabled = !enabled + $StaticBody3D/CollisionShape3D.disabled = !enabled # Screen size update handler func _update_screen_size() -> void: $Screen.mesh.size = screen_size - $StaticBody.screen_size = screen_size - $StaticBody/CollisionShape.shape.extents = Vector3( + $StaticBody3D.screen_size = screen_size + $StaticBody3D/CollisionShape3D.shape.extents = Vector3( screen_size.x * 0.5, screen_size.y * 0.5, 0.01) @@ -231,7 +229,7 @@ func _update_screen_size() -> void: # Viewport size update handler func _update_viewport_size() -> void: $Viewport.size = viewport_size - $StaticBody.viewport_size = viewport_size + $StaticBody3D.viewport_size = viewport_size # Update our viewport texture, it will have changed viewport_texture = $Viewport.get_texture() @@ -250,9 +248,9 @@ func _update_transparent() -> void: $Viewport.transparent_bg = transparent != TransparancyMode.OPAQUE # make sure we redraw the screen atleast once - if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE: + if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE: # this will trigger redrawing our screen - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE # Unshaded update handler @@ -261,9 +259,9 @@ func _update_unshaded() -> void: material.flags_unshaded = unshaded # make sure we redraw the screen atleast once - if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE: + if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE: # this will trigger redrawing our screen - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE # Scene update handler @@ -275,7 +273,7 @@ func _update_scene() -> void: # in with the new if scene: - scene_node = scene.instance() + scene_node = scene.instantiate() $Viewport.add_child(scene_node) # (or use the scene if there is one already under the Viewport) @@ -283,40 +281,40 @@ func _update_scene() -> void: scene_node = $Viewport.get_child(0) # make sure we update atleast once - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE # Filter update handler func _update_filter() -> void: - if viewport_texture: - viewport_texture.flags = Texture.FLAG_FILTER if filter else 0 + if material: + material.texture_filter = BaseMaterial3D.TEXTURE_FILTER_LINEAR if filter else 0 # make sure we redraw the screen atleast once - if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE: + if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE: # this will trigger redrawing our screen - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE # Update mode handler func _update_update_mode() -> void: - if Engine.editor_hint: - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + if Engine.is_editor_hint(): + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE return if update_mode == UpdateMode.UPDATE_ONCE: # this will trigger redrawing our screen - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE set_process(false) elif update_mode == UpdateMode.UPDATE_ALWAYS: # redraw screen every frame - $Viewport.render_target_update_mode = Viewport.UPDATE_ALWAYS + $Viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS set_process(false) elif update_mode == UpdateMode.UPDATE_THROTTLED: # we will attempt to update the screen at the given framerate - $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE set_process(true) # Collision layer update handler func _update_collision_layer() -> void: - $StaticBody.collision_layer = collision_layer + $StaticBody3D.collision_layer = collision_layer diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn index 12200783..fe4adbc9 100644 --- a/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn @@ -1,50 +1,50 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=7 format=3 uid="uid://clujaf3u776a3"] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" type="Script" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" id="2"] -[sub_resource type="QuadMesh" id=1] +[sub_resource type="QuadMesh" id="1"] resource_local_to_scene = true -size = Vector2( 3, 2 ) +size = Vector2(3, 2) -[sub_resource type="ViewportTexture" id=5] -flags = 4 +[sub_resource type="ViewportTexture" id="ViewportTexture_0vyuj"] -[sub_resource type="SpatialMaterial" id=6] -flags_transparent = true -params_cull_mode = 2 -albedo_texture = SubResource( 5 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ney1s"] +transparency = 1 +cull_mode = 2 +shading_mode = 0 +albedo_texture = SubResource("ViewportTexture_0vyuj") +texture_filter = 1 -[sub_resource type="BoxShape" id=4] +[sub_resource type="BoxShape3D" id="4"] resource_local_to_scene = true -extents = Vector3( 1.5, 1, 0.01 ) +size = Vector3(3, 2, 0.02) -[node name="Viewport2Din3D" type="Spatial"] -script = ExtResource( 2 ) +[node name="Viewport2Din3D" type="Node3D"] +script = ExtResource("1") -[node name="Viewport" type="Viewport" parent="."] -size = Vector2( 300, 200 ) -transparent_bg = true +[node name="Viewport" type="SubViewport" parent="."] disable_3d = true -usage = 0 -render_target_v_flip = true +transparent_bg = true +gui_embed_subwindows = true +size = Vector2i(300, 200) render_target_update_mode = 1 -[node name="Screen" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) -material/0 = SubResource( 6 ) +[node name="Screen" type="MeshInstance3D" parent="."] +mesh = SubResource("1") +surface_material_override/0 = SubResource("StandardMaterial3D_ney1s") -[node name="StaticBody" type="StaticBody" parent="."] +[node name="StaticBody3D" type="StaticBody3D" parent="."] collision_layer = 1048577 collision_mask = 0 -script = ExtResource( 1 ) -viewport_size = Vector2( 300, 200 ) +script = ExtResource("2") +viewport_size = Vector2(300, 200) -[node name="CollisionShape" type="CollisionShape" parent="StaticBody"] -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +shape = SubResource("4") -[connection signal="pointer_entered" from="StaticBody" to="." method="_on_pointer_entered"] -[connection signal="pointer_exited" from="StaticBody" to="." method="_on_pointer_exited"] -[connection signal="pointer_moved" from="StaticBody" to="StaticBody" method="_on_pointer_moved"] -[connection signal="pointer_pressed" from="StaticBody" to="StaticBody" method="_on_pointer_pressed"] -[connection signal="pointer_released" from="StaticBody" to="StaticBody" method="_on_pointer_released"] +[connection signal="pointer_entered" from="StaticBody3D" to="." method="_on_pointer_entered"] +[connection signal="pointer_exited" from="StaticBody3D" to="." method="_on_pointer_exited"] +[connection signal="pointer_moved" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_moved"] +[connection signal="pointer_pressed" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_pressed"] +[connection signal="pointer_released" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_released"] diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd index 85617c71..79e63128 100644 --- a/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd +++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd @@ -1,7 +1,7 @@ extends XRToolsInteractableBody -export var screen_size = Vector2(3.0, 2.0) -export var viewport_size = Vector2(100.0, 100.0) +@export var screen_size = Vector2(3.0, 2.0) +@export var viewport_size = Vector2(100.0, 100.0) var vp = null var mouse_mask = 0 @@ -12,8 +12,8 @@ func _ready(): # Convert intersection point to screen coordinate func global_to_viewport(p_at): - var t = $CollisionShape.global_transform - var at = t.xform_inv(p_at) + var t = $CollisionShape3D.global_transform + var at = t.inverse() * p_at # Convert to screen space at.x = ((at.x / screen_size.x) + 0.5) * viewport_size.x @@ -34,7 +34,7 @@ func _on_pointer_moved(from, to): event.set_pressure(mouse_mask) if vp: - vp.input(event) + vp.push_input(event) func _on_pointer_pressed(at): var local_at = global_to_viewport(at) @@ -49,7 +49,7 @@ func _on_pointer_pressed(at): event.set_button_mask(mouse_mask) if vp: - vp.input(event) + vp.push_input(event) func _on_pointer_released(at): var local_at = global_to_viewport(at) @@ -64,5 +64,5 @@ func _on_pointer_released(at): event.set_button_mask(mouse_mask) if vp: - vp.input(event) + vp.push_input(event) diff --git a/addons/godot-xr-tools/objects/virtual_keyboard.tscn b/addons/godot-xr-tools/objects/virtual_keyboard.tscn index 36a8a7d2..4d1072f4 100644 --- a/addons/godot-xr-tools/objects/virtual_keyboard.tscn +++ b/addons/godot-xr-tools/objects/virtual_keyboard.tscn @@ -1,13 +1,13 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://dgdb1texynduw"] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn" type="PackedScene" id=2] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://lauwp8okd1vh" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn" id="2"] -[node name="VirtualKeyboard" type="Spatial"] +[node name="VirtualKeyboard" type="Node3D"] -[node name="Viewport2Din3D" parent="." instance=ExtResource( 1 )] -screen_size = Vector2( 1.5, 0.558 ) -viewport_size = Vector2( 390, 145 ) -scene = ExtResource( 2 ) +[node name="Viewport2Din3D" parent="." instance=ExtResource("1")] +screen_size = Vector2(1.5, 0.558) +viewport_size = Vector2(390, 145) +scene = ExtResource("2") update_mode = 2 throttle_fps = 15.0 diff --git a/addons/godot-xr-tools/objects/wind_area.gd b/addons/godot-xr-tools/objects/wind_area.gd index 9671fd69..536ac702 100644 --- a/addons/godot-xr-tools/objects/wind_area.gd +++ b/addons/godot-xr-tools/objects/wind_area.gd @@ -1,14 +1,14 @@ -tool +@tool class_name XRToolsWindArea -extends Area +extends Area3D ## Vector (direction and magnitude) of wind in this area -export var wind_vector : Vector3 = Vector3.ZERO +@export var wind_vector : Vector3 = Vector3.ZERO ## Wind drag factor -export var drag : float = 1.0 +@export var drag : float = 1.0 -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsWindArea" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsWindArea" diff --git a/addons/godot-xr-tools/objects/wind_area.tscn b/addons/godot-xr-tools/objects/wind_area.tscn index d2550448..0e8d9118 100644 --- a/addons/godot-xr-tools/objects/wind_area.tscn +++ b/addons/godot-xr-tools/objects/wind_area.tscn @@ -1,11 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://nack1qite6lx"] -[ext_resource path="res://addons/godot-xr-tools/objects/wind_area.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/wind_area.gd" id="1"] -[node name="WindArea" type="Area"] +[node name="WindArea" type="Area3D"] collision_layer = 524288 collision_mask = 0 monitoring = false -script = ExtResource( 1 ) +script = ExtResource("1") -[node name="CollisionShape" type="CollisionShape" parent="."] +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] diff --git a/addons/godot-xr-tools/overrides/ground_physics.gd b/addons/godot-xr-tools/overrides/ground_physics.gd index ee2cfc36..55b03084 100644 --- a/addons/godot-xr-tools/overrides/ground_physics.gd +++ b/addons/godot-xr-tools/overrides/ground_physics.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsGroundPhysics extends Node @@ -13,27 +13,26 @@ extends Node ## enable the appropriate flags and provide new values. -## XRToolsGroundPhysicsSettings to apply - can only be typed in Godot 4+ -export var physics : Resource +## XRToolsGroundPhysicsSettings to apply +@export var physics : XRToolsGroundPhysicsSettings -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsGroundPhysics" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsGroundPhysics" # This method verifies the ground physics has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Verify physics specified if !physics: - return "Physics must be specified" - - # Verify physics is of the correct type - if !physics is XRToolsGroundPhysicsSettings: - return "Physics must be an XRToolsGroundPhysicsSettings" + warnings.append("Physics must be specified") + elif !physics is XRToolsGroundPhysicsSettings: + warnings.append("Physics must be an XRToolsGroundPhysicsSettings") - # Report valid - return "" + return warnings # Get the physics from a ground physics node static func get_physics( diff --git a/addons/godot-xr-tools/overrides/ground_physics.tscn b/addons/godot-xr-tools/overrides/ground_physics.tscn index be29f73c..53439a51 100644 --- a/addons/godot-xr-tools/overrides/ground_physics.tscn +++ b/addons/godot-xr-tools/overrides/ground_physics.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://ohmfk2ly8312"] -[ext_resource path="res://addons/godot-xr-tools/overrides/ground_physics.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/overrides/ground_physics.gd" id="1"] [node name="GroundPhysics" type="Node"] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/overrides/ground_physics_settings.gd b/addons/godot-xr-tools/overrides/ground_physics_settings.gd index 1118fc3f..3009138a 100644 --- a/addons/godot-xr-tools/overrides/ground_physics_settings.gd +++ b/addons/godot-xr-tools/overrides/ground_physics_settings.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsGroundPhysicsSettings extends Resource @@ -27,8 +27,7 @@ enum GroundPhysicsFlags { } ## Flags defining which ground velocities are enabled -export (int, FLAGS, - "Move Drag", +@export_flags("Move Drag", "Move Traction", "Move Max Slope", "Jump Max Slope", @@ -37,28 +36,28 @@ export (int, FLAGS, "Bounce Threshold") var flags : int = 0 ## Movement drag factor -export var move_drag : float = 5.0 +@export var move_drag : float = 5.0 ## Movement traction factor -export var move_traction : float = 30.0 +@export var move_traction : float = 30.0 ## Stop sliding on slope -export var stop_on_slope : bool = true +@export var stop_on_slope : bool = true ## Movement maximum slope -export (float, 0.0, 85.0) var move_max_slope : float = 45.0 +@export_range(0.0, 85.0) var move_max_slope : float = 45.0 ## Jump maximum slope -export (float, 0.0, 85.0) var jump_max_slope : float = 45.0 +@export_range(0.0, 85.0) var jump_max_slope : float = 45.0 ## Jump velocity -export var jump_velocity : float = 3.0 +@export var jump_velocity : float = 3.0 ## Ground bounciness (0 = no bounce, 1 = full bounciness) -export var bounciness : float = 0.0 +@export var bounciness : float = 0.0 ## Bounce threshold (skip bounce if velocity less than threshold) -export var bounce_threshold : float = 1.0 +@export var bounce_threshold : float = 1.0 # Handle class initialization with default parameters diff --git a/addons/godot-xr-tools/player/player_body.gd b/addons/godot-xr-tools/player/player_body.gd index 1f095f80..c019518d 100644 --- a/addons/godot-xr-tools/player/player_body.gd +++ b/addons/godot-xr-tools/player/player_body.gd @@ -1,13 +1,14 @@ -tool -class_name XRToolsPlayerBody, "res://addons/godot-xr-tools/editor/icons/body.svg" -extends KinematicBody +@tool +@icon("res://addons/godot-xr-tools/editor/icons/body.svg") +class_name XRToolsPlayerBody +extends CharacterBody3D ## XR Tools Player Physics Body Script ## ## This node provides the player with a physics body. The body is a -## [CapsuleShape] which tracks the player location as measured by the -## [ARVRCamera] for the players head. +## [CapsuleShape3D] which tracks the player location as measured by the +## [XRCamera3D] for the players head. ## ## The player body can detect when the player is in the air, on the ground, ## or on a steep slope. @@ -15,7 +16,7 @@ extends KinematicBody ## Player movement is achieved by a number of movement providers attached to ## either the player or their controllers. ## -## After the player body moves, the [ARVROrigin] is updated as necessary to +## After the player body moves, the [XROrigin3D] is updated as necessary to ## track the players movement. @@ -42,37 +43,38 @@ const NEAR_GROUND_DISTANCE := 1.0 ## If true, the player body performs physics processing and movement -export var enabled : bool = true setget set_enabled +@export var enabled : bool = true: set = set_enabled ## Radius of the player body collider -export var player_radius : float = 0.2 setget set_player_radius +@export var player_radius : float = 0.2: set = set_player_radius ## Player head height (distance between between camera and top of head) -export var player_head_height : float = 0.1 +@export var player_head_height : float = 0.1 ## Minimum player height -export var player_height_min : float = 0.6 +@export var player_height_min : float = 0.6 ## Maximum player height -export var player_height_max : float = 2.2 +@export var player_height_max : float = 2.2 ## Eyes forward offset from center of body in player_radius units -export (float, 0.0, 1.0) var eye_forward_offset : float = 0.5 +@export_range(0.0, 1.0) var eye_forward_offset : float = 0.5 ## Mix factor for body orientation -export (float, 0.0, 1.0) var body_forward_mix : float = 0.75 +@export_range(0.0, 1.0) var body_forward_mix : float = 0.75 ## Lets the player push rigid bodies -export var push_rigid_bodies : bool = true +@export var push_rigid_bodies : bool = true -## Default ground physics setting - can only be typed in Godot 4+ -export var physics : Resource setget set_physics +## Default ground physics settings +@export var physics : XRToolsGroundPhysicsSettings: set = set_physics ## Option for specifying when ground control is allowed -export (GroundControl) var ground_control : int = GroundControl.ON_GROUND +@export var ground_control : GroundControl = GroundControl.ON_GROUND -## Player 3D Velocity - modifiiable by [XRToolsMovementProvider] nodes -var velocity : Vector3 = Vector3.ZERO + +## Player 3D Velocity - modified by [XRToolsMovementProvider] nodes +#var velocity : Vector3 = Vector3.ZERO ## Current player gravity var gravity : Vector3 = Vector3.ZERO @@ -90,7 +92,7 @@ var ground_vector : Vector3 = Vector3.UP var ground_angle : float = 0.0 ## Ground node the player is touching -var ground_node : Spatial = null +var ground_node : Node3D = null ## Ground physics override (if present) var ground_physics : XRToolsGroundPhysicsSettings = null @@ -129,7 +131,7 @@ var _player_height_overrides := { } var _player_height_override : float = -1.0 # Previous ground node -var _previous_ground_node : Spatial = null +var _previous_ground_node : Node3D = null # Previous ground local position var _previous_ground_local : Vector3 = Vector3.ZERO @@ -138,55 +140,53 @@ var _previous_ground_local : Vector3 = Vector3.ZERO var _previous_ground_global : Vector3 = Vector3.ZERO # Player body Collision node -var _collision_node : CollisionShape +var _collision_node : CollisionShape3D -## ARVROrigin node -onready var origin_node : ARVROrigin = ARVRHelpers.get_arvr_origin(self) +## XROrigin3D node +@onready var origin_node : XROrigin3D = XRHelpers.get_xr_origin(self) -## ARVRCamera node -onready var camera_node : ARVRCamera = ARVRHelpers.get_arvr_camera(self) +## XRCamera3D node +@onready var camera_node : XRCamera3D = XRHelpers.get_xr_camera(self) -## Left hand ARVRController node -onready var left_hand_node : ARVRController = ARVRHelpers.get_left_controller(self) +## Left hand XRController3D node +@onready var left_hand_node : XRController3D = XRHelpers.get_left_controller(self) -## Right hand ARVRController node -onready var right_hand_node : ARVRController = ARVRHelpers.get_right_controller(self) +## Right hand XRController3D node +@onready var right_hand_node : XRController3D = XRHelpers.get_right_controller(self) ## Default physics (if not specified by the user or the current ground) -onready var default_physics = _guaranteed_physics() +@onready var default_physics = _guaranteed_physics() -## Class to sort movement providers by order -class SortProviderByOrder: - static func sort_by_order(a, b) -> bool: - return true if a.order < b.order else false +## Function to sort movement providers by order +func sort_by_order(a, b) -> bool: + return true if a.order < b.order else false -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsPlayerBody" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPlayerBody" # Called when the node enters the scene tree for the first time. func _ready(): # Set as toplevel means our PlayerBody is positioned in global space. # It is not moved when its parent moves. - set_as_toplevel(true) + set_as_top_level(true) # Create our collision shape, height will be updated later - var capsule = CapsuleShape.new() + var capsule = CapsuleShape3D.new() capsule.radius = player_radius capsule.height = 1.4 - _collision_node = CollisionShape.new() + _collision_node = CollisionShape3D.new() _collision_node.shape = capsule - _collision_node.transform.basis = Basis(Vector3(0.5 * PI, 0.0, 0.0)) _collision_node.transform.origin = Vector3(0.0, 0.8, 0.0) add_child(_collision_node) # Get the movement providers ordered by increasing order _movement_providers = get_tree().get_nodes_in_group("movement_providers") - _movement_providers.sort_custom(SortProviderByOrder, "sort_by_order") + _movement_providers.sort_custom(sort_by_order) # Propagate defaults _update_enabled() @@ -215,14 +215,14 @@ func _update_player_radius() -> void: if _collision_node and _collision_node.shape: _collision_node.shape.radius = player_radius -func set_physics(new_value: Resource) -> void: +func set_physics(new_value: XRToolsGroundPhysicsSettings) -> void: # Save the property physics = new_value default_physics = _guaranteed_physics() func _physics_process(delta: float): # Do not run physics if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # If disabled then turn of physics processing and bail out @@ -239,7 +239,7 @@ func _physics_process(delta: float): up_player_plane = Plane(up_player_vector, 0.0) # Determine environmental gravity - var gravity_state := PhysicsServer.body_get_direct_state(get_rid()) + var gravity_state := PhysicsServer3D.body_get_direct_state(get_rid()) gravity = gravity_state.total_gravity # Update the kinematic body to be under the camera @@ -269,7 +269,7 @@ func _physics_process(delta: float): # Run the movement providers in order. The providers can: # - Move the kinematic node around (to move the player) - # - Rotate the ARVROrigin around the camera (to rotate the player) + # - Rotate the XROrigin3D around the camera (to rotate the player) # - Read and modify the player velocity # - Read and modify the ground-control velocity # - Perform exclusive updating of the player (bypassing other movement providers) @@ -293,7 +293,7 @@ func _physics_process(delta: float): velocity += gravity * delta _apply_velocity_and_control(delta) - # Apply the player-body movement to the ARVR origin + # Apply the player-body movement to the XR origin var movement := global_transform.origin - position_before_movement origin_node.global_transform.origin += movement @@ -325,7 +325,7 @@ func request_jump(skip_jump_velocity := false): # Perform the jump if !skip_jump_velocity: - velocity += ground_vector * jump_velocity * ARVRServer.world_scale + velocity += ground_vector * jump_velocity * XRServer.world_scale # Report the jump emit_signal("player_jumped") @@ -334,19 +334,18 @@ func request_jump(skip_jump_velocity := false): ## This method moves the players body using the provided velocity. Movement ## providers may use this function if they are exclusively driving the player. func move_body(p_velocity: Vector3) -> Vector3: - return move_and_slide( - p_velocity, - up_gravity_vector, - false, - 4, - 0.785398, - push_rigid_bodies) - -## This method rotates the player by rotating the [ARVROrigin] around the camera. + velocity = p_velocity + max_slides = 4 + up_direction = up_gravity_vector + # push_rigid_bodies seems to no longer be supported... + move_and_slide() + return velocity + +## This method rotates the player by rotating the [XROrigin3D] around the camera. func rotate_player(angle: float): - var t1 := Transform() - var t2 := Transform() - var rot := Transform() + var t1 := Transform3D() + var t2 := Transform3D() + var rot := Transform3D() t1.origin = -camera_node.transform.origin t2.origin = camera_node.transform.origin @@ -364,15 +363,15 @@ func slew_up(up: Vector3, slew: float) -> void: var current_origin := origin_node.global_transform # Save the player foot global and local positions - var ref_pos_global := global_translation - var ref_pos_local : Vector3 = current_origin.xform_inv(ref_pos_global) + var ref_pos_global := global_position + var ref_pos_local : Vector3 = ref_pos_global * current_origin # Calculate the target origin var target_origin := current_origin target_origin.basis.y = up.normalized() target_origin.basis.x = target_origin.basis.y.cross(target_origin.basis.z).normalized() target_origin.basis.z = target_origin.basis.x.cross(target_origin.basis.y).normalized() - target_origin.origin = ref_pos_global - target_origin.basis.xform(ref_pos_local) + target_origin.origin = ref_pos_global - target_origin.basis * ref_pos_local # Calculate the new origin var new_origin := current_origin.interpolate_with(target_origin, slew).orthonormalized() @@ -432,19 +431,19 @@ func _update_body_under_camera(): var player_height: float = clamp( camera_node.transform.origin.y + player_head_height + player_height_offset + XRToolsUserSettings.player_height_adjust, - player_height_min * ARVRServer.world_scale, - player_height_max * ARVRServer.world_scale) + player_height_min * XRServer.world_scale, + player_height_max * XRServer.world_scale) # Allow forced overriding of height if _player_height_override >= 0.0: player_height = _player_height_override # Ensure player height makes mathematical sense - player_height = max(player_height, player_radius * 2.0) + player_height = max(player_height, player_radius) # Adjust the collision shape to match the player geometry _collision_node.shape.radius = player_radius - _collision_node.shape.height = player_height - (player_radius * 2.0) + _collision_node.shape.height = player_height _collision_node.transform.origin.y = (player_height / 2.0) # Center the kinematic body on the ground under the camera @@ -454,8 +453,7 @@ func _update_body_under_camera(): curr_transform.origin = camera_transform.origin curr_transform.origin += up_player_vector * (player_head_height - player_height) - # The camera/eyes are towards the front of the body, - # so move the body back slightly and face in the same direction + # The camera/eyes are towards the front of the body, so move the body back slightly var forward_dir := _estimate_body_forward_dir() if forward_dir.length() > 0.01: curr_transform = curr_transform.looking_at(curr_transform.origin + forward_dir, up_player_vector) @@ -468,7 +466,7 @@ func _update_body_under_camera(): func _update_ground_information(delta: float): # Test how close we are to the ground var ground_collision := move_and_collide( - up_gravity_vector * -NEAR_GROUND_DISTANCE, true, true, true) + up_gravity_vector * -NEAR_GROUND_DISTANCE, true) # Handle no collision (or too far away to care about) if !ground_collision: @@ -483,12 +481,12 @@ func _update_ground_information(delta: float): # Categorize the type of ground contact near_ground = true - on_ground = ground_collision.travel.length() <= ON_GROUND_DISTANCE + on_ground = ground_collision.get_travel().length() <= ON_GROUND_DISTANCE # Save the ground information from the collision - ground_vector = ground_collision.normal - ground_angle = rad2deg(ground_collision.get_angle(up_gravity_vector)) - ground_node = ground_collision.collider + ground_vector = ground_collision.get_normal() + ground_angle = rad_to_deg(ground_collision.get_angle(0, up_gravity_vector)) + ground_node = ground_collision.get_collider() # Select the ground physics var physics_node := ground_node.get_node_or_null("GroundPhysics") as XRToolsGroundPhysics @@ -507,7 +505,7 @@ func _update_ground_information(delta: float): # Update ground velocity information _previous_ground_node = ground_node - _previous_ground_global = ground_collision.position + _previous_ground_global = ground_collision.get_position() _previous_ground_local = ground_node.to_local(_previous_ground_global) @@ -531,13 +529,13 @@ func _apply_velocity_and_control(delta: float): control_velocity = ( dir_forward * -ground_control_velocity.y + dir_right * ground_control_velocity.x - ) * ARVRServer.world_scale + ) * XRServer.world_scale # Apply control velocity to horizontal velocity based on traction var current_traction := XRToolsGroundPhysicsSettings.get_move_traction( ground_physics, default_physics) var traction_factor: float = clamp(current_traction * delta, 0.0, 1.0) - horizontal_velocity = lerp(horizontal_velocity, control_velocity, traction_factor) + horizontal_velocity = horizontal_velocity.lerp(control_velocity, traction_factor) # Prevent the player from moving up steep slopes var current_max_slope := XRToolsGroundPhysicsSettings.get_move_max_slope( @@ -553,7 +551,7 @@ func _apply_velocity_and_control(delta: float): var current_drag := XRToolsGroundPhysicsSettings.get_move_drag( ground_physics, default_physics) var drag_factor: float = clamp(current_drag * delta, 0, 1) - horizontal_velocity = lerp(horizontal_velocity, control_velocity, drag_factor) + horizontal_velocity = horizontal_velocity.lerp(control_velocity, drag_factor) # Combine the velocities back to a 3-space velocity local_velocity = horizontal_velocity + vertical_velocity @@ -562,10 +560,10 @@ func _apply_velocity_and_control(delta: float): velocity = move_body(local_velocity + ground_velocity) # Perform bounce test if a collision occurred - if get_slide_count(): + if get_slide_collision_count(): # Get the collider the player collided with var collision := get_slide_collision(0) - var collision_node := collision.collider + var collision_node := collision.get_collider() # Check for a GroundPhysics node attached to the collider var collision_physics_node := \ @@ -580,7 +578,7 @@ func _apply_velocity_and_control(delta: float): collision_physics, default_physics) var bounciness := XRToolsGroundPhysicsSettings.get_bounciness( collision_physics, default_physics) - var magnitude := -collision.normal.dot(local_velocity) + var magnitude := -collision.get_normal().dot(local_velocity) # Detect if bounce should be performed if bounciness > 0.0 and magnitude >= bounce_threshold: @@ -621,51 +619,54 @@ func _guaranteed_physics(): # This method verifies the XRToolsPlayerBody has a valid configuration. Specifically it # checks the following: -# - ARVROrigin can be identified -# - ARVRCamera can be identified +# - XROrigin3D can be identified +# - XRCamera3D can be identified # - Player radius is valid # - Maximum slope is valid -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Check the origin node - var test_origin_node = ARVRHelpers.get_arvr_origin(self) + var test_origin_node := XRHelpers.get_xr_origin(self) if !test_origin_node: - return "Unable to find ARVR Origin node" + warnings.append("Unable to find XR Origin node") # Check the camera node - var test_camera_node = ARVRHelpers.get_arvr_camera(self) + var test_camera_node := XRHelpers.get_xr_camera(self) if !test_camera_node: - return "Unable to find ARVR Camera node" + warnings.append("Unable to find XR Camera node") # Verify the player radius is valid if player_radius <= 0: - return "Player radius must be configured" + warnings.append("Player radius must be configured") # Verify the player height minimum is valid if player_height_min < player_radius * 2.0: - return "Player height minimum smaller than 2x radius" + warnings.append("Player height minimum smaller than 2x radius") # Verify the player height maximum is valid if player_height_max < player_height_min: - return "Player height maximum cannot be smaller than minimum" + warnings.append("Player height maximum cannot be smaller than minimum") # Verify eye-forward does not allow near-clip-plane look through var eyes_to_collider = (1.0 - eye_forward_offset) * player_radius - if eyes_to_collider < test_camera_node.near: - return "Eyes too far forwards. Move eyes back or decrease camera near clipping plane" + if test_camera_node and eyes_to_collider < test_camera_node.near: + warnings.append( + "Eyes too far forwards. Move eyes back or decrease camera near clipping plane") # If specified, verify the ground physics is a valid type if physics and !physics is XRToolsGroundPhysicsSettings: - return "Physics resource must be a GroundPhysicsSettings" + warnings.append("Physics resource must be a GroundPhysicsSettings") - # Passed basic validation - return "" + # Return warnings + return warnings ## Find an [XRToolsPlayerBody] node. ## ## This function searches from the specified node for an [XRToolsPlayerBody] -## assuming the node is a sibling of the body under an [ARVROrigin]. +## assuming the node is a sibling of the body under an [XROrigin3D]. static func find_instance(node: Node) -> XRToolsPlayerBody: - return XRTools.find_child( - ARVRHelpers.get_arvr_origin(node), + return XRTools.find_xr_child( + XRHelpers.get_xr_origin(node), "*", "XRToolsPlayerBody") as XRToolsPlayerBody diff --git a/addons/godot-xr-tools/player/player_body.tscn b/addons/godot-xr-tools/player/player_body.tscn index 76ef2ff8..a070e9e3 100644 --- a/addons/godot-xr-tools/player/player_body.tscn +++ b/addons/godot-xr-tools/player/player_body.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://diyu06cw06syv"] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="1"] -[node name="PlayerBody" type="KinematicBody" groups=["player_body"]] +[node name="PlayerBody" type="CharacterBody3D" groups=["player_body"]] +top_level = true collision_layer = 524288 collision_mask = 1023 -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/addons/godot-xr-tools/player/poke/poke.gd b/addons/godot-xr-tools/player/poke/poke.gd index 58cb02d3..e7928045 100644 --- a/addons/godot-xr-tools/player/poke/poke.gd +++ b/addons/godot-xr-tools/player/poke/poke.gd @@ -1,16 +1,16 @@ -tool +@tool class_name XRToolsPoke -extends Spatial +extends Node3D -export var enabled : bool = true setget set_enabled -export var radius : float = 0.005 setget set_radius -export var teleport_distance : float = 0.1 setget set_teleport_distance -export var color : Color = Color(0.8, 0.8, 1.0, 0.5) setget set_color +@export var enabled : bool = true: set = set_enabled +@export var radius : float = 0.005: set = set_radius +@export var teleport_distance : float = 0.1: set = set_teleport_distance +@export var color : Color = Color(0.8, 0.8, 1.0, 0.5): set = set_color var is_ready = false -var material : SpatialMaterial +var material : StandardMaterial3D var target : Node ## Node we last started touching var last_collided_at : Vector3 @@ -29,7 +29,7 @@ func set_radius(new_radius : float) -> void: _update_radius() func _update_radius() -> void: - var shape : SphereShape = $PokeBody/CollisionShape.shape + var shape : SphereShape3D = $PokeBody/CollisionShape.shape if shape: shape.radius = radius @@ -39,7 +39,7 @@ func _update_radius() -> void: mesh.height = radius * 2.0 if material: - $PokeBody/MeshInstance.set_surface_material(0, material) + $PokeBody/MeshInstance.set_surface_override_material(0, material) func set_teleport_distance(new_distance : float) -> void: teleport_distance = new_distance @@ -59,18 +59,18 @@ func _update_color() -> void: material.albedo_color = color -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsPoke" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsPoke" # Called when the node enters the scene tree for the first time. func _ready(): # Set as top level ensures we're placing this object in global space - $PokeBody.set_as_toplevel(true) + $PokeBody.set_as_top_level(true) is_ready = true - material = SpatialMaterial.new() + material = StandardMaterial3D.new() material.flags_unshaded = true material.flags_transparent = true diff --git a/addons/godot-xr-tools/player/poke/poke.tscn b/addons/godot-xr-tools/player/poke/poke.tscn index f83b30c1..963677d0 100644 --- a/addons/godot-xr-tools/player/poke/poke.tscn +++ b/addons/godot-xr-tools/player/poke/poke.tscn @@ -1,43 +1,38 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=5 format=3] -[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/player/poke/poke_body.gd" type="Script" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke.gd" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke_body.gd" id="2"] -[sub_resource type="SphereShape" id=1] +[sub_resource type="SphereShape3D" id="1"] resource_local_to_scene = true radius = 0.005 -[sub_resource type="SphereMesh" id=2] +[sub_resource type="SphereMesh" id="2"] resource_local_to_scene = true radius = 0.005 height = 0.01 radial_segments = 32 rings = 16 -[sub_resource type="SpatialMaterial" id=3] -flags_transparent = true -flags_unshaded = true -albedo_color = Color( 0.8, 0.8, 1, 0.5 ) +[node name="Poke" type="Node3D"] +script = ExtResource("1") -[node name="Poke" type="Spatial"] -script = ExtResource( 1 ) - -[node name="PokeBody" type="RigidBody" parent="."] +[node name="PokeBody" type="RigidBody3D" parent="."] +top_level = true collision_layer = 131072 collision_mask = 65535 gravity_scale = 0.0 custom_integrator = true -contacts_reported = 1 +max_contacts_reported = 1 contact_monitor = true -script = ExtResource( 2 ) +script = ExtResource("2") teleport_distance = 0.1 -[node name="CollisionShape" type="CollisionShape" parent="PokeBody"] -shape = SubResource( 1 ) +[node name="CollisionShape" type="CollisionShape3D" parent="PokeBody"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="PokeBody"] -mesh = SubResource( 2 ) -material/0 = SubResource( 3 ) +[node name="MeshInstance" type="MeshInstance3D" parent="PokeBody"] +mesh = SubResource("2") [connection signal="body_entered" from="PokeBody" to="." method="_on_PokeBody_body_entered"] [connection signal="body_exited" from="PokeBody" to="." method="_on_PokeBody_body_exited"] diff --git a/addons/godot-xr-tools/player/poke/poke_body.gd b/addons/godot-xr-tools/player/poke/poke_body.gd index 03f6e7a3..a60b3392 100644 --- a/addons/godot-xr-tools/player/poke/poke_body.gd +++ b/addons/godot-xr-tools/player/poke/poke_body.gd @@ -1,9 +1,9 @@ -extends RigidBody +extends RigidBody3D # distance at which we teleport our poke body -export var teleport_distance : float = 0.2 +@export var teleport_distance : float = 0.2 -func _integrate_forces(state: PhysicsDirectBodyState): +func _integrate_forces(state: PhysicsDirectBodyState3D): # get the position of our parent that we are following var following_transform = get_parent().global_transform diff --git a/addons/godot-xr-tools/plugin.cfg b/addons/godot-xr-tools/plugin.cfg index dcebd07b..76a9d4c1 100644 --- a/addons/godot-xr-tools/plugin.cfg +++ b/addons/godot-xr-tools/plugin.cfg @@ -3,5 +3,5 @@ name="Godot XR Tools" description="Godot XR Tools plugin" author="Bastiaan Olij and Contributors" -version="3.4.0" +version="4.0.0" script="plugin.gd" diff --git a/addons/godot-xr-tools/plugin.gd b/addons/godot-xr-tools/plugin.gd index c9d751e5..70166f96 100644 --- a/addons/godot-xr-tools/plugin.gd +++ b/addons/godot-xr-tools/plugin.gd @@ -1,4 +1,4 @@ -tool +@tool extends EditorPlugin @@ -30,7 +30,7 @@ func _enter_tree(): # Add input grip threshold to the project settings _define_project_setting( "godot_xr_tools/input/grip_threshold", - TYPE_REAL, + TYPE_FLOAT, PROPERTY_HINT_RANGE, "0.2,0.8,0.05", 0.7) @@ -38,7 +38,7 @@ func _enter_tree(): # Add input snap turning dead-zone to the project settings _define_project_setting( "godot_xr_tools/input/snap_turning_deadzone", - TYPE_REAL, + TYPE_FLOAT, PROPERTY_HINT_RANGE, "0.0,0.5,0.05", 0.25) @@ -54,7 +54,7 @@ func _enter_tree(): # Add player standard height to the project settings _define_project_setting( "godot_xr_tools/player/standard_height", - TYPE_REAL, + TYPE_FLOAT, PROPERTY_HINT_RANGE, "1.0,2.5,0.05", 1.85) diff --git a/addons/godot-xr-tools/staging/fade.gdshader b/addons/godot-xr-tools/staging/fade.gdshader index 44d0ffda..30704235 100644 --- a/addons/godot-xr-tools/staging/fade.gdshader +++ b/addons/godot-xr-tools/staging/fade.gdshader @@ -1,11 +1,10 @@ shader_type spatial; -render_mode depth_test_disable, skip_vertex_transform, unshaded; +render_mode depth_test_disabled, skip_vertex_transform, unshaded; uniform float alpha = 0.0; void vertex() { - vec3 v = VERTEX; - POSITION = vec4(v, 1.0); + POSITION = vec4(VERTEX.x, -VERTEX.y, 0.0, 1.0); } void fragment() { diff --git a/addons/godot-xr-tools/staging/loading_screen.gd b/addons/godot-xr-tools/staging/loading_screen.gd index da0d99b2..64bdffcf 100644 --- a/addons/godot-xr-tools/staging/loading_screen.gd +++ b/addons/godot-xr-tools/staging/loading_screen.gd @@ -1,5 +1,5 @@ -tool -extends Spatial +@tool +extends Node3D ## XR Tools Loading Screen @@ -22,26 +22,26 @@ signal continue_pressed ## If true, the screen follows the camera -export var follow_camera : bool = true setget set_follow_camera +@export var follow_camera : bool = true: set = set_follow_camera ## Curve for following the camera -export var follow_speed : Curve +@export var follow_speed : Curve ## Splash screen texture -export var splash_screen : Texture setget set_splash_screen +@export var splash_screen : Texture2D: set = set_splash_screen ## Progress bar -export (float, 0.0, 1.0, 0.01) var progress : float = 0.5 setget set_progress_bar +@export_range(0.0, 1.0, 0.01) var progress : float = 0.5: set = set_progress_bar ## If true, the contine message is shown, if false the progress bar is visible. -export var enable_press_to_continue : bool = false setget set_enable_press_to_continue +@export var enable_press_to_continue : bool = false: set = set_enable_press_to_continue # Camera to track -var _camera : ARVRCamera +var _camera : XRCamera3D # Splash screen material -var _splash_screen_material : SpatialMaterial +var _splash_screen_material : StandardMaterial3D # Progress material var _progress_material : ShaderMaterial @@ -49,7 +49,7 @@ var _progress_material : ShaderMaterial func _ready(): # Get materials - _splash_screen_material = $SplashScreen.get_surface_material(0) + _splash_screen_material = $SplashScreen.get_surface_override_material(0) _progress_material = $ProgressBar.mesh.surface_get_material(0) # Perform initial update @@ -84,12 +84,12 @@ func _process(delta): # Do rotation based on the curve global_transform.basis = global_transform.basis.rotated( Vector3.UP * sign(angle), - follow_speed.interpolate_baked(abs(angle) / PI) * delta + follow_speed.sample_baked(abs(angle) / PI) * delta ).orthonormalized() ## Set the camera to track -func set_camera(p_camera : ARVRCamera) -> void: +func set_camera(p_camera : XRCamera3D) -> void: _camera = p_camera _update_follow_camera() @@ -101,7 +101,7 @@ func set_follow_camera(p_enabled : bool) -> void: ## Set the splash_screen texture property -func set_splash_screen(p_splash_screen : Texture) -> void: +func set_splash_screen(p_splash_screen : Texture2D) -> void: splash_screen = p_splash_screen _update_splash_screen() @@ -130,7 +130,7 @@ func _update_splash_screen(): func _update_progress_bar(): if _progress_material: - _progress_material.set_shader_param("progress", progress) + _progress_material.set_shader_parameter("progress", progress) func _update_enable_press_to_continue(): diff --git a/addons/godot-xr-tools/staging/loading_screen.tscn b/addons/godot-xr-tools/staging/loading_screen.tscn index 47c26b03..e22d8a6d 100644 --- a/addons/godot-xr-tools/staging/loading_screen.tscn +++ b/addons/godot-xr-tools/staging/loading_screen.tscn @@ -1,63 +1,68 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=3 uid="uid://bqumugyvkct4r"] -[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen.gd" type="Script" id=2] -[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen_shader.tres" type="Shader" id=3] -[ext_resource path="res://addons/godot-xr-tools/assets/misc/progress_bar.png" type="Texture" id=4] -[ext_resource path="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" type="Texture" id=5] -[ext_resource path="res://addons/godot-xr-tools/misc/hold_button.tscn" type="PackedScene" id=6] +[ext_resource type="Texture2D" uid="uid://ftrrxm7sxndi" path="res://assets/godot/splash.png" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/loading_screen.gd" id="2"] +[ext_resource type="Shader" uid="uid://4i0pwdtfmtsv" path="res://addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres" id="3"] +[ext_resource type="Texture2D" uid="uid://clbtsf0ahb3fm" path="res://addons/godot-xr-tools/assets/misc/progress_bar.png" id="4"] +[ext_resource type="Texture2D" uid="uid://ocyj01x5mtt7" path="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" id="5"] +[ext_resource type="PackedScene" uid="uid://cymteydkxagpp" path="res://addons/godot-xr-tools/misc/hold_button.tscn" id="6"] -[sub_resource type="Curve" id=21] +[sub_resource type="Curve" id="21"] max_value = 3.14 -_data = [ Vector2( 0.00207039, 0 ), 0.0, 1.00884, 0, 0, Vector2( 1, 3.14 ), 0.313348, 0.0, 0, 0 ] +_data = [Vector2(0.00207039, 0), 0.0, 1.00884, 0, 0, Vector2(1, 3.14), 0.313348, 0.0, 0, 0] +point_count = 2 -[sub_resource type="PlaneMesh" id=2] -size = Vector2( 80, 60 ) +[sub_resource type="PlaneMesh" id="2"] +size = Vector2(80, 60) -[sub_resource type="SpatialMaterial" id=1] -flags_transparent = true -flags_unshaded = true +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1o2lp"] +transparency = 1 +shading_mode = 0 +albedo_texture = ExtResource("1") -[sub_resource type="ShaderMaterial" id=18] -shader = ExtResource( 3 ) -shader_param/bar_color = Color( 1, 1, 1, 1 ) -shader_param/cutout = Vector3( 4.85, 0.33, 0 ) -shader_param/progress = 0.5 -shader_param/bar_texture = ExtResource( 4 ) +[sub_resource type="ShaderMaterial" id="18"] +render_priority = 0 +shader = ExtResource("3") +shader_parameter/bar_color = Color(1, 1, 1, 1) +shader_parameter/cutout = Vector3(4.85, 0.33, 0) +shader_parameter/progress = 0.5 +shader_parameter/bar_texture = ExtResource("4") -[sub_resource type="PlaneMesh" id=3] -material = SubResource( 18 ) -size = Vector2( 10, 1 ) +[sub_resource type="PlaneMesh" id="3"] +material = SubResource("18") +size = Vector2(10, 1) -[sub_resource type="QuadMesh" id=19] -size = Vector2( 9.25, 1 ) +[sub_resource type="QuadMesh" id="19"] +size = Vector2(9.25, 1) -[sub_resource type="SpatialMaterial" id=20] -flags_transparent = true -flags_unshaded = true -albedo_texture = ExtResource( 5 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k8dyo"] +transparency = 1 +shading_mode = 0 +albedo_texture = ExtResource("5") -[node name="LoadingScreen" type="Spatial"] -script = ExtResource( 2 ) -follow_speed = SubResource( 21 ) +[node name="LoadingScreen" type="Node3D"] +script = ExtResource("2") +follow_speed = SubResource("21") +splash_screen = ExtResource("1") -[node name="SplashScreen" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15, -50 ) -mesh = SubResource( 2 ) -material/0 = SubResource( 1 ) +[node name="SplashScreen" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15, -50) +mesh = SubResource("2") +surface_material_override/0 = SubResource("StandardMaterial3D_1o2lp") -[node name="ProgressBar" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -10 ) -mesh = SubResource( 3 ) +[node name="ProgressBar" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -10) +mesh = SubResource("3") -[node name="PressToContinue" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -10 ) +[node name="PressToContinue" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -10) visible = false -mesh = SubResource( 19 ) -material/0 = SubResource( 20 ) +mesh = SubResource("19") +surface_material_override/0 = SubResource("StandardMaterial3D_k8dyo") -[node name="HoldButton" parent="PressToContinue" instance=ExtResource( 6 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.55766, 0, 0 ) +[node name="HoldButton" parent="PressToContinue" instance=ExtResource("6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.55766, 0, 0) hold_time = 0.5 -color = Color( 0, 0.717647, 1, 1 ) +color = Color(0, 0.717647, 1, 1) [connection signal="pressed" from="PressToContinue/HoldButton" to="." method="_on_HoldButton_pressed"] diff --git a/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres index 4469d23c..a31535e2 100644 --- a/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres +++ b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres @@ -1,176 +1,186 @@ -[gd_resource type="VisualShader" load_steps=15 format=2] +[gd_resource type="VisualShader" load_steps=16 format=3 uid="uid://4i0pwdtfmtsv"] -[sub_resource type="VisualShaderNodeCompare" id=5] +[sub_resource type="VisualShaderNodeCompare" id="5"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ] -type = 1 +default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0), 2, 1e-05] +type = 3 function = 4 condition = 1 -[sub_resource type="VisualShaderNodeScalarUniform" id=6] -uniform_name = "progress" +[sub_resource type="VisualShaderNodeFloatParameter" id="6"] +parameter_name = "progress" -[sub_resource type="VisualShaderNodeVectorCompose" id=7] +[sub_resource type="VisualShaderNodeVectorCompose" id="7"] -[sub_resource type="VisualShaderNodeScalarOp" id=8] +[sub_resource type="VisualShaderNodeFloatOp" id="8"] output_port_for_preview = 0 operator = 6 -[sub_resource type="VisualShaderNodeColorUniform" id=9] -uniform_name = "bar_color" +[sub_resource type="VisualShaderNodeColorParameter" id="9"] +parameter_name = "bar_color" -[sub_resource type="VisualShaderNodeTextureUniform" id=17] -uniform_name = "bar_texture" +[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"] +parameter_name = "bar_texture" texture_type = 1 -[sub_resource type="VisualShaderNodeVectorOp" id=18] +[sub_resource type="VisualShaderNodeVectorOp" id="18"] operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=19] +[sub_resource type="VisualShaderNodeFloatOp" id="19"] operator = 2 -[sub_resource type="VisualShaderNodeVec3Uniform" id=20] -uniform_name = "cutout" +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"] +output_port_for_preview = 0 +expanded_output_ports = [0] +source = 5 +texture_type = 1 -[sub_resource type="VisualShaderNodeInput" id=10] +[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"] +parameter_name = "cutout" +default_value_enabled = true +default_value = Vector3(4.85, 0.33, 0) + +[sub_resource type="VisualShaderNodeInput" id="10"] input_name = "uv" -[sub_resource type="VisualShaderNodeVectorOp" id=11] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 10, 1, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="11"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=12] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 5, 0.5, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="12"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)] operator = 1 -[sub_resource type="VisualShaderNodeVectorFunc" id=13] -function = 6 +[sub_resource type="VisualShaderNodeVectorFunc" id="13"] +function = 4 -[sub_resource type="VisualShaderNodeCompare" id=15] +[sub_resource type="VisualShaderNodeCompare" id="15"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ] -type = 1 +default_input_values = [0, Vector2(0, 0), 1, Vector2(4.85, 0.33), 2, 1e-05] +type = 3 function = 2 condition = 1 [resource] code = "shader_type spatial; -render_mode specular_schlick_ggx, async_visible, unshaded; +render_mode unshaded; -uniform vec4 bar_color : hint_color; -uniform sampler2D bar_texture : hint_albedo; -uniform vec3 cutout; +uniform vec4 bar_color : source_color; +uniform sampler2D bar_texture : source_color; +uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000); uniform float progress; -void vertex() { -// Output:0 +void fragment() { +// ColorParameter:15 + vec4 n_out15p0 = bar_color; -} -void fragment() { -// ColorUniform:15 - vec3 n_out15p0 = bar_color.rgb; - float n_out15p1 = bar_color.a; + vec4 n_out19p0; +// Texture2D:19 + n_out19p0 = texture(bar_texture, UV); + float n_out19p4 = n_out19p0.a; -// TextureUniform:16 - vec3 n_out16p0; - float n_out16p1; - { - vec4 n_tex_read = texture(bar_texture, UV.xy); - n_out16p0 = n_tex_read.rgb; - n_out16p1 = n_tex_read.a; - } // VectorOp:17 - vec3 n_out17p0 = n_out15p0 * n_out16p0; + vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz); + // Input:3 - vec3 n_out3p0 = vec3(UV, 0.0); + vec2 n_out3p0 = UV; + // VectorOp:4 vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000); - vec3 n_out4p0 = n_out3p0 * n_in4p1; + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + // VectorOp:5 vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000); vec3 n_out5p0 = n_out4p0 - n_in5p1; + // VectorFunc:6 vec3 n_out6p0 = abs(n_out5p0); -// VectorUniform:19 - vec3 n_out19p0 = cutout; -// Compare:8 +// Vector3Parameter:20 + vec3 n_out20p0 = cutout; + + bool n_out8p0; +// Compare:8 { - bvec3 _bv = greaterThan(n_out6p0, n_out19p0); + bvec2 _bv = greaterThan(vec2(n_out6p0.xy), vec2(n_out20p0.xy)); n_out8p0 = any(_bv); } -// ScalarUniform:12 + +// FloatParameter:12 float n_out12p0 = progress; + // VectorCompose:13 float n_in13p1 = 0.00000; float n_in13p2 = 0.00000; vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2); -// Compare:11 + bool n_out11p0; +// Compare:11 { - bvec3 _bv = lessThan(n_out3p0, n_out13p0); + bvec2 _bv = lessThan(n_out3p0, vec2(n_out13p0.xy)); n_out11p0 = any(_bv); } -// ScalarOp:14 + +// FloatOp:14 float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0)); -// ScalarOp:18 - float n_out18p0 = n_out16p1 * n_out14p0; + +// FloatOp:18 + float n_out18p0 = n_out19p4 * n_out14p0; + // Output:0 ALBEDO = n_out17p0; ALPHA = n_out18p0; -} - -void light() { -// Output:0 } " -graph_offset = Vector2( -195.354, 305.623 ) +graph_offset = Vector2(-744.269, 307.118) flags/unshaded = true -nodes/fragment/0/position = Vector2( 1220, 440 ) -nodes/fragment/3/node = SubResource( 10 ) -nodes/fragment/3/position = Vector2( -320, 580 ) -nodes/fragment/4/node = SubResource( 11 ) -nodes/fragment/4/position = Vector2( -120, 460 ) -nodes/fragment/5/node = SubResource( 12 ) -nodes/fragment/5/position = Vector2( 60, 460 ) -nodes/fragment/6/node = SubResource( 13 ) -nodes/fragment/6/position = Vector2( 260, 480 ) -nodes/fragment/8/node = SubResource( 15 ) -nodes/fragment/8/position = Vector2( 500, 480 ) -nodes/fragment/11/node = SubResource( 5 ) -nodes/fragment/11/position = Vector2( 500, 780 ) -nodes/fragment/12/node = SubResource( 6 ) -nodes/fragment/12/position = Vector2( -40, 820 ) -nodes/fragment/13/node = SubResource( 7 ) -nodes/fragment/13/position = Vector2( 280, 940 ) -nodes/fragment/14/node = SubResource( 8 ) -nodes/fragment/14/position = Vector2( 743.56, 671.244 ) -nodes/fragment/15/node = SubResource( 9 ) -nodes/fragment/15/position = Vector2( 640, 260 ) -nodes/fragment/16/node = SubResource( 17 ) -nodes/fragment/16/position = Vector2( 720, 440 ) -nodes/fragment/17/node = SubResource( 18 ) -nodes/fragment/17/position = Vector2( 980, 340 ) -nodes/fragment/18/node = SubResource( 19 ) -nodes/fragment/18/position = Vector2( 980, 560 ) -nodes/fragment/19/node = SubResource( 20 ) -nodes/fragment/19/position = Vector2( 160, 620 ) -nodes/fragment/connections = PoolIntArray( 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 19, 0, 8, 1 ) +nodes/fragment/0/position = Vector2(1220, 440) +nodes/fragment/3/node = SubResource("10") +nodes/fragment/3/position = Vector2(-1020, 580) +nodes/fragment/4/node = SubResource("11") +nodes/fragment/4/position = Vector2(-620, 400) +nodes/fragment/5/node = SubResource("12") +nodes/fragment/5/position = Vector2(-440, 400) +nodes/fragment/6/node = SubResource("13") +nodes/fragment/6/position = Vector2(-240, 420) +nodes/fragment/8/node = SubResource("15") +nodes/fragment/8/position = Vector2(240, 460) +nodes/fragment/11/node = SubResource("5") +nodes/fragment/11/position = Vector2(240, 860) +nodes/fragment/12/node = SubResource("6") +nodes/fragment/12/position = Vector2(-640, 980) +nodes/fragment/13/node = SubResource("7") +nodes/fragment/13/position = Vector2(-280, 960) +nodes/fragment/14/node = SubResource("8") +nodes/fragment/14/position = Vector2(480, 680) +nodes/fragment/15/node = SubResource("9") +nodes/fragment/15/position = Vector2(580, -40) +nodes/fragment/16/node = SubResource("17") +nodes/fragment/16/position = Vector2(40, -100) +nodes/fragment/17/node = SubResource("18") +nodes/fragment/17/position = Vector2(980, 80) +nodes/fragment/18/node = SubResource("19") +nodes/fragment/18/position = Vector2(940, 500) +nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli") +nodes/fragment/19/position = Vector2(480, 260) +nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j") +nodes/fragment/20/position = Vector2(-280, 600) +nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1) diff --git a/addons/godot-xr-tools/staging/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen_shader.tres index 4469d23c..11ede72c 100644 --- a/addons/godot-xr-tools/staging/loading_screen_shader.tres +++ b/addons/godot-xr-tools/staging/loading_screen_shader.tres @@ -1,176 +1,187 @@ -[gd_resource type="VisualShader" load_steps=15 format=2] +[gd_resource type="VisualShader" load_steps=16 format=3] -[sub_resource type="VisualShaderNodeCompare" id=5] +[sub_resource type="VisualShaderNodeCompare" id="5"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ] -type = 1 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0), 2, 1e-05] +type = 3 function = 4 condition = 1 -[sub_resource type="VisualShaderNodeScalarUniform" id=6] -uniform_name = "progress" +[sub_resource type="VisualShaderNodeFloatParameter" id="6"] +parameter_name = "progress" -[sub_resource type="VisualShaderNodeVectorCompose" id=7] +[sub_resource type="VisualShaderNodeVectorCompose" id="7"] -[sub_resource type="VisualShaderNodeScalarOp" id=8] +[sub_resource type="VisualShaderNodeFloatOp" id="8"] output_port_for_preview = 0 operator = 6 -[sub_resource type="VisualShaderNodeColorUniform" id=9] -uniform_name = "bar_color" +[sub_resource type="VisualShaderNodeColorParameter" id="9"] +parameter_name = "bar_color" -[sub_resource type="VisualShaderNodeTextureUniform" id=17] -uniform_name = "bar_texture" +[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"] +parameter_name = "bar_texture" texture_type = 1 -[sub_resource type="VisualShaderNodeVectorOp" id=18] +[sub_resource type="VisualShaderNodeVectorOp" id="18"] operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=19] +[sub_resource type="VisualShaderNodeFloatOp" id="19"] operator = 2 -[sub_resource type="VisualShaderNodeVec3Uniform" id=20] -uniform_name = "cutout" +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"] +output_port_for_preview = 0 +expanded_output_ports = [0] +source = 5 +texture_type = 1 -[sub_resource type="VisualShaderNodeInput" id=10] +[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"] +parameter_name = "cutout" +default_value_enabled = true +default_value = Vector3(4.85, 0.33, 0) + +[sub_resource type="VisualShaderNodeInput" id="10"] input_name = "uv" -[sub_resource type="VisualShaderNodeVectorOp" id=11] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 10, 1, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="11"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=12] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 5, 0.5, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="12"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)] operator = 1 -[sub_resource type="VisualShaderNodeVectorFunc" id=13] -function = 6 +[sub_resource type="VisualShaderNodeVectorFunc" id="13"] +function = 4 -[sub_resource type="VisualShaderNodeCompare" id=15] +[sub_resource type="VisualShaderNodeCompare" id="15"] output_port_for_preview = 0 -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ] -type = 1 +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(4.85, 0.33, 0), 2, 1e-05] +type = 3 function = 2 condition = 1 [resource] code = "shader_type spatial; -render_mode specular_schlick_ggx, async_visible, unshaded; +render_mode unshaded; -uniform vec4 bar_color : hint_color; -uniform sampler2D bar_texture : hint_albedo; -uniform vec3 cutout; +uniform vec4 bar_color : source_color; +uniform sampler2D bar_texture : source_color; +uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000); uniform float progress; -void vertex() { -// Output:0 +void fragment() { +// ColorParameter:15 + vec4 n_out15p0 = bar_color; -} -void fragment() { -// ColorUniform:15 - vec3 n_out15p0 = bar_color.rgb; - float n_out15p1 = bar_color.a; -// TextureUniform:16 - vec3 n_out16p0; - float n_out16p1; - { - vec4 n_tex_read = texture(bar_texture, UV.xy); - n_out16p0 = n_tex_read.rgb; - n_out16p1 = n_tex_read.a; - } + vec4 n_out19p0; +// Texture2D:19 + n_out19p0 = texture(bar_texture, UV); + float n_out19p4 = n_out19p0.a; + // VectorOp:17 - vec3 n_out17p0 = n_out15p0 * n_out16p0; + vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz); + // Input:3 - vec3 n_out3p0 = vec3(UV, 0.0); + vec2 n_out3p0 = UV; + // VectorOp:4 vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000); - vec3 n_out4p0 = n_out3p0 * n_in4p1; + vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1; + // VectorOp:5 vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000); vec3 n_out5p0 = n_out4p0 - n_in5p1; + // VectorFunc:6 vec3 n_out6p0 = abs(n_out5p0); -// VectorUniform:19 - vec3 n_out19p0 = cutout; -// Compare:8 +// Vector3Parameter:20 + vec3 n_out20p0 = cutout; + + bool n_out8p0; +// Compare:8 { - bvec3 _bv = greaterThan(n_out6p0, n_out19p0); + bvec3 _bv = greaterThan(n_out6p0, n_out20p0); n_out8p0 = any(_bv); } -// ScalarUniform:12 + +// FloatParameter:12 float n_out12p0 = progress; + // VectorCompose:13 float n_in13p1 = 0.00000; float n_in13p2 = 0.00000; vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2); -// Compare:11 + bool n_out11p0; +// Compare:11 { - bvec3 _bv = lessThan(n_out3p0, n_out13p0); + bvec3 _bv = lessThan(vec3(n_out3p0, 0.0), n_out13p0); n_out11p0 = any(_bv); } -// ScalarOp:14 + +// FloatOp:14 float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0)); -// ScalarOp:18 - float n_out18p0 = n_out16p1 * n_out14p0; + +// FloatOp:18 + float n_out18p0 = n_out19p4 * n_out14p0; + // Output:0 ALBEDO = n_out17p0; ALPHA = n_out18p0; -} - -void light() { -// Output:0 } " -graph_offset = Vector2( -195.354, 305.623 ) +graph_offset = Vector2(-744.269, 307.118) flags/unshaded = true -nodes/fragment/0/position = Vector2( 1220, 440 ) -nodes/fragment/3/node = SubResource( 10 ) -nodes/fragment/3/position = Vector2( -320, 580 ) -nodes/fragment/4/node = SubResource( 11 ) -nodes/fragment/4/position = Vector2( -120, 460 ) -nodes/fragment/5/node = SubResource( 12 ) -nodes/fragment/5/position = Vector2( 60, 460 ) -nodes/fragment/6/node = SubResource( 13 ) -nodes/fragment/6/position = Vector2( 260, 480 ) -nodes/fragment/8/node = SubResource( 15 ) -nodes/fragment/8/position = Vector2( 500, 480 ) -nodes/fragment/11/node = SubResource( 5 ) -nodes/fragment/11/position = Vector2( 500, 780 ) -nodes/fragment/12/node = SubResource( 6 ) -nodes/fragment/12/position = Vector2( -40, 820 ) -nodes/fragment/13/node = SubResource( 7 ) -nodes/fragment/13/position = Vector2( 280, 940 ) -nodes/fragment/14/node = SubResource( 8 ) -nodes/fragment/14/position = Vector2( 743.56, 671.244 ) -nodes/fragment/15/node = SubResource( 9 ) -nodes/fragment/15/position = Vector2( 640, 260 ) -nodes/fragment/16/node = SubResource( 17 ) -nodes/fragment/16/position = Vector2( 720, 440 ) -nodes/fragment/17/node = SubResource( 18 ) -nodes/fragment/17/position = Vector2( 980, 340 ) -nodes/fragment/18/node = SubResource( 19 ) -nodes/fragment/18/position = Vector2( 980, 560 ) -nodes/fragment/19/node = SubResource( 20 ) -nodes/fragment/19/position = Vector2( 160, 620 ) -nodes/fragment/connections = PoolIntArray( 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 19, 0, 8, 1 ) +nodes/fragment/0/position = Vector2(1220, 440) +nodes/fragment/3/node = SubResource("10") +nodes/fragment/3/position = Vector2(-1020, 580) +nodes/fragment/4/node = SubResource("11") +nodes/fragment/4/position = Vector2(-620, 400) +nodes/fragment/5/node = SubResource("12") +nodes/fragment/5/position = Vector2(-440, 400) +nodes/fragment/6/node = SubResource("13") +nodes/fragment/6/position = Vector2(-240, 420) +nodes/fragment/8/node = SubResource("15") +nodes/fragment/8/position = Vector2(240, 460) +nodes/fragment/11/node = SubResource("5") +nodes/fragment/11/position = Vector2(240, 860) +nodes/fragment/12/node = SubResource("6") +nodes/fragment/12/position = Vector2(-640, 980) +nodes/fragment/13/node = SubResource("7") +nodes/fragment/13/position = Vector2(-280, 960) +nodes/fragment/14/node = SubResource("8") +nodes/fragment/14/position = Vector2(480, 680) +nodes/fragment/15/node = SubResource("9") +nodes/fragment/15/position = Vector2(580, -40) +nodes/fragment/16/node = SubResource("17") +nodes/fragment/16/position = Vector2(40, -100) +nodes/fragment/17/node = SubResource("18") +nodes/fragment/17/position = Vector2(980, 80) +nodes/fragment/18/node = SubResource("19") +nodes/fragment/18/position = Vector2(940, 500) +nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli") +nodes/fragment/19/position = Vector2(480, 260) +nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j") +nodes/fragment/20/position = Vector2(-280, 600) +nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1) diff --git a/addons/godot-xr-tools/staging/scene_base.gd b/addons/godot-xr-tools/staging/scene_base.gd index 8ff598e1..872c67e4 100644 --- a/addons/godot-xr-tools/staging/scene_base.gd +++ b/addons/godot-xr-tools/staging/scene_base.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsSceneBase -extends Spatial +extends Node3D ## Introduction # @@ -35,48 +35,50 @@ signal request_reset_scene # Here we set the environment we need to set as our world environment # once our scene is loaded. -export var environment : Environment +@export var environment : Environment ## Interface +func _ready() -> void: + pass -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsSceneBase" or .is_class(name) - +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsSceneBase" -func center_player_on(p_transform : Transform): +func center_player_on(p_transform : Transform3D): # In order to center our player so the players feet are at the location # indicated by p_transform, and having our player looking in the required # direction, we must offset this transform using the cameras transform. # So we get our current camera transform in local space - var camera_transform = $ARVROrigin/ARVRCamera.transform + var camera_transform = $XROrigin3D/XRCamera3D.transform # We obtain our view direction and zero out our height var view_direction = camera_transform.basis.z view_direction.y = 0 # Now create the transform that we will use to offset our input with - var transform : Transform + var transform : Transform3D transform = transform.looking_at(-view_direction, Vector3.UP) transform.origin = camera_transform.origin transform.origin.y = 0 # And now update our origin point - $ARVROrigin.global_transform = (p_transform * transform.inverse()).orthonormalized() + $XROrigin3D.global_transform = (p_transform * transform.inverse()).orthonormalized() func scene_loaded(): # Called after scene is loaded # Make sure our camera becomes the current camera - $ARVROrigin/ARVRCamera.current = true + $XROrigin3D/XRCamera3D.current = true + $XROrigin3D.current = true # Center our player on our origin point - # Note, this means you can place the ARVROrigin point in the start + # Note, this means you can place the XROrigin3D point in the start # position where you want the player to spawn, even if the player is # physically halfway across the room. - center_player_on($ARVROrigin.global_transform) + center_player_on($XROrigin3D.global_transform) func scene_visible(): # Called after the scene becomes fully visible diff --git a/addons/godot-xr-tools/staging/scene_base.tscn b/addons/godot-xr-tools/staging/scene_base.tscn index b1a3da67..6d04f77d 100644 --- a/addons/godot-xr-tools/staging/scene_base.tscn +++ b/addons/godot-xr-tools/staging/scene_base.tscn @@ -1,21 +1,24 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://qbmx03iibuuu"] -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.gd" type="Script" id=1] -[ext_resource path="res://default_env.tres" type="Environment" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/scene_base.gd" id="1"] +[ext_resource type="Environment" uid="uid://c75hc5t2ml5re" path="res://default_env.tres" id="2"] -[node name="SceneBase" type="Spatial"] -script = ExtResource( 1 ) -environment = ExtResource( 2 ) +[node name="SceneBase" type="Node3D"] +script = ExtResource("1") +environment = ExtResource("2") -[node name="ARVROrigin" type="ARVROrigin" parent="."] +[node name="XROrigin3D" type="XROrigin3D" parent="."] -[node name="ARVRCamera" type="ARVRCamera" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0 ) +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0) far = 300.0 -[node name="LeftHand" type="ARVRController" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5 ) +[node name="LeftHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5) +tracker = &"left_hand" +pose = &"aim" -[node name="RightHand" type="ARVRController" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 ) -controller_id = 2 +[node name="RightHand" type="XRController3D" parent="XROrigin3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5) +tracker = &"right_hand" +pose = &"aim" diff --git a/addons/godot-xr-tools/staging/staging.gd b/addons/godot-xr-tools/staging/staging.gd index 543d115f..324e525e 100644 --- a/addons/godot-xr-tools/staging/staging.gd +++ b/addons/godot-xr-tools/staging/staging.gd @@ -1,6 +1,6 @@ -tool +@tool class_name XRToolsStaging -extends Spatial +extends Node3D ## XR Tools Staging @@ -48,10 +48,10 @@ signal xr_ended ## Main scene file -export (String, FILE, '*.tscn') var main_scene : String +@export_file('*.tscn') var main_scene : String ## If true, the player is prompted to continue -export var prompt_for_continue : bool = true +@export var prompt_for_continue : bool = true # Current scene @@ -60,6 +60,9 @@ var current_scene : XRToolsSceneBase # Current scene path var current_scene_path : String +# Tween for fading +var _tween : Tween + ## WorldEnvironment ## @@ -70,74 +73,69 @@ var current_scene_path : String ## scenes. Instead we will obtain the environment from our demo ## scene and manage it here. Our world environment at the start ## belongs to our loading screen and we need to keep a copy. -onready var loading_screen_environment = $WorldEnvironment.environment - -## Resource queue for loading resources -onready var resource_queue = XRToolsResourceQueue.new() +@onready var loading_screen_environment = $WorldEnvironment.environment ## XR Origin -onready var arvr_origin : ARVROrigin = ARVRHelpers.get_arvr_origin(self) +@onready var xr_origin : XROrigin3D = XRHelpers.get_xr_origin(self) ## XR Camera -onready var arvr_camera : ARVRCamera = ARVRHelpers.get_arvr_camera(self) +@onready var xr_camera : XRCamera3D = XRHelpers.get_xr_camera(self) func _ready(): # Do not initialise if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return # Specify the camera to track - if arvr_camera: - $LoadingScreen.set_camera(arvr_camera) - - # Start our resource loader - resource_queue.start() + if xr_camera: + $LoadingScreen.set_camera(xr_camera) # We start by loading our main level scene load_scene(main_scene) # Verifies our staging has a valid configuration. -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + # Report missing XR Origin - var test_origin : ARVROrigin = ARVRHelpers.get_arvr_origin(self) + var test_origin : XROrigin3D = XRHelpers.get_xr_origin(self) if !test_origin: - return "No ARVROrigin node found, please add one" + warnings.append("No XROrigin3D node found, please add one") # Report missing XR Camera - var test_camera : ARVRCamera = ARVRHelpers.get_arvr_camera(self) + var test_camera : XRCamera3D = XRHelpers.get_xr_camera(self) if !test_camera: - return "No ARVRCamera node found, please add one to your ARVROrigin node" + warnings.append("No XRCamera3D node found, please add one to your XROrigin3D node") # Report main scene not specified if main_scene == "": - return "No main scene selected" + warnings.append("No main scene selected") # Report main scene invalid - var file = File.new() - if !file.file_exists(main_scene): - return "Main scene doesn't exist" + if !FileAccess.file_exists(main_scene): + warnings.append("Main scene doesn't exist") - # Passed validation - return "" + # Return warnings + return warnings -# Add support for is_class on XRTools classes -func is_class(name : String) -> bool: - return name == "XRToolsStaging" or .is_class(name) +# Add support for is_xr_class on XRTools classes +func is_xr_class(name : String) -> bool: + return name == "XRToolsStaging" ## Load the specified scene func load_scene(p_scene_path : String) -> void: # Do not load if in the editor - if Engine.editor_hint: + if Engine.is_editor_hint(): return - if !arvr_origin: + if !xr_origin: return - if !arvr_camera: + if !xr_camera: return if current_scene: @@ -150,10 +148,11 @@ func load_scene(p_scene_path : String) -> void: _remove_signals(current_scene) # Fade to black - $Tween.remove_all() - $Tween.interpolate_method(self, "set_fade", 0.0, 1.0, 1.0) - $Tween.start() - yield($Tween, "tween_all_completed") + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 0.0, 1.0, 1.0) + await _tween.finished # Now we remove our scene emit_signal("scene_exiting", current_scene) @@ -163,8 +162,9 @@ func load_scene(p_scene_path : String) -> void: current_scene = null # Make our loading screen visible again and reset some stuff - arvr_origin.set_process_internal(true) - arvr_camera.current = true + xr_origin.set_process_internal(true) + xr_origin.current = true + xr_camera.current = true $WorldEnvironment.environment = loading_screen_environment $LoadingScreen.progress = 0.0 $LoadingScreen.enable_press_to_continue = false @@ -173,58 +173,73 @@ func load_scene(p_scene_path : String) -> void: emit_signal("switching_to_loading_scene") # Fade to visible - $Tween.remove_all() - $Tween.interpolate_method(self, "set_fade", 1.0, 0.0, 1.0) - $Tween.start() - yield($Tween, "tween_all_completed") + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 1.0, 0.0, 1.0) + await _tween.finished + + # Load the new scene + var new_scene : PackedScene + if ResourceLoader.has_cached(p_scene_path): + # Load cached scene + new_scene = ResourceLoader.load(p_scene_path) + else: + # Start the loading in a thread + ResourceLoader.load_threaded_request(p_scene_path) - # Attempt to load our scene - resource_queue.queue_resource(p_scene_path) - while !resource_queue.is_ready(p_scene_path): - # wait a bit - yield(get_tree().create_timer(0.3), "timeout") + # Loop waiting for the scene to load + while true: + var progress := [] + var res := ResourceLoader.load_threaded_get_status(p_scene_path, progress) + if res != ResourceLoader.THREAD_LOAD_IN_PROGRESS: + break; - $LoadingScreen.progress = resource_queue.get_progress(p_scene_path) + $LoadingScreen.progress = progress[0] + await get_tree().create_timer(0.1).timeout - var new_scene : PackedScene = resource_queue.get_resource(p_scene_path) + # Get the loaded scene + new_scene = ResourceLoader.load_threaded_get(p_scene_path) # Wait for user to be ready if prompt_for_continue: $LoadingScreen.enable_press_to_continue = true - yield($LoadingScreen, "continue_pressed") + await $LoadingScreen.continue_pressed # Fade to black - $Tween.remove_all() - $Tween.interpolate_method(self, "set_fade", 0.0, 1.0, 1.0) - $Tween.start() - yield($Tween, "tween_all_completed") + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 0.0, 1.0, 1.0) + await _tween.finished # Hide our loading screen $LoadingScreen.follow_camera = false $LoadingScreen.visible = false - # Turn off internal process on our ARVROrigin node, the internal process - # of our ARVROrigin will submit its positioning data to the ARVRServer. - # With two ARVROrigin nodes we'll get competing data. - arvr_origin.set_process_internal(false) + # Turn off internal process on our FPController, the internal process + # of our XROrigin3D will submit its positioning data to the XRServer. + # With two XROrigin3D nodes we'll get competing data. + xr_origin.set_process_internal(false) # Setup our new scene - current_scene = new_scene.instance() + current_scene = new_scene.instantiate() current_scene_path = p_scene_path $Scene.add_child(current_scene) $WorldEnvironment.environment = current_scene.environment _add_signals(current_scene) # We create a small delay here to give tracking some time to update our nodes... - yield(get_tree().create_timer(0.1), "timeout") + await get_tree().create_timer(0.1).timeout current_scene.scene_loaded() emit_signal("scene_loaded", current_scene) # Fade to visible - $Tween.remove_all() - $Tween.interpolate_method(self, "set_fade", 1.0, 0.0, 1.0) - $Tween.start() - yield($Tween, "tween_all_completed") + if _tween: + _tween.kill() + _tween = get_tree().create_tween() + _tween.tween_method(set_fade, 1.0, 0.0, 1.0) + await _tween.finished current_scene.scene_visible() emit_signal("scene_visible", current_scene) @@ -239,22 +254,22 @@ func set_fade(p_value : float): if p_value == 0.0: $Fade.visible = false else: - var material : ShaderMaterial = $Fade.get_surface_material(0) + var material : ShaderMaterial = $Fade.get_surface_override_material(0) if material: - material.set_shader_param("alpha", p_value) + material.set_shader_parameter("alpha", p_value) $Fade.visible = true func _add_signals(p_scene : XRToolsSceneBase): - p_scene.connect("request_exit_to_main_menu", self, "_on_exit_to_main_menu") - p_scene.connect("request_load_scene", self, "_on_load_scene") - p_scene.connect("request_reset_scene", self, "_on_reset_scene") + p_scene.connect("request_exit_to_main_menu", _on_exit_to_main_menu) + p_scene.connect("request_load_scene", _on_load_scene) + p_scene.connect("request_reset_scene", _on_reset_scene) func _remove_signals(p_scene : XRToolsSceneBase): - p_scene.disconnect("request_exit_to_main_menu", self, "_on_exit_to_main_menu") - p_scene.disconnect("request_load_scene", self, "_on_load_scene") - p_scene.disconnect("request_reset_scene", self, "_on_reset_scene") + p_scene.disconnect("request_exit_to_main_menu", _on_exit_to_main_menu) + p_scene.disconnect("request_load_scene", _on_load_scene) + p_scene.disconnect("request_reset_scene", _on_reset_scene) func _on_exit_to_main_menu(): diff --git a/addons/godot-xr-tools/staging/staging.tscn b/addons/godot-xr-tools/staging/staging.tscn index 307fa1f2..f6c15447 100644 --- a/addons/godot-xr-tools/staging/staging.tscn +++ b/addons/godot-xr-tools/staging/staging.tscn @@ -1,57 +1,58 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=10 format=3 uid="uid://bnqnnnet4dw12"] -[ext_resource path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/staging/staging.gd" type="Script" id=2] -[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/staging/fade.gdshader" type="Shader" id=4] -[ext_resource path="res://addons/godot-xr-tools/xr/start_xr.tscn" type="PackedScene" id=5] +[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/staging.gd" id="1"] +[ext_resource type="PackedScene" uid="uid://bqumugyvkct4r" path="res://addons/godot-xr-tools/staging/loading_screen.tscn" id="2"] +[ext_resource type="Shader" path="res://addons/godot-xr-tools/staging/fade.gdshader" id="4"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="6_balvx"] -[sub_resource type="QuadMesh" id=4] -custom_aabb = AABB( -5000, -5000, -5000, 10000, 10000, 10000 ) -size = Vector2( 2, 2 ) +[sub_resource type="QuadMesh" id="4"] +custom_aabb = AABB(-5000, -5000, -5000, 10000, 10000, 10000) +size = Vector2(2, 2) -[sub_resource type="ShaderMaterial" id=3] -shader = ExtResource( 4 ) -shader_param/alpha = 0.0 +[sub_resource type="ShaderMaterial" id="ShaderMaterial_snlak"] +render_priority = 0 +shader = ExtResource("4") +shader_parameter/alpha = null -[sub_resource type="ProceduralSky" id=1] +[sub_resource type="Sky" id="1"] -[sub_resource type="Environment" id=2] +[sub_resource type="Environment" id="2"] background_mode = 1 -background_sky = SubResource( 1 ) +sky = SubResource("1") -[node name="Staging" type="Spatial"] -script = ExtResource( 2 ) +[node name="Staging" type="Node3D"] +script = ExtResource("1") +main_scene = "" -[node name="Fade" type="MeshInstance" parent="."] -mesh = SubResource( 4 ) -material/0 = SubResource( 3 ) +[node name="Fade" type="MeshInstance3D" parent="."] +mesh = SubResource("4") +surface_material_override/0 = SubResource("ShaderMaterial_snlak") [node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource( 2 ) +environment = SubResource("2") -[node name="LoadingScreen" parent="." instance=ExtResource( 3 )] -progress = 0.0 - -[node name="Scene" type="Spatial" parent="."] +[node name="XROrigin3D" type="XROrigin3D" parent="."] -[node name="Tween" type="Tween" parent="."] +[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"] -[node name="ARVROrigin" type="ARVROrigin" parent="."] +[node name="VRCommonShaderCache" parent="XROrigin3D/XRCamera3D" instance=ExtResource("5")] -[node name="ARVRCamera" type="ARVRCamera" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0 ) +[node name="LeftHandController" type="XRController3D" parent="XROrigin3D"] +tracker = &"left_hand" +pose = &"aim" -[node name="VRCommonShaderCache" parent="ARVROrigin/ARVRCamera" instance=ExtResource( 1 )] +[node name="RightHandController" type="XRController3D" parent="XROrigin3D"] +tracker = &"right_hand" +pose = &"aim" -[node name="LeftHand" type="ARVRController" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5 ) +[node name="LoadingScreen" parent="." instance=ExtResource("2")] +progress = 0.0 -[node name="RightHand" type="ARVRController" parent="ARVROrigin"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 ) -controller_id = 2 +[node name="Scene" type="Node3D" parent="."] -[node name="StartXR" parent="." instance=ExtResource( 5 )] +[node name="StartXR" parent="." instance=ExtResource("6_balvx")] +physics_rate_multiplier = 1 [connection signal="xr_ended" from="StartXR" to="." method="_on_StartXR_xr_ended"] [connection signal="xr_started" from="StartXR" to="." method="_on_StartXR_xr_started"] diff --git a/addons/godot-xr-tools/user_settings/user_settings.gd b/addons/godot-xr-tools/user_settings/user_settings.gd index d3a9c428..8f355dab 100644 --- a/addons/godot-xr-tools/user_settings/user_settings.gd +++ b/addons/godot-xr-tools/user_settings/user_settings.gd @@ -1,19 +1,40 @@ extends Node +## Emitted when the WebXR primary is changed (either by the user or auto detected). +signal webxr_primary_changed (value) + + +enum WebXRPrimary { + AUTO, + THUMBSTICK, + TRACKPAD, +} + + ## User setting for snap-turn -export var snap_turning : bool = true +@export var snap_turning : bool = true ## User setting for player height adjust -export var player_height_adjust : float = 0.0 setget set_player_height_adjust +@export var player_height_adjust : float = 0.0: set = set_player_height_adjust + +## User setting for WebXR primary +@export var webxr_primary : WebXRPrimary = WebXRPrimary.AUTO: set = set_webxr_primary ## Settings file name to persist user settings var settings_file_name : String = "user://xtools_user_settings.json" +## Records the first input to generate input (thumbstick or trackpad). +var webxr_auto_primary := 0 + # Called when the node enters the scene tree for the first time. func _ready(): + var webxr_interface = XRServer.find_interface("WebXR") + if webxr_interface: + XRServer.tracker_added.connect(self._on_webxr_tracker_added) + _load() @@ -22,6 +43,8 @@ func reset_to_defaults() -> void: # Reset to defaults snap_turning = XRTools.get_default_snap_turning() player_height_adjust = 0.0 + webxr_primary = WebXRPrimary.AUTO + webxr_auto_primary = 0 ## Set the player height adjust property @@ -29,29 +52,58 @@ func set_player_height_adjust(new_value : float) -> void: player_height_adjust = clamp(new_value, -1.0, 1.0) +## Set the WebXR primary +func set_webxr_primary(new_value : WebXRPrimary) -> void: + webxr_primary = new_value + if webxr_primary == WebXRPrimary.AUTO: + if webxr_auto_primary == 0: + # Don't emit the signal yet, wait until we detect which to use. + pass + else: + webxr_primary_changed.emit(webxr_auto_primary) + else: + webxr_primary_changed.emit(webxr_primary) + + +## Gets the WebXR primary (taking into account auto detection). +func get_real_webxr_primary() -> WebXRPrimary: + if webxr_primary == WebXRPrimary.AUTO: + return webxr_auto_primary + return webxr_primary + + ## Save the settings to file func save() -> void: - # Convert the settings to a dictionary - var settings := { + # Construct the settings dictionary + var data = { "input" : { - "default_snap_turning" : snap_turning + "default_snap_turning" : snap_turning, }, "player" : { "height_adjust" : player_height_adjust + }, + "webxr" : { + "webxr_primary" : webxr_primary, } } - # Convert the settings dictionary to text - var settings_text := to_json(settings) + # Save to file + var file := FileAccess.open(settings_file_name, FileAccess.WRITE) + if file: + file.store_line(JSON.stringify(data)) - # Attempt to open the settings file for writing - var file := File.new() - if file.open(settings_file_name, File.WRITE) != OK: - return - # Write the settings text to the file - file.store_line(settings_text) - file.close() +## Get the action associated with a WebXR primary choice +static func get_webxr_primary_action(primary : WebXRPrimary) -> String: + match primary: + WebXRPrimary.THUMBSTICK: + return "thumbstick" + + WebXRPrimary.TRACKPAD: + return "trackpad" + + _: + return "auto" ## Load the settings from file @@ -59,34 +111,57 @@ func _load() -> void: # First reset our values reset_to_defaults() - # Skip if no settings file found - var file := File.new() - if !file.file_exists(settings_file_name): + # Now attempt to load our settings file + if !FileAccess.file_exists(settings_file_name): return - # Attempt to open the settings file for reading - if file.open(settings_file_name, File.READ) != OK: - # File open failed with an error + # Attempt to open the file + var file := FileAccess.open(settings_file_name, FileAccess.READ) + if not file: return - # Read the settings text - var settings_text := file.get_as_text() - file.close() - - # Parse the settings text and verify it's a dictionary - var settings_raw = parse_json(settings_text) - if typeof(settings_raw) != TYPE_DICTIONARY: + # Read the file as text + var text = file.get_as_text() + if text.is_empty(): return + # Parse the settings dictionary + var data : Dictionary = JSON.parse_string(text) + # Parse our input settings - var settings : Dictionary = settings_raw - if settings.has("input"): - var input : Dictionary = settings["input"] + if data.has("input"): + var input : Dictionary = data["input"] if input.has("default_snap_turning"): snap_turning = input["default_snap_turning"] # Parse our player settings - if settings.has("player"): - var player : Dictionary = settings["player"] + if data.has("player"): + var player : Dictionary = data["player"] if player.has("height_adjust"): player_height_adjust = player["height_adjust"] + + # Parse our WebXR settings + if data.has("webxr"): + var webxr : Dictionary = data["webxr"] + if webxr.has("webxr_primary"): + webxr_primary = webxr["webxr_primary"] + + +## Used to connect to tracker events when using WebXR. +func _on_webxr_tracker_added(tracker_name: StringName, _type: int) -> void: + if tracker_name == &"left_hand" or tracker_name == &"right_hand": + var tracker := XRServer.get_tracker(tracker_name) + tracker.input_vector2_changed.connect(self._on_webxr_vector2_changed) + + +## Used to auto detect which "primary" input gets used first. +func _on_webxr_vector2_changed(name: String, _vector: Vector2) -> void: + if webxr_auto_primary == 0: + if name == "thumbstick": + webxr_auto_primary = WebXRPrimary.THUMBSTICK + elif name == "trackpad": + webxr_auto_primary = WebXRPrimary.TRACKPAD + + if webxr_auto_primary != 0: + # Let the developer know which one is chosen. + webxr_primary_changed.emit(webxr_auto_primary) diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.gd b/addons/godot-xr-tools/user_settings/user_settings_ui.gd index d071d6ba..da427dbb 100644 --- a/addons/godot-xr-tools/user_settings/user_settings_ui.gd +++ b/addons/godot-xr-tools/user_settings/user_settings_ui.gd @@ -1,18 +1,25 @@ extends TabContainer -export (NodePath) var camera +@export_node_path("XRCamera3D") var camera -export var player_head_height : float = 0.1 +@export var player_head_height : float = 0.1 func _update(): # Input - $Input/SnapTurning/SnapTurningCB.pressed = XRToolsUserSettings.snap_turning + $Input/SnapTurning/SnapTurningCB.button_pressed = XRToolsUserSettings.snap_turning # Player $Player/PlayerHeight/PlayerHeightSlider.value = XRToolsUserSettings.player_height_adjust + # WebXR + $WebXR/WebXR/WebXRPrimary.selected = XRToolsUserSettings.webxr_primary + + # Called when the node enters the scene tree for the first time. func _ready(): + var webxr_interface = XRServer.find_interface("WebXR") + set_tab_hidden(2, webxr_interface == null) + if XRToolsUserSettings: _update() else: @@ -32,7 +39,7 @@ func _on_Reset_pressed(): # Input settings changed func _on_SnapTurningCB_pressed(): - XRToolsUserSettings.snap_turning = $Input/SnapTurning/SnapTurningCB.pressed + XRToolsUserSettings.snap_turning = $Input/SnapTurning/SnapTurningCB.button_pressed # Player settings changed func _on_PlayerHeightSlider_drag_ended(_value_changed): @@ -40,7 +47,7 @@ func _on_PlayerHeightSlider_drag_ended(_value_changed): func _on_PlayerHeightStandard_pressed(): - if !camera: + if camera.is_empty(): return var camera_node = get_node_or_null(camera) @@ -51,3 +58,7 @@ func _on_PlayerHeightStandard_pressed(): var height_adjust = XRTools.get_player_standard_height() - base_height XRToolsUserSettings.player_height_adjust = height_adjust $Player/PlayerHeight/PlayerHeightSlider.value = XRToolsUserSettings.player_height_adjust + + +func _on_web_xr_primary_item_selected(index: int) -> void: + XRToolsUserSettings.webxr_primary = index diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.tscn b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn index 898b76b1..f0300d56 100644 --- a/addons/godot-xr-tools/user_settings/user_settings_ui.tscn +++ b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn @@ -1,136 +1,133 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://ytsxet2k47lj"] -[ext_resource path="res://addons/godot-xr-tools/user_settings/user_settings_ui.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/user_settings/user_settings_ui.gd" id="1"] [node name="UserSettingsUI" type="TabContainer"] -rect_min_size = Vector2( 250, 200 ) -tab_align = 0 -script = ExtResource( 1 ) +offset_right = 214.0 +offset_bottom = 126.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_font_sizes/font_size = 12 +script = ExtResource("1") [node name="Input" type="VBoxContainer" parent="."] -visible = false -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 4.0 -margin_top = 32.0 -margin_right = -4.0 -margin_bottom = -4.0 +layout_mode = 2 [node name="SnapTurning" type="HBoxContainer" parent="Input"] -margin_right = 242.0 -margin_bottom = 24.0 +layout_mode = 2 [node name="Label" type="Label" parent="Input/SnapTurning"] -margin_top = 1.0 -margin_right = 100.0 -margin_bottom = 22.0 -rect_min_size = Vector2( 100, 21 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Snap turning:" -align = 2 -valign = 1 [node name="SnapTurningCB" type="CheckBox" parent="Input/SnapTurning"] -margin_left = 104.0 -margin_right = 128.0 -margin_bottom = 24.0 +layout_mode = 2 [node name="HSeparator" type="HSeparator" parent="Input"] -margin_top = 28.0 -margin_right = 242.0 -margin_bottom = 32.0 +layout_mode = 2 [node name="Buttons" type="HBoxContainer" parent="Input"] -margin_top = 36.0 -margin_right = 242.0 -margin_bottom = 61.0 -custom_constants/separation = 10 +layout_mode = 2 alignment = 1 [node name="Save" type="Button" parent="Input/Buttons"] -margin_left = 41.0 -margin_right = 116.0 -margin_bottom = 25.0 -rect_min_size = Vector2( 75, 25 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Apply" [node name="Reset" type="Button" parent="Input/Buttons"] -margin_left = 126.0 -margin_right = 201.0 -margin_bottom = 25.0 -rect_min_size = Vector2( 75, 25 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Reset" [node name="Player" type="VBoxContainer" parent="."] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 4.0 -margin_top = 32.0 -margin_right = -4.0 -margin_bottom = -4.0 +visible = false +layout_mode = 2 [node name="PlayerHeight" type="HBoxContainer" parent="Player"] -margin_right = 242.0 -margin_bottom = 21.0 +layout_mode = 2 [node name="Label" type="Label" parent="Player/PlayerHeight"] -margin_right = 100.0 -margin_bottom = 21.0 -rect_min_size = Vector2( 100, 21 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Height adjust:" -align = 2 -valign = 1 [node name="PlayerHeightSlider" type="HSlider" parent="Player/PlayerHeight"] -margin_left = 104.0 -margin_right = 229.0 -margin_bottom = 16.0 -rect_min_size = Vector2( 125, 0 ) +layout_mode = 2 +size_flags_horizontal = 3 min_value = -1.0 max_value = 1.0 step = 0.1 [node name="PlayerHeightCalc" type="HBoxContainer" parent="Player"] -margin_top = 25.0 -margin_right = 242.0 -margin_bottom = 50.0 +layout_mode = 2 [node name="Label" type="Label" parent="Player/PlayerHeightCalc"] -margin_top = 5.0 -margin_right = 100.0 -margin_bottom = 19.0 -rect_min_size = Vector2( 100, 0 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 [node name="PlayerHeightStandard" type="Button" parent="Player/PlayerHeightCalc"] -margin_left = 104.0 -margin_right = 229.0 -margin_bottom = 25.0 -rect_min_size = Vector2( 125, 25 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Set to standard" [node name="HSeparator" type="HSeparator" parent="Player"] -margin_top = 54.0 -margin_right = 242.0 -margin_bottom = 58.0 +layout_mode = 2 [node name="Buttons" type="HBoxContainer" parent="Player"] -margin_top = 62.0 -margin_right = 242.0 -margin_bottom = 87.0 -custom_constants/separation = 10 +layout_mode = 2 alignment = 1 [node name="Save" type="Button" parent="Player/Buttons"] -margin_left = 41.0 -margin_right = 116.0 -margin_bottom = 25.0 -rect_min_size = Vector2( 75, 25 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Apply" [node name="Reset" type="Button" parent="Player/Buttons"] -margin_left = 126.0 -margin_right = 201.0 -margin_bottom = 25.0 -rect_min_size = Vector2( 75, 25 ) +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Reset" + +[node name="WebXR" type="VBoxContainer" parent="."] +visible = false +layout_mode = 2 + +[node name="WebXR" type="HBoxContainer" parent="WebXR"] +layout_mode = 2 + +[node name="Label" type="Label" parent="WebXR/WebXR"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "WebXR primary:" + +[node name="WebXRPrimary" type="OptionButton" parent="WebXR/WebXR"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +item_count = 3 +selected = 0 +popup/item_0/text = "Auto" +popup/item_0/id = 0 +popup/item_1/text = "Thumbstick" +popup/item_1/id = 1 +popup/item_2/text = "Trackpad" +popup/item_2/id = 2 + +[node name="HSeparator" type="HSeparator" parent="WebXR"] +layout_mode = 2 + +[node name="Buttons" type="HBoxContainer" parent="WebXR"] +layout_mode = 2 +alignment = 1 + +[node name="Save" type="Button" parent="WebXR/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 +text = "Apply" + +[node name="Reset" type="Button" parent="WebXR/Buttons"] +layout_mode = 2 +theme_override_font_sizes/font_size = 12 text = "Reset" [connection signal="pressed" from="Input/SnapTurning/SnapTurningCB" to="." method="_on_SnapTurningCB_pressed"] @@ -140,3 +137,6 @@ text = "Reset" [connection signal="pressed" from="Player/PlayerHeightCalc/PlayerHeightStandard" to="." method="_on_PlayerHeightStandard_pressed"] [connection signal="pressed" from="Player/Buttons/Save" to="." method="_on_Save_pressed"] [connection signal="pressed" from="Player/Buttons/Reset" to="." method="_on_Reset_pressed"] +[connection signal="item_selected" from="WebXR/WebXR/WebXRPrimary" to="." method="_on_web_xr_primary_item_selected"] +[connection signal="pressed" from="WebXR/Buttons/Save" to="." method="_on_Save_pressed"] +[connection signal="pressed" from="WebXR/Buttons/Reset" to="." method="_on_Reset_pressed"] diff --git a/addons/godot-xr-tools/xr/start_xr.gd b/addons/godot-xr-tools/xr/start_xr.gd index f9fae2ac..b7cbce11 100644 --- a/addons/godot-xr-tools/xr/start_xr.gd +++ b/addons/godot-xr-tools/xr/start_xr.gd @@ -1,4 +1,4 @@ -tool +@tool class_name XRToolsStartXR extends Node @@ -27,52 +27,43 @@ signal xr_ended ## If true, the XR interface is automatically initialized -export var auto_initialize : bool = true - -## Adjusts the pixel density on the rendering target -export var render_target_size_multiplier : float = 1.0 +@export var auto_initialize : bool = true ## If true, the XR passthrough is enabled (OpenXR only) -export var enable_passthrough : bool = false setget _set_enable_passthrough +@export var enable_passthrough : bool = false: set = _set_enable_passthrough ## Physics rate multiplier compared to HMD frame rate -export var physics_rate_multiplier : int = 1 +@export var physics_rate_multiplier : int = 1 ## If non-zero, specifies the target refresh rate -export var target_refresh_rate : float = 0 +@export var target_refresh_rate : float = 0 ## Current XR interface -var xr_interface : ARVRInterface +var xr_interface : XRInterface ## XR active flag var xr_active : bool = false -# OpenXR configuration (of type OpenXRConfig.gdns) -var _openxr_configuration - -# OpenXR enabled extensions -var _openxr_enabled_extensions : Array - # Current refresh rate var _current_refresh_rate : float = 0 # Handle auto-initialization when ready func _ready() -> void: - if !Engine.editor_hint and auto_initialize: + if !Engine.is_editor_hint() and auto_initialize: initialize() ## Initialize the XR interface func initialize() -> bool: # Check for OpenXR interface - xr_interface = ARVRServer.find_interface('OpenXR') + xr_interface = XRServer.find_interface('OpenXR') if xr_interface: return _setup_for_openxr() # Check for WebXR interface - xr_interface = ARVRServer.find_interface('WebXR') + xr_interface = XRServer.find_interface('WebXR') if xr_interface: return _setup_for_webxr() @@ -83,56 +74,40 @@ func initialize() -> bool: # Check for configuration issues -func _get_configuration_warning(): +func _get_configuration_warnings() -> PackedStringArray: + var warnings := PackedStringArray() + if physics_rate_multiplier < 1: - return "Physics rate multiplier should be at least 1x the HMD rate" + warnings.append("Physics rate multiplier should be at least 1x the HMD rate") - return "" + return warnings # Perform OpenXR setup func _setup_for_openxr() -> bool: print("OpenXR: Configuring interface") - # Load the OpenXR configuration resource - var openxr_config_res := load("res://addons/godot-openxr/config/OpenXRConfig.gdns") - if not openxr_config_res: - push_error("OpenXR: Unable to load OpenXRConfig.gdns") - return false - - # Create the OpenXR configuration class - _openxr_configuration = openxr_config_res.new() - - # Set the render target size multiplier - must be done befor initializing interface - _openxr_configuration.render_target_size_multiplier = render_target_size_multiplier - # Initialize the OpenXR interface - if not xr_interface.interface_is_initialized: + if not xr_interface.is_initialized(): print("OpenXR: Initializing interface") if not xr_interface.initialize(): push_error("OpenXR: Failed to initialize") return false - # Print the system name - print("OpenXR: System name: ", _openxr_configuration.get_system_name()) - # Connect the OpenXR events - ARVRServer.connect("openxr_session_begun", self, "_on_openxr_session_begun") - ARVRServer.connect("openxr_visible_state", self, "_on_openxr_visible_state") - ARVRServer.connect("openxr_focused_state", self, "_on_openxr_focused_state") - - # Read the OpenXR enabled extensions - _openxr_enabled_extensions = _openxr_configuration.get_enabled_extensions() + xr_interface.connect("session_begun", _on_openxr_session_begun) + xr_interface.connect("session_visible", _on_openxr_visible_state) + xr_interface.connect("session_focussed", _on_openxr_focused_state) # Check for passthrough - if enable_passthrough and _openxr_is_passthrough_supported(): - enable_passthrough = _openxr_start_passthrough() + if enable_passthrough and xr_interface.is_passthrough_supported(): + enable_passthrough = xr_interface.start_passthrough() # Disable vsync - OS.vsync_enabled = false + DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED) # Switch the viewport to XR - get_viewport().arvr = true + get_viewport().use_xr = true # Report success return true @@ -142,11 +117,8 @@ func _setup_for_openxr() -> bool: func _on_openxr_session_begun() -> void: print("OpenXR: Session begun") - # Our interface will tell us whether we should keep our render buffer in linear color space - get_viewport().keep_3d_linear = _openxr_configuration.keep_3d_linear() - # Get the reported refresh rate - _current_refresh_rate = _openxr_configuration.get_refresh_rate() + _current_refresh_rate = xr_interface.get_display_refresh_rate() if _current_refresh_rate > 0: print("OpenXR: Refresh rate reported as ", str(_current_refresh_rate)) else: @@ -154,7 +126,7 @@ func _on_openxr_session_begun() -> void: # Pick a desired refresh rate var desired_rate := target_refresh_rate if target_refresh_rate > 0 else _current_refresh_rate - var available_rates : Array = _openxr_configuration.get_available_refresh_rates() + var available_rates : Array = xr_interface.get_available_display_refresh_rates() if available_rates.size() == 0: print("OpenXR: Target does not support refresh rate extension") elif available_rates.size() == 1: @@ -164,14 +136,14 @@ func _on_openxr_session_begun() -> void: var rate = _find_closest(available_rates, desired_rate) if rate > 0: print("OpenXR: Setting refresh rate to ", str(rate)) - _openxr_configuration.set_refresh_rate(rate) + xr_interface.set_display_refresh_rate(rate) _current_refresh_rate = rate - # increase our physics engine update speed + # Pick a physics rate var active_rate := _current_refresh_rate if _current_refresh_rate > 0 else 144.0 var physics_rate := int(round(active_rate * physics_rate_multiplier)) print("Setting physics rate to ", physics_rate) - Engine.iterations_per_second = physics_rate + Engine.physics_ticks_per_second = physics_rate # Handle OpenXR visible state @@ -199,35 +171,12 @@ func _set_enable_passthrough(p_new_value : bool) -> void: # Only actually start our passthrough if our interface has been instanced # if not this will be delayed until initialise is successfully called. - if xr_interface and _openxr_configuration: + if xr_interface: if enable_passthrough: # unset enable_passthrough if we can't start it. - enable_passthrough = _openxr_start_passthrough() + enable_passthrough = xr_interface.start_passthrough() else: - _openxr_stop_passthrough() - - -# Test if passthrough is supported -func _openxr_is_passthrough_supported() -> bool: - return _openxr_enabled_extensions.find("XR_FB_passthrough") >= 0 - - -# Start OpenXR passthrough -func _openxr_start_passthrough() -> bool: - # Set viewport transparent background - get_viewport().transparent_bg = true - - # Enable passthrough - return _openxr_configuration.start_passthrough() - - -# Stop OpenXR passthrough -func _openxr_stop_passthrough() -> void: - # Clear viewport transparent background - get_viewport().transparent_bg = false - - # Disable passthrough - _openxr_configuration.stop_passthrough() + xr_interface.stop_passthrough() # Perform WebXR setup @@ -235,17 +184,17 @@ func _setup_for_webxr() -> bool: print("WebXR: Configuring interface") # Connect the WebXR events - xr_interface.connect("session_supported", self, "_on_webxr_session_supported") - xr_interface.connect("session_started", self, "_on_webxr_session_started") - xr_interface.connect("session_ended", self, "_on_webxr_session_ended") - xr_interface.connect("session_failed", self, "_on_webxr_session_failed") + xr_interface.connect("session_supported", _on_webxr_session_supported) + xr_interface.connect("session_started", _on_webxr_session_started) + xr_interface.connect("session_ended", _on_webxr_session_ended) + xr_interface.connect("session_failed", _on_webxr_session_failed) # WebXR currently has no means of querying the refresh rate, so use # something sufficiently high - Engine.iterations_per_second = 144 + Engine.physics_ticks_per_second = 144 # If the viewport is already in XR mode then we are done. - if get_viewport().arvr: + if get_viewport().use_xr: return true # This returns immediately - our _webxr_session_supported() method @@ -273,7 +222,7 @@ func _on_webxr_session_started() -> void: # Hide the canvas and switch the viewport to XR $EnterWebXR.visible = false - get_viewport().arvr = true + get_viewport().use_xr = true # Report the XR starting xr_active = true @@ -286,7 +235,7 @@ func _on_webxr_session_ended() -> void: # Show the canvas and switch the viewport to non-XR $EnterWebXR.visible = true - get_viewport().arvr = false + get_viewport().use_xr = false # Report the XR ending xr_active = false @@ -306,7 +255,6 @@ func _on_enter_webxr_button_pressed() -> void: xr_interface.requested_reference_space_types = 'bounded-floor, local-floor, local' xr_interface.required_features = 'local-floor' xr_interface.optional_features = 'bounded-floor' - xr_interface.xr_standard_mapping = true # Initialize the interface. This should trigger either _on_webxr_session_started # or _on_webxr_session_failed diff --git a/addons/godot-xr-tools/xr/start_xr.tscn b/addons/godot-xr-tools/xr/start_xr.tscn index f600145d..fc156c5d 100644 --- a/addons/godot-xr-tools/xr/start_xr.tscn +++ b/addons/godot-xr-tools/xr/start_xr.tscn @@ -1,22 +1,26 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://clc5dre31iskm"] -[ext_resource path="res://addons/godot-xr-tools/xr/start_xr.gd" type="Script" id=1] +[ext_resource type="Script" path="res://addons/godot-xr-tools/xr/start_xr.gd" id="1_ljt1b"] [node name="StartXR" type="Node"] -script = ExtResource( 1 ) +script = ExtResource("1_ljt1b") +physics_rate_multiplier = 1.0 [node name="EnterWebXR" type="CanvasLayer" parent="."] visible = false [node name="EnterVRButton" type="Button" parent="EnterWebXR"] +anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -margin_left = -132.0 -margin_top = -52.5 -margin_right = 132.0 -margin_bottom = 52.5 +offset_left = -132.0 +offset_top = -52.5 +offset_right = 132.0 +offset_bottom = 52.5 +grow_horizontal = 2 +grow_vertical = 2 text = "Enter VR" [connection signal="pressed" from="EnterWebXR/EnterVRButton" to="." method="_on_enter_webxr_button_pressed"] diff --git a/addons/godot-xr-tools/xr_tools.gd b/addons/godot-xr-tools/xr_tools.gd index 6bc63e04..becb811f 100644 --- a/addons/godot-xr-tools/xr_tools.gd +++ b/addons/godot-xr-tools/xr_tools.gd @@ -1,39 +1,6 @@ class_name XRTools extends Node -# This class contains global definitions for our XRTools library - -# enum our axis -enum Axis { - VR_PRIMARY_X_AXIS = 0, - VR_PRIMARY_Y_AXIS = 1, - VR_SECONDARY_X_AXIS = 6, - VR_SECONDARY_Y_AXIS = 7, - VR_TRIGGER_AXIS = 2, - VR_GRIP_AXIS = 4 -} - - -# enum our buttons -enum Buttons { - VR_BUTTON_BY = 1, - VR_GRIP = 2, - VR_BUTTON_3 = 3, - VR_BUTTON_4 = 4, - VR_BUTTON_5 = 5, - VR_BUTTON_6 = 6, - VR_BUTTON_AX = 7, - VR_BUTTON_8 = 8, - VR_BUTTON_9 = 9, - VR_BUTTON_10 = 10, - VR_BUTTON_11 = 11, - VR_BUTTON_12 = 12, - VR_BUTTON_13 = 13, - VR_PAD = 14, - VR_TRIGGER = 15, - VR_ACTION = 255 ## Only supported in function pointer, should solve that differently!! -} - static func get_grip_threshold() -> float: # can return null which is not a float, so don't type this! @@ -125,7 +92,7 @@ static func set_player_standard_height(p_height : float) -> void: ## nodes, or whether to only check the immediate children. ## ## The owned argument specifies whether the node must be owned. -static func find_children( +static func find_xr_children( node : Node, pattern : String, type : String = "", @@ -134,7 +101,7 @@ static func find_children( # Find the children var found := [] if node: - _find_children(found, node, pattern, type, recursive, owned) + _find_xr_children(found, node, pattern, type, recursive, owned) return found ## Find a child of the specified node matching the given criteria @@ -152,7 +119,7 @@ static func find_children( ## nodes, or whether to only check the immediate children. ## ## The owned argument specifies whether the node must be owned. -static func find_child( +static func find_xr_child( node : Node, pattern : String, type : String = "", @@ -160,7 +127,7 @@ static func find_child( owned : bool = true) -> Node: # Find the child if node: - return _find_child(node, pattern, type, recursive, owned) + return _find_xr_child(node, pattern, type, recursive, owned) # Invalid node return null @@ -175,7 +142,7 @@ static func find_child( ## ## The type argument specifies the type of node to find. Use "" to match any ## type. -static func find_ancestor( +static func find_xr_ancestor( node : Node, pattern : String, type : String = "") -> Node: @@ -183,7 +150,7 @@ static func find_ancestor( while node: # If node matches filter then break if (node.name.match(pattern) and - (type == "" or node.is_class(type))): + (type == "" or is_xr_class(node, type))): break # Advance to parent @@ -193,7 +160,7 @@ static func find_ancestor( return node # Recursive helper function for find_children. -static func _find_children( +static func _find_xr_children( found : Array, node : Node, pattern : String, @@ -207,16 +174,16 @@ static func _find_children( # If child matches filter then add it to the array if (child.name.match(pattern) and - (type == "" or child.is_class(type)) and + (type == "" or is_xr_class(child, type)) and (not owned or child.owner)): found.push_back(child) # If recursive is enabled then descend into children if recursive: - _find_children(found, child, pattern, type, recursive, owned) + _find_xr_children(found, child, pattern, type, recursive, owned) # Recursive helper functiomn for find_child -static func _find_child( +static func _find_xr_child( node : Node, pattern : String, type : String, @@ -229,15 +196,23 @@ static func _find_child( # If child matches filter then return it if (child.name.match(pattern) and - (type == "" or child.is_class(type)) and + (type == "" or is_xr_class(child, type)) and (not owned or child.owner)): return child # If recursive is enabled then descend into children if recursive: - var found := _find_child(child, pattern, type, recursive, owned) + var found := _find_xr_child(child, pattern, type, recursive, owned) if found: return found # Not found return null + +# Test if a given node is of the specified class +static func is_xr_class(node : Node, type : String) -> bool: + if node.has_method("is_xr_class"): + if node.is_xr_class(type): + return true + + return node.is_class(type) diff --git a/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import b/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import index cbc68f2d..ae8c1791 100644 --- a/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import +++ b/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import @@ -1,35 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.stex" +type="CompressedTexture2D" +uid="uid://dqoe1c5yn5dnv" +path.bptc="res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.bptc.ctex" +path.astc="res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.astc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true } [deps] source_file="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg" -dest_files=[ "res://.import/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.stex" ] +dest_files=["res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.bptc.ctex", "res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.astc.ctex"] [params] -compress/mode=0 +compress/mode=2 +compress/high_quality=true compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/footsteps/default_footstep.ogg.import b/assets/footsteps/default_footstep.ogg.import new file mode 100644 index 00000000..1abb4e8a --- /dev/null +++ b/assets/footsteps/default_footstep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://1pvhce6jale0" +path="res://.godot/imported/default_footstep.ogg-7e783a6a4a857808e4d6ab521d97dec5.oggvorbisstr" + +[deps] + +source_file="res://assets/footsteps/default_footstep.ogg" +dest_files=["res://.godot/imported/default_footstep.ogg-7e783a6a4a857808e4d6ab521d97dec5.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/footsteps/default_footstep.wav.import b/assets/footsteps/default_footstep.wav.import index 73397ef3..e3bd0f20 100644 --- a/assets/footsteps/default_footstep.wav.import +++ b/assets/footsteps/default_footstep.wav.import @@ -1,13 +1,14 @@ [remap] importer="wav" -type="AudioStreamSample" -path="res://.import/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample" +type="AudioStreamWAV" +uid="uid://cddgfn5xkknr4" +path="res://.godot/imported/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample" [deps] source_file="res://assets/footsteps/default_footstep.wav" -dest_files=[ "res://.import/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample" ] +dest_files=["res://.godot/imported/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample"] [params] diff --git a/assets/footsteps/grass_footstep.ogg.import b/assets/footsteps/grass_footstep.ogg.import new file mode 100644 index 00000000..7c7d57ce --- /dev/null +++ b/assets/footsteps/grass_footstep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://di2mvj64s1ykq" +path="res://.godot/imported/grass_footstep.ogg-11247a302dcdd9e3719af4c0193776fa.oggvorbisstr" + +[deps] + +source_file="res://assets/footsteps/grass_footstep.ogg" +dest_files=["res://.godot/imported/grass_footstep.ogg-11247a302dcdd9e3719af4c0193776fa.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/footsteps/grass_footstep.wav.import b/assets/footsteps/grass_footstep.wav.import index 093f3b18..1ae8f7e7 100644 --- a/assets/footsteps/grass_footstep.wav.import +++ b/assets/footsteps/grass_footstep.wav.import @@ -1,13 +1,14 @@ [remap] importer="wav" -type="AudioStreamSample" -path="res://.import/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample" +type="AudioStreamWAV" +uid="uid://dl3u65cveimdq" +path="res://.godot/imported/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample" [deps] source_file="res://assets/footsteps/grass_footstep.wav" -dest_files=[ "res://.import/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample" ] +dest_files=["res://.godot/imported/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample"] [params] diff --git a/assets/footsteps/mud_footstep.ogg.import b/assets/footsteps/mud_footstep.ogg.import new file mode 100644 index 00000000..37fe6b84 --- /dev/null +++ b/assets/footsteps/mud_footstep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cr8gitem2utdd" +path="res://.godot/imported/mud_footstep.ogg-7037238fe005102e9ddd7e51a9099967.oggvorbisstr" + +[deps] + +source_file="res://assets/footsteps/mud_footstep.ogg" +dest_files=["res://.godot/imported/mud_footstep.ogg-7037238fe005102e9ddd7e51a9099967.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/footsteps/mud_footstep.wav.import b/assets/footsteps/mud_footstep.wav.import index b41ece1c..09794354 100644 --- a/assets/footsteps/mud_footstep.wav.import +++ b/assets/footsteps/mud_footstep.wav.import @@ -1,13 +1,14 @@ [remap] importer="wav" -type="AudioStreamSample" -path="res://.import/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample" +type="AudioStreamWAV" +uid="uid://bu3r7384vd488" +path="res://.godot/imported/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample" [deps] source_file="res://assets/footsteps/mud_footstep.wav" -dest_files=[ "res://.import/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample" ] +dest_files=["res://.godot/imported/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample"] [params] diff --git a/assets/footsteps/puddle_footstep.ogg.import b/assets/footsteps/puddle_footstep.ogg.import new file mode 100644 index 00000000..a342db2a --- /dev/null +++ b/assets/footsteps/puddle_footstep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cvxjtvoif1jyy" +path="res://.godot/imported/puddle_footstep.ogg-5273758367d1d69b3ade5bc1c8e04ac5.oggvorbisstr" + +[deps] + +source_file="res://assets/footsteps/puddle_footstep.ogg" +dest_files=["res://.godot/imported/puddle_footstep.ogg-5273758367d1d69b3ade5bc1c8e04ac5.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/footsteps/puddle_footstep.wav.import b/assets/footsteps/puddle_footstep.wav.import index d3fc3d50..1dc1c348 100644 --- a/assets/footsteps/puddle_footstep.wav.import +++ b/assets/footsteps/puddle_footstep.wav.import @@ -1,13 +1,14 @@ [remap] importer="wav" -type="AudioStreamSample" -path="res://.import/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample" +type="AudioStreamWAV" +uid="uid://dkladw5jiqfnb" +path="res://.godot/imported/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample" [deps] source_file="res://assets/footsteps/puddle_footstep.wav" -dest_files=[ "res://.import/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample" ] +dest_files=["res://.godot/imported/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample"] [params] diff --git a/assets/footsteps/snow_footstep.ogg.import b/assets/footsteps/snow_footstep.ogg.import new file mode 100644 index 00000000..88526168 --- /dev/null +++ b/assets/footsteps/snow_footstep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c3ao6lhc7um4b" +path="res://.godot/imported/snow_footstep.ogg-7e1bcc3ef0b8143bef0df51cc7cd7511.oggvorbisstr" + +[deps] + +source_file="res://assets/footsteps/snow_footstep.ogg" +dest_files=["res://.godot/imported/snow_footstep.ogg-7e1bcc3ef0b8143bef0df51cc7cd7511.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/assets/footsteps/snow_footstep.wav.import b/assets/footsteps/snow_footstep.wav.import index 3dfcbaac..f962923d 100644 --- a/assets/footsteps/snow_footstep.wav.import +++ b/assets/footsteps/snow_footstep.wav.import @@ -1,13 +1,14 @@ [remap] importer="wav" -type="AudioStreamSample" -path="res://.import/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample" +type="AudioStreamWAV" +uid="uid://c7670m64eawbp" +path="res://.godot/imported/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample" [deps] source_file="res://assets/footsteps/snow_footstep.wav" -dest_files=[ "res://.import/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample" ] +dest_files=["res://.godot/imported/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample"] [params] diff --git a/assets/godot/splash.png.import b/assets/godot/splash.png.import index f2e02dca..74018306 100644 --- a/assets/godot/splash.png.import +++ b/assets/godot/splash.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.stex" -path.etc="res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.etc.stex" +type="CompressedTexture2D" +uid="uid://ftrrxm7sxndi" +path.s3tc="res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.ctex" +path.etc2="res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/godot/splash.png" -dest_files=[ "res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.stex", "res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.etc.stex" ] +dest_files=["res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.ctex", "res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/maps/basic_map.tscn b/assets/maps/basic_map.tscn index eb88963f..154496a7 100644 --- a/assets/maps/basic_map.tscn +++ b/assets/maps/basic_map.tscn @@ -1,84 +1,84 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=6 format=3 uid="uid://rypqa6qcv0st"] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"] -[sub_resource type="QuadMesh" id=7] -size = Vector2( 96, 96 ) +[sub_resource type="QuadMesh" id="7"] +size = Vector2(96, 96) -[sub_resource type="BoxShape" id=6] -extents = Vector3( 50, 1, 50 ) +[sub_resource type="BoxShape3D" id="6"] +size = Vector3(100, 2, 100) -[sub_resource type="QuadMesh" id=8] -size = Vector2( 96, 16 ) +[sub_resource type="QuadMesh" id="8"] +size = Vector2(96, 16) -[sub_resource type="BoxShape" id=4] -extents = Vector3( 50, 8, 1 ) +[sub_resource type="BoxShape3D" id="4"] +size = Vector3(100, 16, 2) -[node name="BasicMap" type="Spatial"] +[node name="BasicMap" type="Node3D"] -[node name="DirectionalLight" type="DirectionalLight" parent="."] -transform = Transform( 0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0 ) +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0) light_energy = 0.8 -[node name="Ground" type="StaticBody" parent="."] +[node name="Ground" type="StaticBody3D" parent="."] -[node name="MeshInstance" type="MeshInstance" parent="Ground"] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0 ) -mesh = SubResource( 7 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0) +mesh = SubResource("7") +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="Ground"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) -shape = SubResource( 6 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) +shape = SubResource("6") -[node name="Wall1" type="StaticBody" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -48 ) +[node name="Wall1" type="StaticBody3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -48) -[node name="MeshInstance" type="MeshInstance" parent="Wall1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 ) -mesh = SubResource( 8 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0) +mesh = SubResource("8") skeleton = NodePath("../..") -material/0 = ExtResource( 2 ) +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="Wall1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1) +shape = SubResource("4") -[node name="Wall2" type="StaticBody" parent="."] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 48, 0, 0 ) +[node name="Wall2" type="StaticBody3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 48, 0, 0) -[node name="MeshInstance" type="MeshInstance" parent="Wall2"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 ) -mesh = SubResource( 8 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0) +mesh = SubResource("8") skeleton = NodePath("../..") -material/0 = ExtResource( 2 ) +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="Wall2"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1) +shape = SubResource("4") -[node name="Wall3" type="StaticBody" parent="."] -transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 48 ) +[node name="Wall3" type="StaticBody3D" parent="."] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 48) -[node name="MeshInstance" type="MeshInstance" parent="Wall3"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 ) -mesh = SubResource( 8 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0) +mesh = SubResource("8") skeleton = NodePath("../..") -material/0 = ExtResource( 2 ) +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="Wall3"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1) +shape = SubResource("4") -[node name="Wall4" type="StaticBody" parent="."] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -48, 0, 0 ) +[node name="Wall4" type="StaticBody3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -48, 0, 0) -[node name="MeshInstance" type="MeshInstance" parent="Wall4"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 ) -mesh = SubResource( 8 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0) +mesh = SubResource("8") skeleton = NodePath("../..") -material/0 = ExtResource( 2 ) +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="Wall4"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1) +shape = SubResource("4") diff --git a/assets/meshes/interactables/joystick_smooth.tscn b/assets/meshes/interactables/joystick_smooth.tscn index c9ab533f..ed3aa613 100644 --- a/assets/meshes/interactables/joystick_smooth.tscn +++ b/assets/meshes/interactables/joystick_smooth.tscn @@ -1,90 +1,90 @@ -[gd_scene load_steps=15 format=2] +[gd_scene load_steps=15 format=3 uid="uid://bvgjfffe0w2uu"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_7eu3q"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_w0c7s"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_cvp1w"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.1, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.2, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[node name="JoystickSmooth" type="Spatial"] +[node name="JoystickSmooth" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="JoystickOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="JoystickOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"] -script = ExtResource( 2 ) +[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"] +script = ExtResource("2") -[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_7eu3q")] +left_pose = ExtResource("6_w0c7s") +right_pose = ExtResource("7_cvp1w") -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("7") diff --git a/assets/meshes/interactables/joystick_snap.tscn b/assets/meshes/interactables/joystick_snap.tscn index 6d144a3e..357d0a7f 100644 --- a/assets/meshes/interactables/joystick_snap.tscn +++ b/assets/meshes/interactables/joystick_snap.tscn @@ -1,96 +1,96 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://bnckmqfewiysy"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_64ana"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_k7hp2"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_5j7kl"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.1, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.2, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_cq6vf"] margin = 0.12 radius = 0.06 -[node name="JoystickSnap" type="Spatial"] +[node name="JoystickSnap" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="JoystickOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="JoystickOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"] -script = ExtResource( 2 ) +[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"] +script = ExtResource("2") joystick_x_steps = 5.0 joystick_y_steps = 5.0 -[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_64ana")] +left_pose = ExtResource("6_k7hp2") +right_pose = ExtResource("7_5j7kl") -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_cq6vf") diff --git a/assets/meshes/interactables/joystick_zero.tscn b/assets/meshes/interactables/joystick_zero.tscn index 796ecf87..a193f288 100644 --- a/assets/meshes/interactables/joystick_zero.tscn +++ b/assets/meshes/interactables/joystick_zero.tscn @@ -1,95 +1,95 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://dtrftty6i383g"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_mkqe2"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_ywek1"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_t3wx4"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.1, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.2, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.2, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_hi87f"] margin = 0.12 radius = 0.06 -[node name="JoystickZero" type="Spatial"] +[node name="JoystickZero" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="JoystickOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="JoystickOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"] -script = ExtResource( 2 ) +[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"] +script = ExtResource("2") default_on_release = true -[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_mkqe2")] +left_pose = ExtResource("6_ywek1") +right_pose = ExtResource("7_t3wx4") -[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_hi87f") diff --git a/assets/meshes/interactables/lever_smooth.tscn b/assets/meshes/interactables/lever_smooth.tscn index c868d24e..b0d764be 100644 --- a/assets/meshes/interactables/lever_smooth.tscn +++ b/assets/meshes/interactables/lever_smooth.tscn @@ -1,94 +1,90 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=15 format=3 uid="uid://cs6dxfu5owcgo"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_tuhw3"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_rulf8"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_ue4vl"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] -margin = 0.12 -radius = 0.06 - -[node name="LeverSmooth" type="Spatial"] +[node name="LeverSmooth" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="LeverOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="LeverOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableLever" type="Spatial" parent="LeverOrigin"] -script = ExtResource( 2 ) +[node name="InteractableLever" type="Node3D" parent="LeverOrigin"] +script = ExtResource("2") -[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_tuhw3")] +left_pose = ExtResource("6_rulf8") +right_pose = ExtResource("7_ue4vl") -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("7") diff --git a/assets/meshes/interactables/lever_snap.tscn b/assets/meshes/interactables/lever_snap.tscn index 7edaa607..d0528ae3 100644 --- a/assets/meshes/interactables/lever_snap.tscn +++ b/assets/meshes/interactables/lever_snap.tscn @@ -1,95 +1,95 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://dxgv8axd355m7"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_wptrs"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_k8n68"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_r4cxy"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_2c34s"] margin = 0.12 radius = 0.06 -[node name="LeverSnap" type="Spatial"] +[node name="LeverSnap" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="LeverOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="LeverOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableLever" type="Spatial" parent="LeverOrigin"] -script = ExtResource( 2 ) +[node name="InteractableLever" type="Node3D" parent="LeverOrigin"] +script = ExtResource("2") hinge_steps = 5.0 -[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_wptrs")] +left_pose = ExtResource("6_k8n68") +right_pose = ExtResource("7_r4cxy") -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_2c34s") diff --git a/assets/meshes/interactables/lever_zero.tscn b/assets/meshes/interactables/lever_zero.tscn index f27c6351..bde53f51 100644 --- a/assets/meshes/interactables/lever_zero.tscn +++ b/assets/meshes/interactables/lever_zero.tscn @@ -1,95 +1,95 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://cll4pk3kuuq1"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_rm136"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_41y4y"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_nrov4"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_ak455"] margin = 0.12 radius = 0.06 -[node name="LeverZero" type="Spatial"] +[node name="LeverZero" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="LeverOrigin" type="Spatial" parent="."] -transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +[node name="LeverOrigin" type="Node3D" parent="."] +transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="InteractableLever" type="Spatial" parent="LeverOrigin"] -script = ExtResource( 2 ) +[node name="InteractableLever" type="Node3D" parent="LeverOrigin"] +script = ExtResource("2") default_on_release = true -[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_rm136")] +left_pose = ExtResource("6_41y4y") +right_pose = ExtResource("7_nrov4") -[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_ak455") diff --git a/assets/meshes/interactables/pose_grab_ball_left.tres b/assets/meshes/interactables/pose_grab_ball_left.tres index b7475a07..d962923f 100644 --- a/assets/meshes/interactables/pose_grab_ball_left.tres +++ b/assets/meshes/interactables/pose_grab_ball_left.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c5nxxsga5kesd"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=3] +[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="1_2tsp7"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_4yio3"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_pmy7y"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 3 ) -closed_pose = ExtResource( 2 ) +script = ExtResource("1_4yio3") +open_pose = ExtResource("2_pmy7y") +closed_pose = ExtResource("1_2tsp7") diff --git a/assets/meshes/interactables/pose_grab_ball_right.tres b/assets/meshes/interactables/pose_grab_ball_right.tres index 67614c0b..a31c5d0c 100644 --- a/assets/meshes/interactables/pose_grab_ball_right.tres +++ b/assets/meshes/interactables/pose_grab_ball_right.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dvvw0k7tqagx"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.anim" type="Animation" id=3] +[ext_resource type="Animation" uid="uid://rs7vpclot07o" path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.res" id="1_8iu1g"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_u1f48"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_qdi81"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1_u1f48") +open_pose = ExtResource("2_qdi81") +closed_pose = ExtResource("1_8iu1g") diff --git a/assets/meshes/interactables/pose_grab_wheel_left.tres b/assets/meshes/interactables/pose_grab_wheel_left.tres index f8c8a0ca..1a8b4fb9 100644 --- a/assets/meshes/interactables/pose_grab_wheel_left.tres +++ b/assets/meshes/interactables/pose_grab_wheel_left.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://bd1dxftyxdgup"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=3] +[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="1_rs51e"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_yqjd0"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_ti24b"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1_yqjd0") +open_pose = ExtResource("2_ti24b") +closed_pose = ExtResource("1_rs51e") diff --git a/assets/meshes/interactables/pose_grab_wheel_right.tres b/assets/meshes/interactables/pose_grab_wheel_right.tres index cb9a64d9..4e01a259 100644 --- a/assets/meshes/interactables/pose_grab_wheel_right.tres +++ b/assets/meshes/interactables/pose_grab_wheel_right.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dsiujx4dllwvd"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.anim" type="Animation" id=3] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_g47t4"] +[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="1_iahbe"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_ca3on"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1_g47t4") +open_pose = ExtResource("2_ca3on") +closed_pose = ExtResource("1_iahbe") diff --git a/assets/meshes/interactables/push_button.tscn b/assets/meshes/interactables/push_button.tscn index d79c887b..e3ca5ba2 100644 --- a/assets/meshes/interactables/push_button.tscn +++ b/assets/meshes/interactables/push_button.tscn @@ -1,78 +1,78 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://dbv1hvxufc1al"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" type="Script" id=2] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=5] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" id="2"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="3_2axcm"] +[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="4_sgcw0"] +[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="5_g2ih4"] -[sub_resource type="CylinderShape" id=1] +[sub_resource type="CylinderShape3D" id="1"] height = 0.05 radius = 0.05 -[sub_resource type="CylinderMesh" id=2] +[sub_resource type="CylinderMesh" id="2"] top_radius = 0.05 bottom_radius = 0.05 height = 0.05 radial_segments = 16 rings = 0 -[sub_resource type="CylinderShape" id=3] +[sub_resource type="CylinderShape3D" id="3"] height = 0.04 radius = 0.04 -[sub_resource type="CylinderMesh" id=4] +[sub_resource type="CylinderMesh" id="4"] top_radius = 0.04 bottom_radius = 0.04 height = 0.04 radial_segments = 16 rings = 0 -[sub_resource type="SpatialMaterial" id=5] -albedo_color = Color( 1, 0, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8y3ah"] +albedo_color = Color(1, 0, 0, 1) -[sub_resource type="CylinderShape" id=6] +[sub_resource type="CylinderShape3D" id="6"] height = 0.05 radius = 0.04 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="SphereShape3D_lygiq"] radius = 0.05 -[node name="PushButton" type="Spatial"] +[node name="PushButton" type="Node3D"] -[node name="ButtonBase" type="StaticBody" parent="."] +[node name="ButtonBase" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="ButtonBase"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="ButtonBase"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="ButtonBase"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="ButtonBase"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="Button" type="StaticBody" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0 ) +[node name="Button" type="StaticBody3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0) -[node name="CollisionShape" type="CollisionShape" parent="Button"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Button"] +shape = SubResource("3") -[node name="MeshInstance" type="MeshInstance" parent="Button"] -mesh = SubResource( 4 ) -material/0 = SubResource( 5 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Button"] +mesh = SubResource("4") +surface_material_override/0 = SubResource("StandardMaterial3D_8y3ah") -[node name="InteractableAreaButton" type="Area" parent="."] +[node name="InteractableAreaButton" type="Area3D" parent="."] collision_layer = 0 collision_mask = 131072 -script = ExtResource( 2 ) +script = ExtResource("2") button = NodePath("../Button") -[node name="CollisionShape" type="CollisionShape" parent="InteractableAreaButton"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0 ) -shape = SubResource( 6 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractableAreaButton"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0) +shape = SubResource("6") -[node name="HandPoseArea" parent="." instance=ExtResource( 3 )] -left_pose = ExtResource( 4 ) -right_pose = ExtResource( 5 ) +[node name="HandPoseArea" parent="." instance=ExtResource("3_2axcm")] +left_pose = ExtResource("4_sgcw0") +right_pose = ExtResource("5_g2ih4") -[node name="CollisionShape" type="CollisionShape" parent="HandPoseArea"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0246354, 0 ) -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HandPoseArea"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0) +shape = SubResource("SphereShape3D_lygiq") diff --git a/assets/meshes/interactables/slider_smooth.tscn b/assets/meshes/interactables/slider_smooth.tscn index 17eede6b..dc6d87fd 100644 --- a/assets/meshes/interactables/slider_smooth.tscn +++ b/assets/meshes/interactables/slider_smooth.tscn @@ -1,97 +1,93 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=15 format=3 uid="uid://cpwdvy41fqdua"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_8qwag"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_any72"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_xpnvq"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] -margin = 0.12 -radius = 0.06 - -[node name="SliderSmooth" type="Spatial"] +[node name="SliderSmooth" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="SliderOrigin" type="Spatial" parent="."] -transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 ) +[node name="SliderOrigin" type="Node3D" parent="."] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0) -[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"] -script = ExtResource( 2 ) +[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"] +script = ExtResource("2") slider_limit_max = 0.4 slider_position = 0.2 default_position = 0.2 -[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_8qwag")] +left_pose = ExtResource("6_any72") +right_pose = ExtResource("7_xpnvq") -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("7") diff --git a/assets/meshes/interactables/slider_snap.tscn b/assets/meshes/interactables/slider_snap.tscn index d9e4a629..67d3e1b6 100644 --- a/assets/meshes/interactables/slider_snap.tscn +++ b/assets/meshes/interactables/slider_snap.tscn @@ -1,98 +1,98 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://dukyhft262nrv"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_t8y5e"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_eeodv"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_6tlv7"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_b2cs2"] margin = 0.12 radius = 0.06 -[node name="SliderSnap" type="Spatial"] +[node name="SliderSnap" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="SliderOrigin" type="Spatial" parent="."] -transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 ) +[node name="SliderOrigin" type="Node3D" parent="."] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0) -[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"] -script = ExtResource( 2 ) +[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"] +script = ExtResource("2") slider_limit_max = 0.4 slider_steps = 0.1 slider_position = 0.2 default_position = 0.2 -[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_t8y5e")] +left_pose = ExtResource("6_eeodv") +right_pose = ExtResource("7_6tlv7") -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_b2cs2") diff --git a/assets/meshes/interactables/slider_zero.tscn b/assets/meshes/interactables/slider_zero.tscn index b4b499ce..b39b0bd2 100644 --- a/assets/meshes/interactables/slider_zero.tscn +++ b/assets/meshes/interactables/slider_zero.tscn @@ -1,98 +1,98 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=16 format=3 uid="uid://hv8nnbkuccxi"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6] -[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_ec2uv"] +[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_bqubh"] +[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_dmlvy"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.1, 0.3, 0.05 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 0.2, 0.6, 0.1 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(0.2, 0.6, 0.1) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.02, 0.02, 0.1 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereShape" id=4] +[sub_resource type="SphereShape3D" id="4"] radius = 0.06 -[sub_resource type="CubeMesh" id=5] -size = Vector3( 0.04, 0.04, 0.2 ) +[sub_resource type="BoxMesh" id="5"] +size = Vector3(0.04, 0.04, 0.2) -[sub_resource type="SphereMesh" id=6] +[sub_resource type="SphereMesh" id="6"] radius = 0.06 height = 0.12 radial_segments = 16 rings = 8 -[sub_resource type="SphereShape" id=7] +[sub_resource type="SphereShape3D" id="7"] margin = 0.12 radius = 0.06 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="SphereShape3D_tg476"] margin = 0.12 radius = 0.06 -[node name="SliderZero" type="Spatial"] +[node name="SliderZero" type="Node3D"] -[node name="Frame" type="StaticBody" parent="."] +[node name="Frame" type="StaticBody3D" parent="."] -[node name="CollisionShape" type="CollisionShape" parent="Frame"] -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"] +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="Frame"] -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"] +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="SliderOrigin" type="Spatial" parent="."] -transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 ) +[node name="SliderOrigin" type="Node3D" parent="."] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0) -[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"] -script = ExtResource( 2 ) +[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"] +script = ExtResource("2") slider_limit_max = 0.4 slider_position = 0.2 default_position = 0.2 default_on_release = true -[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) +[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) -[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -shape = SubResource( 3 ) +[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +shape = SubResource("3") -[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -shape = SubResource( 4 ) +[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +shape = SubResource("4") -[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -mesh = SubResource( 5 ) -material/0 = ExtResource( 3 ) +[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +mesh = SubResource("5") +surface_material_override/0 = ExtResource("3") -[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 ) -mesh = SubResource( 6 ) -material/0 = ExtResource( 3 ) +[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +mesh = SubResource("6") +surface_material_override/0 = ExtResource("3") -[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 ) +[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"] +[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 4 ) +freeze = true +script = ExtResource("4") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"] +shape = SubResource("7") -[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 7 ) +[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_ec2uv")] +left_pose = ExtResource("6_bqubh") +right_pose = ExtResource("7_dmlvy") -[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] -shape = SubResource( 8 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"] +shape = SubResource("SphereShape3D_tg476") diff --git a/assets/meshes/interactables/wheel_smooth.tscn b/assets/meshes/interactables/wheel_smooth.tscn index ec11de9c..729a1e24 100644 --- a/assets/meshes/interactables/wheel_smooth.tscn +++ b/assets/meshes/interactables/wheel_smooth.tscn @@ -1,159 +1,158 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=11 format=3 uid="uid://d2td5hwh2oluy"] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=1] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2] -[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=4] -[ext_resource path="res://assets/meshes/interactables/pose_grab_wheel_right.tres" type="Resource" id=5] -[ext_resource path="res://assets/meshes/interactables/pose_grab_wheel_left.tres" type="Resource" id=6] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="1"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="3"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="4_2vgo6"] +[ext_resource type="Resource" uid="uid://bd1dxftyxdgup" path="res://assets/meshes/interactables/pose_grab_wheel_left.tres" id="5_gt8jj"] +[ext_resource type="Resource" uid="uid://dsiujx4dllwvd" path="res://assets/meshes/interactables/pose_grab_wheel_right.tres" id="6_ss5gc"] -[sub_resource type="CylinderShape" id=1] +[sub_resource type="CylinderShape3D" id="1"] height = 0.02 radius = 0.2 -[sub_resource type="CylinderMesh" id=2] +[sub_resource type="CylinderMesh" id="2"] top_radius = 0.2 bottom_radius = 0.2 height = 0.02 radial_segments = 32 rings = 0 -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.01, 0.04, 0.05 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.02, 0.08, 0.1) -[sub_resource type="CylinderShape" id=4] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_3cy60"] height = 0.04 radius = 0.22 -[node name="WheelSmooth" type="Spatial"] +[node name="WheelSmooth" type="Node3D"] -[node name="HingeOrigin" type="Spatial" parent="."] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 ) +[node name="HingeOrigin" type="Node3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0) -[node name="InteractableHinge" type="Spatial" parent="HingeOrigin"] -script = ExtResource( 2 ) +[node name="InteractableHinge" type="Node3D" parent="HingeOrigin"] +script = ExtResource("2") hinge_limit_min = -360.0 hinge_limit_max = 360.0 -[node name="WheelBody" type="StaticBody" parent="HingeOrigin/InteractableHinge"] +[node name="WheelBody" type="StaticBody3D" parent="HingeOrigin/InteractableHinge"] -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/WheelBody"] -transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 ) -shape = SubResource( 1 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/WheelBody"] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="HingeOrigin/InteractableHinge/WheelBody"] -transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="HingeOrigin/InteractableHinge/WheelBody"] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") -[node name="Handle1" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 ) +[node name="Handle1" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle1"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle1"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle1/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle1/InteractableHandle"] +shape = SubResource("3") -[node name="Handle2" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.141, -0.141 ) +[node name="Handle2" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.141, -0.141) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle2"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle2"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) -picked_up_layer = 0 +freeze = true +script = ExtResource("3") -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle2/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle2/InteractableHandle"] +shape = SubResource("3") -[node name="Handle3" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.2 ) +[node name="Handle3" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.2) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle3"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle3"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle3/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle3/InteractableHandle"] +shape = SubResource("3") -[node name="Handle4" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, -0.707107, 0.707107, 0, -0.707107, -0.707107, 0, -0.141, -0.141 ) +[node name="Handle4" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, -0.707107, 0.707107, 0, -0.707107, -0.707107, 0, -0.141, -0.141) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle4"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle4"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle4/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle4/InteractableHandle"] +shape = SubResource("3") -[node name="Handle5" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, -0.2, 0 ) +[node name="Handle5" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, -0.2, 0) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle5"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle5"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle5/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle5/InteractableHandle"] +shape = SubResource("3") -[node name="Handle6" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, -0.707107, -0.707107, 0, 0.707107, -0.707107, 0, -0.141, 0.141 ) +[node name="Handle6" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, -0.707107, -0.707107, 0, 0.707107, -0.707107, 0, -0.141, 0.141) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle6"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle6"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle6/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle6/InteractableHandle"] +shape = SubResource("3") -[node name="Handle7" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, 1.19249e-08, -1, 0, 1, 1.19249e-08, 0, 0, 0.2 ) +[node name="Handle7" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, 1.19249e-08, -1, 0, 1, 1.19249e-08, 0, 0, 0.2) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle7"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle7"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle7/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle7/InteractableHandle"] +shape = SubResource("3") -[node name="Handle8" type="Spatial" parent="HingeOrigin/InteractableHinge"] -transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0.141, 0.141 ) +[node name="Handle8" type="Node3D" parent="HingeOrigin/InteractableHinge"] +transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0.141, 0.141) -[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle8"] +[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle8"] collision_layer = 262144 collision_mask = 0 -mode = 1 -script = ExtResource( 3 ) +freeze = true +script = ExtResource("3") picked_up_layer = 0 -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle8/InteractableHandle"] -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle8/InteractableHandle"] +shape = SubResource("3") -[node name="HandPoseArea" parent="HingeOrigin" instance=ExtResource( 4 )] -left_pose = ExtResource( 6 ) -right_pose = ExtResource( 5 ) +[node name="HandPoseArea" parent="HingeOrigin" instance=ExtResource("4_2vgo6")] +left_pose = ExtResource("5_gt8jj") +right_pose = ExtResource("6_ss5gc") -[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/HandPoseArea"] -transform = Transform( -4.37114e-08, 1, 4.37114e-08, -1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, 1, 0, 0, 0 ) -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/HandPoseArea"] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) +shape = SubResource("CylinderShape3D_3cy60") diff --git a/assets/meshes/mound/mound.glb.import b/assets/meshes/mound/mound.glb.import index 362a5f4b..f804d27a 100644 --- a/assets/meshes/mound/mound.glb.import +++ b/assets/meshes/mound/mound.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn" +uid="uid://b40l7e73lfwkf" +path="res://.godot/imported/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn" [deps] source_file="res://assets/meshes/mound/mound.glb" -dest_files=[ "res://.import/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn" ] +dest_files=["res://.godot/imported/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/mound/mound.tscn b/assets/meshes/mound/mound.tscn index 4c9f3467..56e4e187 100644 --- a/assets/meshes/mound/mound.tscn +++ b/assets/meshes/mound/mound.tscn @@ -1,32 +1,52 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=7 format=3 uid="uid://dpjfart2qg8k7"] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1] +[ext_resource type="Texture2D" uid="uid://bskwc0drdadnd" path="res://assets/wahooney.itch.io/brown_grid.png" id="1"] -[sub_resource type="ConvexPolygonShape" id=3] -points = PoolVector3Array( 2.5, 0, -0.00146341, 2.41435, 0.647024, -0.00146341, 2.41435, 0.595634, 1.0434, 2.49315, 0, 0.984865, 2.49315, 0, -0.986329, 2.41435, 0.595634, -1.04486, 2.16474, 1.25, -0.00146341, 2.16474, 1.19567, 1.10194, 2.41435, 0.442443, 2.07656, 2.47406, 0, 1.98876, 2.47406, 0, -1.99022, 2.41435, 0.442443, -2.07802, 2.16474, 1.19567, -1.1034, 1.76732, 1.76757, -0.00146341, 1.76732, 1.71104, 1.15316, 1.76732, 1.71104, -1.15462, 2.16474, 1.03367, 2.19363, 2.16474, 0.765466, 3.26484, 2.41435, 0.18843, 3.08923, 2.44029, 0, 3.03216, 2.44029, 0, -3.03362, 2.41435, 0.18843, -3.09069, 2.16474, 0.765466, -3.2663, 2.16474, 1.03367, -2.19509, 1.25, 2.16499, -0.00146341, 1.25, 2.10625, 1.1912, 1.25, 1.93128, 2.37216, 1.76732, 1.54145, 2.29461, 1.76732, 1.54145, -2.29607, 1.25, 1.93128, -2.37363, 1.25, 2.10625, -1.19267, 1.76732, 1.26101, 3.41557, 1.76732, 0.871917, 4.50287, 2.16474, 0.3935, 4.30385, 2.34142, 0, 4.14141, 2.41435, 0, 3.61751, 2.41435, 0, -3.61898, 1.76732, 1.26101, -3.41703, 2.34142, 0, -4.14287, 2.16474, 0.3935, -4.30531, 1.76732, 0.871917, -4.50433, 0.647023, 2.35488, -1.21755, 0.647023, 2.41459, -0.00146341, 0.647023, 2.35488, 1.21608, 0.647023, 2.17624, 2.42192, 1.25, 1.64105, 3.53117, 1.25, 1.64105, -3.53264, 0.647023, 2.17624, -2.42338, 1.25, 1.23899, 4.65506, 1.76732, 0.378083, 5.54627, 2.09671, 0, 5.34432, 2.16474, 0, 5.13652, 1.25, 1.23899, -4.65653, 2.16474, 0, -5.13798, 2.09671, 0, -5.34579, 1.76732, 0.378083, -5.54773, -9.53674e-07, 2.4398, -1.22633, -9.53674e-07, 2.5, -0.00146341, -9.53674e-07, 2.4398, 1.22486, -9.53674e-07, 2.25969, 2.43802, -9.53674e-07, 1.96163, 3.62776, 0.647023, 1.88014, 3.60288, 0.647023, 1.46975, 4.75018, 0.647023, 1.46975, -4.75165, 0.647023, 1.88014, -3.60434, -9.53674e-07, 1.96163, -3.62922, -9.53674e-07, 2.25969, -2.43948, 0.647023, 0.948757, 5.85212, 1.25, 0.728514, 5.73359, 1.25, 0.114771, 6.75796, 1.76732, 0, 6.17699, 1.25, 0.728514, -5.73505, 0.647023, 0.948757, -5.85358, 1.76732, 0, -6.17846, 1.25, 0.114771, -6.75943, -0.647515, 2.17624, -2.42338, -0.647515, 2.35488, -1.21755, -0.647515, 2.35488, 1.21608, -0.647515, 2.41459, -0.00146341, -0.647515, 2.17624, 2.42192, -0.647515, 1.88014, 3.60288, -0.647515, 1.46975, 4.75018, -9.53674e-07, 1.54831, 4.78238, -9.53674e-07, 1.02388, 5.89163, -9.53674e-07, 1.54831, -4.78384, -9.53674e-07, 1.02388, -5.8931, -0.647515, 1.88014, -3.60434, -0.647515, 1.46975, -4.75165, 0.647023, 0.322533, 6.89699, 1.42962, 0, 6.6804, 1.25, 0, 6.91308, 0.647023, 0.322533, -6.89845, 1.42962, 0, -6.68187, 1.25, 0, -6.91455, -1.25, 1.93128, -2.37363, -1.25, 2.10625, -1.19267, -1.25, 1.64105, -3.53264, -1.25, 2.16499, -0.00146341, -1.25, 2.10625, 1.1912, -1.25, 1.93128, 2.37216, -1.25, 1.64105, 3.53117, -1.25, 1.23899, 4.65506, -0.647515, 0.948757, 5.85212, -0.647515, 0.322533, 6.89699, -9.53674e-07, 0.393256, 6.94381, -9.53674e-07, 0.393256, -6.94528, -0.647515, 0.322533, -6.89845, -0.647515, 0.948757, -5.85358, -1.25, 1.23899, -4.65653, -9.53674e-07, 0, 7.47503, 0.647023, 0, 7.33161, 0.647023, 0, -7.33308, -1.76782, 1.26101, -3.41703, -1.76782, 1.54145, -2.29607, -1.76782, 1.71104, -1.15462, -1.76782, 1.76757, -0.00146341, -1.76782, 1.71104, 1.15316, -1.76782, 1.54145, 2.29461, -1.76782, 1.26101, 3.41557, -1.76782, 0.871917, 4.50287, -1.76782, 0.378083, 5.54627, -1.25, 0.728514, 5.73359, -1.25, 0.114771, 6.75796, -1.25, 0, 6.91308, -0.647515, 0, 7.33161, -9.53674e-07, 0, -7.47503, -0.647515, 0, -7.33308, -1.25, 0, -6.91455, -1.25, 0.114771, -6.75943, -1.25, 0.728514, -5.73505, -1.76782, 0.871917, -4.50433, -1.76782, 0.378083, -5.54773, -2.16523, 0.765466, -3.2663, -2.16523, 1.03367, -2.19509, -2.16523, 1.19567, -1.1034, -2.16523, 1.25, -0.00146341, -2.16523, 1.19567, 1.10194, -2.16523, 1.03367, 2.19363, -2.16523, 0.765466, 3.26484, -2.16523, 0.3935, 4.30385, -2.0972, 0, 5.34432, -1.76782, 0, 6.17699, -1.43011, 0, 6.6804, -1.43011, 0, -6.68187, -1.76782, 0, -6.17846, -2.0972, 0, -5.34579, -2.16523, 0.3935, -4.30531, -2.41484, 0.18843, -3.09069, -2.41484, 0.442443, -2.07802, -2.34192, 0, -4.14287, -2.41484, 0, -3.61898, -2.41484, 0.595634, -1.04486, -2.41484, 0.647024, -0.00146341, -2.41484, 0.595634, 1.0434, -2.41484, 0.442443, 2.07656, -2.41484, 0.18843, 3.08923, -2.41484, 0, 3.61751, -2.34192, 0, 4.14141, -2.16523, 0, 5.13652, -2.16523, 0, -5.13798, -2.44078, 0, -3.03362, -2.47455, 0, -1.99022, -2.49364, 0, -0.986329, -2.5, 0, -0.00146341, -2.49364, 0, 0.984865, -2.47455, 0, 1.98876, -2.44078, 0, 3.03216 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3sfqa"] +points = PackedVector3Array(2.5, 0, -0.00146341, 2.41435, 0.647024, -0.00146341, 2.41435, 0.595634, 1.0434, 2.49315, 0, 0.984865, 2.49315, 0, -0.986329, 2.41435, 0.595634, -1.04486, 2.16474, 1.25, -0.00146341, 2.16474, 1.19567, 1.10194, 2.41435, 0.442443, 2.07656, 2.47406, 0, 1.98876, 2.47406, 0, -1.99022, 2.41435, 0.442443, -2.07802, 2.16474, 1.19567, -1.1034, 1.76732, 1.71104, -1.15462, 1.76732, 1.76757, -0.00146341, 1.76732, 1.71104, 1.15316, 2.16474, 1.03367, 2.19363, 2.16474, 0.765466, 3.26484, 2.41435, 0.18843, 3.08923, 2.44029, 0, 3.03216, 2.44029, 0, -3.03362, 2.41435, 0.18843, -3.09069, 2.16474, 0.765466, -3.2663, 2.16474, 1.03367, -2.19509, 1.76732, 1.54145, -2.29607, 1.25, 1.93128, -2.37363, 1.25, 2.10625, -1.19267, 1.25, 2.16499, -0.00146341, 1.25, 2.10625, 1.1912, 1.25, 1.93128, 2.37216, 1.76732, 1.54145, 2.29461, 1.76732, 1.26101, 3.41557, 1.76732, 0.871917, 4.50287, 2.16474, 0.3935, 4.30385, 2.34142, 0, 4.14141, 2.41435, 0, 3.61751, 2.41435, 0, -3.61898, 1.76732, 1.26101, -3.41703, 2.34142, 0, -4.14287, 2.16474, 0.3935, -4.30531, 1.76732, 0.871917, -4.50433, 1.25, 1.64105, -3.53264, 0.647023, 2.17624, -2.42338, 0.647023, 2.35488, -1.21755, 0.647023, 2.41459, -0.00146341, 0.647023, 2.35488, 1.21608, 0.647023, 2.17624, 2.42192, 1.25, 1.64105, 3.53117, 1.25, 1.23899, 4.65506, 1.76732, 0.378083, 5.54627, 2.09671, 0, 5.34432, 2.16474, 0, 5.13652, 1.25, 1.23899, -4.65653, 2.16474, 0, -5.13798, 2.09671, 0, -5.34579, 1.76732, 0.378083, -5.54773, 0.647023, 1.46975, -4.75165, 0.647023, 1.88014, -3.60434, -9.53674e-07, 2.25969, -2.43948, -9.53674e-07, 2.4398, -1.22633, -9.53674e-07, 1.96163, -3.62922, -9.53674e-07, 2.5, -0.00146341, -9.53674e-07, 2.4398, 1.22486, -9.53674e-07, 2.25969, 2.43802, -9.53674e-07, 1.96163, 3.62776, 0.647023, 1.88014, 3.60288, 0.647023, 1.46975, 4.75018, 0.647023, 0.948757, 5.85212, 1.25, 0.728514, 5.73359, 1.25, 0.114771, 6.75796, 1.76732, 0, 6.17699, 1.25, 0.728514, -5.73505, 0.647023, 0.948757, -5.85358, 1.76732, 0, -6.17846, 1.25, 0.114771, -6.75943, -9.53674e-07, 1.54831, -4.78384, -9.53674e-07, 1.02388, -5.8931, -0.647515, 2.17624, -2.42338, -0.647515, 2.35488, -1.21755, -0.647515, 1.88014, -3.60434, -0.647515, 1.46975, -4.75165, -0.647515, 2.41459, -0.00146341, -0.647515, 2.35488, 1.21608, -0.647515, 2.17624, 2.42192, -0.647515, 1.88014, 3.60288, -0.647515, 1.46975, 4.75018, -9.53674e-07, 1.54831, 4.78238, -9.53674e-07, 1.02388, 5.89163, 0.647023, 0.322533, 6.89699, 1.42962, 0, 6.6804, 1.25, 0, 6.91308, 0.647023, 0.322533, -6.89845, 1.42962, 0, -6.68187, 1.25, 0, -6.91455, -9.53674e-07, 0.393256, -6.94528, -0.647515, 0.322533, -6.89845, -0.647515, 0.948757, -5.85358, -1.25, 1.93128, -2.37363, -1.25, 2.10625, -1.19267, -1.25, 1.64105, -3.53264, -1.25, 2.16499, -0.00146341, -1.25, 1.23899, -4.65653, -1.25, 2.10625, 1.1912, -1.25, 1.93128, 2.37216, -1.25, 1.64105, 3.53117, -1.25, 1.23899, 4.65506, -0.647515, 0.948757, 5.85212, -0.647515, 0.322533, 6.89699, -9.53674e-07, 0.393256, 6.94381, -9.53674e-07, 0, 7.47503, 0.647023, 0, 7.33161, 0.647023, 0, -7.33308, -9.53674e-07, 0, -7.47503, -0.647515, 0, -7.33308, -1.25, 0, -6.91455, -1.25, 0.114771, -6.75943, -1.25, 0.728514, -5.73505, -1.76782, 1.26101, -3.41703, -1.76782, 1.54145, -2.29607, -1.76782, 1.71104, -1.15462, -1.76782, 1.76757, -0.00146341, -1.76782, 1.71104, 1.15316, -1.76782, 0.378083, -5.54773, -1.76782, 0.871917, -4.50433, -1.76782, 1.54145, 2.29461, -1.76782, 1.26101, 3.41557, -1.76782, 0.871917, 4.50287, -1.76782, 0.378083, 5.54627, -1.25, 0.728514, 5.73359, -1.25, 0.114771, 6.75796, -1.25, 0, 6.91308, -0.647515, 0, 7.33161, -1.43011, 0, -6.68187, -1.76782, 0, -6.17846, -2.16523, 0.765466, -3.2663, -2.16523, 1.03367, -2.19509, -2.16523, 1.19567, -1.1034, -2.16523, 1.25, -0.00146341, -2.16523, 1.19567, 1.10194, -2.16523, 1.03367, 2.19363, -2.0972, 0, -5.34579, -2.16523, 0.3935, -4.30531, -2.16523, 0.765466, 3.26484, -2.16523, 0.3935, 4.30385, -2.0972, 0, 5.34432, -1.76782, 0, 6.17699, -1.43011, 0, 6.6804, -2.41484, 0.18843, -3.09069, -2.41484, 0.442443, -2.07802, -2.34192, 0, -4.14287, -2.41484, 0, -3.61898, -2.41484, 0.595634, -1.04486, -2.41484, 0.647024, -0.00146341, -2.41484, 0.595634, 1.0434, -2.41484, 0.442443, 2.07656, -2.16523, 0, -5.13798, -2.41484, 0.18843, 3.08923, -2.41484, 0, 3.61751, -2.34192, 0, 4.14141, -2.16523, 0, 5.13652, -2.44078, 0, -3.03362, -2.47455, 0, -1.99022, -2.49364, 0, -0.986329, -2.5, 0, -0.00146341, -2.49364, 0, 0.984865, -2.47455, 0, 1.98876, -2.44078, 0, 3.03216) -[sub_resource type="ArrayMesh" id=2] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sgl8b"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_11324"] +_surfaces = [{ +"aabb": AABB(-2.5, 0, -7.47503, 5, 2.5, 14.9501), +"format": 4097, +"index_count": 852, +"index_data": PackedByteArray(121, 0, 1, 0, 0, 0, 121, 0, 122, 0, 1, 0, 122, 0, 2, 0, 1, 0, 122, 0, 123, 0, 2, 0, 123, 0, 124, 0, 2, 0, 125, 0, 126, 0, 3, 0, 126, 0, 4, 0, 3, 0, 126, 0, 127, 0, 4, 0, 127, 0, 0, 0, 4, 0, 127, 0, 121, 0, 0, 0, 0, 0, 6, 0, 5, 0, 0, 0, 1, 0, 6, 0, 1, 0, 7, 0, 6, 0, 1, 0, 2, 0, 7, 0, 128, 0, 2, 0, 124, 0, 2, 0, 8, 0, 7, 0, 2, 0, 128, 0, 8, 0, 128, 0, 129, 0, 8, 0, 130, 0, 131, 0, 9, 0, 125, 0, 9, 0, 131, 0, 9, 0, 3, 0, 10, 0, 9, 0, 125, 0, 3, 0, 3, 0, 11, 0, 10, 0, 3, 0, 4, 0, 11, 0, 4, 0, 5, 0, 11, 0, 4, 0, 0, 0, 5, 0, 5, 0, 13, 0, 12, 0, 5, 0, 6, 0, 13, 0, 6, 0, 14, 0, 13, 0, 6, 0, 7, 0, 14, 0, 7, 0, 15, 0, 14, 0, 7, 0, 8, 0, 15, 0, 132, 0, 8, 0, 129, 0, 8, 0, 16, 0, 15, 0, 8, 0, 132, 0, 16, 0, 132, 0, 133, 0, 16, 0, 134, 0, 135, 0, 17, 0, 17, 0, 9, 0, 18, 0, 9, 0, 135, 0, 130, 0, 9, 0, 17, 0, 135, 0, 9, 0, 19, 0, 18, 0, 9, 0, 10, 0, 19, 0, 10, 0, 20, 0, 19, 0, 10, 0, 11, 0, 20, 0, 11, 0, 12, 0, 20, 0, 11, 0, 5, 0, 12, 0, 12, 0, 22, 0, 21, 0, 12, 0, 13, 0, 22, 0, 13, 0, 23, 0, 22, 0, 13, 0, 14, 0, 23, 0, 14, 0, 24, 0, 23, 0, 14, 0, 15, 0, 24, 0, 15, 0, 25, 0, 24, 0, 15, 0, 16, 0, 25, 0, 136, 0, 16, 0, 133, 0, 16, 0, 26, 0, 25, 0, 16, 0, 136, 0, 26, 0, 136, 0, 137, 0, 26, 0, 138, 0, 139, 0, 27, 0, 27, 0, 17, 0, 28, 0, 17, 0, 139, 0, 134, 0, 17, 0, 27, 0, 139, 0, 17, 0, 29, 0, 28, 0, 17, 0, 18, 0, 29, 0, 18, 0, 30, 0, 29, 0, 18, 0, 19, 0, 30, 0, 19, 0, 31, 0, 30, 0, 19, 0, 20, 0, 31, 0, 20, 0, 21, 0, 31, 0, 20, 0, 12, 0, 21, 0, 21, 0, 33, 0, 32, 0, 21, 0, 22, 0, 33, 0, 22, 0, 34, 0, 33, 0, 22, 0, 23, 0, 34, 0, 23, 0, 35, 0, 34, 0, 23, 0, 24, 0, 35, 0, 24, 0, 36, 0, 35, 0, 24, 0, 25, 0, 36, 0, 25, 0, 37, 0, 36, 0, 25, 0, 26, 0, 37, 0, 137, 0, 37, 0, 26, 0, 137, 0, 140, 0, 37, 0, 38, 0, 138, 0, 27, 0, 38, 0, 141, 0, 138, 0, 27, 0, 39, 0, 38, 0, 27, 0, 28, 0, 39, 0, 28, 0, 40, 0, 39, 0, 28, 0, 29, 0, 40, 0, 29, 0, 41, 0, 40, 0, 29, 0, 30, 0, 41, 0, 30, 0, 42, 0, 41, 0, 30, 0, 31, 0, 42, 0, 31, 0, 32, 0, 42, 0, 31, 0, 21, 0, 32, 0, 32, 0, 44, 0, 43, 0, 32, 0, 33, 0, 44, 0, 33, 0, 45, 0, 44, 0, 33, 0, 34, 0, 45, 0, 34, 0, 46, 0, 45, 0, 34, 0, 35, 0, 46, 0, 35, 0, 47, 0, 46, 0, 35, 0, 36, 0, 47, 0, 36, 0, 48, 0, 47, 0, 36, 0, 37, 0, 48, 0, 140, 0, 48, 0, 37, 0, 140, 0, 142, 0, 48, 0, 143, 0, 38, 0, 49, 0, 143, 0, 141, 0, 38, 0, 38, 0, 50, 0, 49, 0, 38, 0, 39, 0, 50, 0, 39, 0, 51, 0, 50, 0, 39, 0, 40, 0, 51, 0, 40, 0, 52, 0, 51, 0, 40, 0, 41, 0, 52, 0, 41, 0, 53, 0, 52, 0, 41, 0, 42, 0, 53, 0, 42, 0, 43, 0, 53, 0, 42, 0, 32, 0, 43, 0, 43, 0, 55, 0, 54, 0, 43, 0, 44, 0, 55, 0, 44, 0, 56, 0, 55, 0, 44, 0, 45, 0, 56, 0, 45, 0, 57, 0, 56, 0, 45, 0, 46, 0, 57, 0, 46, 0, 58, 0, 57, 0, 46, 0, 47, 0, 58, 0, 47, 0, 59, 0, 58, 0, 47, 0, 48, 0, 59, 0, 142, 0, 59, 0, 48, 0, 142, 0, 60, 0, 59, 0, 62, 0, 143, 0, 49, 0, 62, 0, 61, 0, 143, 0, 49, 0, 63, 0, 62, 0, 49, 0, 50, 0, 63, 0, 50, 0, 64, 0, 63, 0, 50, 0, 51, 0, 64, 0, 51, 0, 65, 0, 64, 0, 51, 0, 52, 0, 65, 0, 52, 0, 66, 0, 65, 0, 52, 0, 53, 0, 66, 0, 53, 0, 54, 0, 66, 0, 53, 0, 43, 0, 54, 0, 54, 0, 68, 0, 67, 0, 54, 0, 55, 0, 68, 0, 55, 0, 69, 0, 68, 0, 55, 0, 56, 0, 69, 0, 56, 0, 70, 0, 69, 0, 56, 0, 57, 0, 70, 0, 57, 0, 71, 0, 70, 0, 57, 0, 58, 0, 71, 0, 58, 0, 72, 0, 71, 0, 58, 0, 59, 0, 72, 0, 60, 0, 72, 0, 59, 0, 60, 0, 144, 0, 72, 0, 73, 0, 61, 0, 62, 0, 73, 0, 145, 0, 61, 0, 62, 0, 74, 0, 73, 0, 62, 0, 63, 0, 74, 0, 63, 0, 75, 0, 74, 0, 63, 0, 64, 0, 75, 0, 64, 0, 76, 0, 75, 0, 64, 0, 65, 0, 76, 0, 65, 0, 77, 0, 76, 0, 65, 0, 66, 0, 77, 0, 66, 0, 67, 0, 77, 0, 66, 0, 54, 0, 67, 0, 67, 0, 79, 0, 78, 0, 67, 0, 68, 0, 79, 0, 68, 0, 80, 0, 79, 0, 68, 0, 69, 0, 80, 0, 69, 0, 81, 0, 80, 0, 69, 0, 70, 0, 81, 0, 70, 0, 82, 0, 81, 0, 70, 0, 71, 0, 82, 0, 71, 0, 83, 0, 82, 0, 71, 0, 72, 0, 83, 0, 144, 0, 83, 0, 72, 0, 144, 0, 146, 0, 83, 0, 84, 0, 145, 0, 73, 0, 84, 0, 147, 0, 145, 0, 73, 0, 85, 0, 84, 0, 73, 0, 74, 0, 85, 0, 74, 0, 86, 0, 85, 0, 74, 0, 75, 0, 86, 0, 75, 0, 87, 0, 86, 0, 75, 0, 76, 0, 87, 0, 76, 0, 88, 0, 87, 0, 76, 0, 77, 0, 88, 0, 77, 0, 78, 0, 88, 0, 77, 0, 67, 0, 78, 0, 78, 0, 90, 0, 89, 0, 78, 0, 79, 0, 90, 0, 79, 0, 91, 0, 90, 0, 79, 0, 80, 0, 91, 0, 80, 0, 92, 0, 91, 0, 80, 0, 81, 0, 92, 0, 81, 0, 93, 0, 92, 0, 81, 0, 82, 0, 93, 0, 82, 0, 94, 0, 93, 0, 82, 0, 83, 0, 94, 0, 146, 0, 94, 0, 83, 0, 146, 0, 148, 0, 94, 0, 95, 0, 147, 0, 84, 0, 95, 0, 149, 0, 147, 0, 84, 0, 96, 0, 95, 0, 84, 0, 85, 0, 96, 0, 85, 0, 97, 0, 96, 0, 85, 0, 86, 0, 97, 0, 86, 0, 98, 0, 97, 0, 86, 0, 87, 0, 98, 0, 87, 0, 99, 0, 98, 0, 87, 0, 88, 0, 99, 0, 88, 0, 89, 0, 99, 0, 88, 0, 78, 0, 89, 0, 89, 0, 101, 0, 100, 0, 89, 0, 90, 0, 101, 0, 90, 0, 102, 0, 101, 0, 90, 0, 91, 0, 102, 0, 91, 0, 103, 0, 102, 0, 91, 0, 92, 0, 103, 0, 92, 0, 104, 0, 103, 0, 92, 0, 93, 0, 104, 0, 94, 0, 104, 0, 93, 0, 104, 0, 151, 0, 150, 0, 104, 0, 94, 0, 151, 0, 148, 0, 151, 0, 94, 0, 149, 0, 95, 0, 152, 0, 153, 0, 96, 0, 105, 0, 96, 0, 152, 0, 95, 0, 96, 0, 153, 0, 152, 0, 96, 0, 106, 0, 105, 0, 96, 0, 97, 0, 106, 0, 97, 0, 107, 0, 106, 0, 97, 0, 98, 0, 107, 0, 98, 0, 108, 0, 107, 0, 98, 0, 99, 0, 108, 0, 99, 0, 100, 0, 108, 0, 99, 0, 89, 0, 100, 0, 100, 0, 110, 0, 109, 0, 100, 0, 101, 0, 110, 0, 101, 0, 111, 0, 110, 0, 101, 0, 102, 0, 111, 0, 102, 0, 112, 0, 111, 0, 102, 0, 103, 0, 112, 0, 104, 0, 112, 0, 103, 0, 112, 0, 155, 0, 154, 0, 112, 0, 104, 0, 155, 0, 150, 0, 155, 0, 104, 0, 153, 0, 105, 0, 156, 0, 157, 0, 106, 0, 113, 0, 106, 0, 156, 0, 105, 0, 106, 0, 157, 0, 156, 0, 106, 0, 114, 0, 113, 0, 106, 0, 107, 0, 114, 0, 107, 0, 115, 0, 114, 0, 107, 0, 108, 0, 115, 0, 108, 0, 109, 0, 115, 0, 108, 0, 100, 0, 109, 0, 109, 0, 117, 0, 116, 0, 109, 0, 110, 0, 117, 0, 110, 0, 118, 0, 117, 0, 110, 0, 111, 0, 118, 0, 158, 0, 112, 0, 159, 0, 112, 0, 118, 0, 111, 0, 112, 0, 158, 0, 118, 0, 154, 0, 159, 0, 112, 0, 157, 0, 113, 0, 160, 0, 160, 0, 119, 0, 161, 0, 119, 0, 113, 0, 114, 0, 119, 0, 160, 0, 113, 0, 114, 0, 120, 0, 119, 0, 114, 0, 115, 0, 120, 0, 115, 0, 116, 0, 120, 0, 115, 0, 109, 0, 116, 0, 163, 0, 116, 0, 117, 0, 163, 0, 162, 0, 116, 0, 164, 0, 117, 0, 118, 0, 164, 0, 163, 0, 117, 0, 118, 0, 158, 0, 164, 0, 165, 0, 161, 0, 119, 0, 166, 0, 119, 0, 120, 0, 166, 0, 165, 0, 119, 0, 162, 0, 120, 0, 116, 0, 162, 0, 166, 0, 120, 0), +"lods": [0.280658, PackedByteArray(122, 0, 123, 0, 2, 0, 123, 0, 124, 0, 2, 0, 128, 0, 2, 0, 124, 0, 122, 0, 2, 0, 6, 0, 121, 0, 122, 0, 6, 0, 2, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 2, 0, 24, 0, 6, 0, 2, 0, 132, 0, 24, 0, 121, 0, 6, 0, 5, 0, 5, 0, 6, 0, 24, 0, 127, 0, 121, 0, 5, 0, 132, 0, 133, 0, 136, 0, 132, 0, 136, 0, 24, 0, 127, 0, 5, 0, 22, 0, 5, 0, 24, 0, 22, 0, 24, 0, 136, 0, 37, 0, 137, 0, 37, 0, 136, 0, 137, 0, 140, 0, 37, 0, 140, 0, 142, 0, 37, 0, 24, 0, 37, 0, 47, 0, 142, 0, 72, 0, 37, 0, 47, 0, 37, 0, 72, 0, 142, 0, 60, 0, 72, 0, 24, 0, 47, 0, 46, 0, 46, 0, 47, 0, 72, 0, 60, 0, 144, 0, 72, 0, 24, 0, 46, 0, 45, 0, 46, 0, 72, 0, 45, 0, 22, 0, 24, 0, 45, 0, 144, 0, 82, 0, 72, 0, 45, 0, 72, 0, 82, 0, 144, 0, 146, 0, 82, 0, 146, 0, 151, 0, 82, 0, 146, 0, 148, 0, 151, 0, 82, 0, 151, 0, 81, 0, 45, 0, 82, 0, 81, 0, 151, 0, 104, 0, 81, 0, 104, 0, 151, 0, 150, 0, 150, 0, 155, 0, 104, 0, 112, 0, 104, 0, 155, 0, 112, 0, 155, 0, 154, 0, 154, 0, 159, 0, 112, 0, 158, 0, 112, 0, 159, 0, 112, 0, 158, 0, 118, 0, 118, 0, 158, 0, 164, 0, 164, 0, 163, 0, 118, 0, 102, 0, 112, 0, 118, 0, 102, 0, 104, 0, 112, 0, 90, 0, 118, 0, 163, 0, 90, 0, 102, 0, 118, 0, 89, 0, 90, 0, 163, 0, 89, 0, 163, 0, 162, 0, 79, 0, 102, 0, 90, 0, 80, 0, 104, 0, 102, 0, 79, 0, 80, 0, 102, 0, 80, 0, 81, 0, 104, 0, 77, 0, 79, 0, 90, 0, 77, 0, 90, 0, 89, 0, 54, 0, 80, 0, 79, 0, 56, 0, 81, 0, 80, 0, 54, 0, 56, 0, 80, 0, 56, 0, 45, 0, 81, 0, 44, 0, 56, 0, 54, 0, 44, 0, 45, 0, 56, 0, 66, 0, 54, 0, 79, 0, 66, 0, 79, 0, 77, 0, 66, 0, 44, 0, 54, 0, 33, 0, 45, 0, 44, 0, 22, 0, 45, 0, 33, 0, 22, 0, 33, 0, 44, 0, 19, 0, 22, 0, 44, 0, 19, 0, 44, 0, 66, 0, 10, 0, 22, 0, 19, 0, 127, 0, 22, 0, 10, 0, 126, 0, 127, 0, 10, 0, 9, 0, 126, 0, 10, 0, 9, 0, 10, 0, 19, 0, 9, 0, 125, 0, 126, 0, 125, 0, 9, 0, 131, 0, 130, 0, 131, 0, 9, 0, 9, 0, 135, 0, 130, 0, 9, 0, 19, 0, 41, 0, 41, 0, 19, 0, 66, 0, 9, 0, 17, 0, 135, 0, 134, 0, 135, 0, 17, 0, 9, 0, 41, 0, 40, 0, 17, 0, 9, 0, 40, 0, 40, 0, 41, 0, 66, 0, 17, 0, 139, 0, 134, 0, 139, 0, 17, 0, 40, 0, 139, 0, 141, 0, 138, 0, 143, 0, 141, 0, 139, 0, 143, 0, 139, 0, 73, 0, 139, 0, 40, 0, 73, 0, 73, 0, 61, 0, 143, 0, 73, 0, 145, 0, 61, 0, 73, 0, 147, 0, 145, 0, 152, 0, 147, 0, 73, 0, 152, 0, 149, 0, 147, 0, 73, 0, 40, 0, 64, 0, 40, 0, 66, 0, 64, 0, 73, 0, 96, 0, 152, 0, 73, 0, 64, 0, 96, 0, 96, 0, 153, 0, 152, 0, 153, 0, 96, 0, 156, 0, 96, 0, 106, 0, 156, 0, 106, 0, 157, 0, 156, 0, 64, 0, 86, 0, 96, 0, 64, 0, 66, 0, 86, 0, 96, 0, 86, 0, 106, 0, 157, 0, 106, 0, 160, 0, 66, 0, 88, 0, 86, 0, 66, 0, 77, 0, 88, 0, 88, 0, 77, 0, 89, 0, 86, 0, 88, 0, 107, 0, 86, 0, 107, 0, 106, 0, 88, 0, 89, 0, 107, 0, 106, 0, 119, 0, 160, 0, 106, 0, 107, 0, 119, 0, 160, 0, 119, 0, 161, 0, 165, 0, 161, 0, 119, 0, 166, 0, 165, 0, 119, 0, 107, 0, 89, 0, 115, 0, 107, 0, 115, 0, 119, 0, 119, 0, 115, 0, 166, 0, 115, 0, 89, 0, 162, 0, 115, 0, 162, 0, 166, 0), 0.614485, PackedByteArray(121, 0, 122, 0, 22, 0, 127, 0, 121, 0, 22, 0, 122, 0, 123, 0, 22, 0, 127, 0, 22, 0, 126, 0, 128, 0, 123, 0, 124, 0, 123, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 123, 0, 24, 0, 22, 0, 123, 0, 132, 0, 24, 0, 126, 0, 22, 0, 44, 0, 22, 0, 24, 0, 44, 0, 132, 0, 133, 0, 136, 0, 132, 0, 136, 0, 24, 0, 24, 0, 136, 0, 140, 0, 137, 0, 140, 0, 136, 0, 24, 0, 140, 0, 144, 0, 142, 0, 144, 0, 140, 0, 142, 0, 60, 0, 144, 0, 24, 0, 144, 0, 80, 0, 44, 0, 24, 0, 80, 0, 80, 0, 144, 0, 155, 0, 79, 0, 44, 0, 80, 0, 80, 0, 155, 0, 79, 0, 144, 0, 151, 0, 155, 0, 146, 0, 151, 0, 144, 0, 146, 0, 148, 0, 151, 0, 155, 0, 151, 0, 150, 0, 159, 0, 155, 0, 154, 0, 79, 0, 155, 0, 159, 0, 159, 0, 158, 0, 164, 0, 79, 0, 159, 0, 164, 0, 79, 0, 164, 0, 163, 0, 162, 0, 79, 0, 163, 0, 66, 0, 44, 0, 79, 0, 66, 0, 79, 0, 162, 0, 126, 0, 44, 0, 66, 0, 66, 0, 162, 0, 107, 0, 107, 0, 162, 0, 166, 0, 135, 0, 126, 0, 66, 0, 135, 0, 125, 0, 126, 0, 125, 0, 135, 0, 131, 0, 130, 0, 131, 0, 135, 0, 165, 0, 107, 0, 166, 0, 64, 0, 66, 0, 107, 0, 135, 0, 66, 0, 64, 0, 134, 0, 135, 0, 139, 0, 139, 0, 135, 0, 64, 0, 139, 0, 64, 0, 138, 0, 160, 0, 165, 0, 161, 0, 156, 0, 165, 0, 160, 0, 156, 0, 107, 0, 165, 0, 157, 0, 156, 0, 160, 0, 152, 0, 107, 0, 156, 0, 64, 0, 107, 0, 152, 0, 153, 0, 152, 0, 156, 0, 138, 0, 64, 0, 73, 0, 73, 0, 64, 0, 152, 0, 143, 0, 141, 0, 138, 0, 143, 0, 138, 0, 73, 0, 73, 0, 61, 0, 143, 0, 73, 0, 145, 0, 61, 0, 73, 0, 147, 0, 145, 0, 152, 0, 147, 0, 73, 0, 152, 0, 149, 0, 147, 0), 1.83976, PackedByteArray(128, 0, 123, 0, 124, 0, 123, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 123, 0, 132, 0, 127, 0, 127, 0, 132, 0, 163, 0, 131, 0, 127, 0, 163, 0, 137, 0, 140, 0, 132, 0, 132, 0, 140, 0, 60, 0, 142, 0, 60, 0, 140, 0, 132, 0, 60, 0, 163, 0, 159, 0, 158, 0, 163, 0, 163, 0, 154, 0, 159, 0, 163, 0, 60, 0, 154, 0, 60, 0, 151, 0, 154, 0, 154, 0, 151, 0, 150, 0, 146, 0, 151, 0, 60, 0, 146, 0, 148, 0, 151, 0, 131, 0, 163, 0, 153, 0, 153, 0, 163, 0, 162, 0, 153, 0, 162, 0, 166, 0, 130, 0, 131, 0, 153, 0, 165, 0, 153, 0, 166, 0, 153, 0, 165, 0, 160, 0, 160, 0, 165, 0, 161, 0, 157, 0, 153, 0, 160, 0, 138, 0, 130, 0, 153, 0, 134, 0, 130, 0, 138, 0, 138, 0, 153, 0, 147, 0, 143, 0, 138, 0, 147, 0, 143, 0, 141, 0, 138, 0, 147, 0, 61, 0, 143, 0, 147, 0, 145, 0, 61, 0), 1.90169, PackedByteArray(134, 0, 133, 0, 158, 0, 134, 0, 158, 0, 61, 0, 160, 0, 61, 0, 158, 0, 158, 0, 133, 0, 148, 0), 2.01908, PackedByteArray(141, 0, 130, 0, 145, 0, 143, 0, 141, 0, 145, 0, 145, 0, 61, 0, 143, 0, 145, 0, 130, 0, 166, 0, 130, 0, 128, 0, 166, 0, 160, 0, 145, 0, 166, 0, 128, 0, 137, 0, 148, 0, 128, 0, 148, 0, 166, 0)], +"primitive": 3, +"vertex_count": 167, +"vertex_data": PackedByteArray(162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_qya8c"] resource_name = "mound_Torus001" -surfaces/0 = { -"aabb": AABB( -2.5, 0, -7.47503, 5, 2.5, 14.9501 ), -"array_data": PoolByteArray( 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 202, 115, 0, 87, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 196, 116, 0, 90, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 60, 116, 0, 90, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 54, 115, 0, 87, 220, 198, 0, 56, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 60, 116, 0, 90, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 54, 115, 0, 87, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 65, 97, 0, 87, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 70, 98, 0, 90, 220, 198, 226, 176, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 65, 97, 0, 87, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 70, 98, 0, 90, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 79, 82, 0, 90, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 76, 81, 0, 87, 220, 198, 113, 186, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 180, 81, 0, 87, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 177, 82, 0, 90, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 186, 98, 0, 90, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 191, 97, 0, 87, 220, 198, 56, 63, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 186, 98, 0, 90, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 191, 97, 0, 87, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 202, 115, 0, 87, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 196, 116, 0, 90, 220, 198, 156, 60, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 208, 115, 0, 83, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 202, 115, 0, 87, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 54, 115, 0, 87, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 48, 115, 0, 83, 162, 197, 0, 56, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 54, 115, 0, 87, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 48, 115, 0, 83, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 61, 96, 0, 83, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 65, 97, 0, 87, 162, 197, 226, 176, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 61, 96, 0, 83, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 65, 97, 0, 87, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 72, 80, 0, 83, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 76, 81, 0, 87, 162, 197, 113, 186, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 72, 80, 0, 83, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 76, 81, 0, 87, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 86, 65, 0, 87, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 83, 64, 0, 83, 162, 197, 212, 189, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 173, 64, 0, 83, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 170, 65, 0, 87, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 184, 80, 0, 83, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 180, 81, 0, 87, 162, 197, 234, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 184, 80, 0, 83, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 180, 81, 0, 87, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 191, 97, 0, 87, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 195, 96, 0, 83, 162, 197, 56, 63, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 191, 97, 0, 87, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 195, 96, 0, 83, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 208, 115, 0, 83, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 202, 115, 0, 87, 162, 197, 156, 60, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 208, 115, 0, 83, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 214, 115, 0, 80, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 42, 115, 0, 80, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 48, 115, 0, 83, 104, 196, 0, 56, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 42, 115, 0, 80, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 48, 115, 0, 83, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 61, 96, 0, 83, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 56, 95, 0, 80, 104, 196, 226, 176, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 61, 96, 0, 83, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 56, 95, 0, 80, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 68, 79, 0, 80, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 72, 80, 0, 83, 104, 196, 113, 186, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 68, 79, 0, 80, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 72, 80, 0, 83, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 80, 62, 0, 80, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 83, 64, 0, 83, 104, 196, 212, 189, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 80, 62, 0, 80, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 83, 64, 0, 83, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 96, 45, 0, 83, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 94, 44, 0, 80, 104, 196, 56, 192, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 160, 45, 0, 83, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 162, 44, 0, 80, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 176, 62, 0, 80, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 173, 64, 0, 83, 104, 196, 56, 66, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 176, 62, 0, 80, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 173, 64, 0, 83, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 184, 80, 0, 83, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 188, 79, 0, 80, 104, 196, 234, 64, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 184, 80, 0, 83, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 188, 79, 0, 80, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 200, 95, 0, 80, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 195, 96, 0, 83, 104, 196, 56, 63, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 200, 95, 0, 80, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 195, 96, 0, 83, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 208, 115, 0, 83, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 214, 115, 0, 80, 104, 196, 156, 60, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 214, 115, 0, 80, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 221, 114, 0, 76, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 42, 115, 0, 80, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 35, 114, 0, 76, 92, 194, 0, 56, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 42, 115, 0, 80, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 35, 114, 0, 76, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 51, 94, 0, 76, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 56, 95, 0, 80, 92, 194, 226, 176, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 51, 94, 0, 76, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 56, 95, 0, 80, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 64, 77, 0, 76, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 68, 79, 0, 80, 92, 194, 113, 186, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 64, 77, 0, 76, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 68, 79, 0, 80, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 80, 62, 0, 80, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 78, 61, 0, 76, 92, 194, 212, 189, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 80, 62, 0, 80, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 78, 61, 0, 76, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 93, 42, 0, 76, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 94, 44, 0, 80, 92, 194, 56, 192, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 93, 42, 0, 76, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 94, 44, 0, 80, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 113, 18, 0, 80, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 113, 17, 0, 76, 92, 194, 134, 193, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 143, 17, 0, 76, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 143, 18, 0, 80, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 162, 44, 0, 80, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 163, 42, 0, 76, 92, 194, 134, 67, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 162, 44, 0, 80, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 163, 42, 0, 76, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 178, 61, 0, 76, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 176, 62, 0, 80, 92, 194, 56, 66, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 178, 61, 0, 76, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 176, 62, 0, 80, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 188, 79, 0, 80, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 192, 77, 0, 76, 92, 194, 234, 64, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 188, 79, 0, 80, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 192, 77, 0, 76, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 200, 95, 0, 80, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 205, 94, 0, 76, 92, 194, 56, 63, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 200, 95, 0, 80, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 205, 94, 0, 76, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 214, 115, 0, 80, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 221, 114, 0, 76, 92, 194, 156, 60, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 221, 114, 0, 76, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 229, 113, 0, 71, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 27, 113, 0, 71, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 35, 114, 0, 76, 208, 191, 0, 56, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 27, 113, 0, 71, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 35, 114, 0, 76, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 45, 93, 0, 71, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 51, 94, 0, 76, 208, 191, 226, 176, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 45, 93, 0, 71, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 51, 94, 0, 76, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 64, 77, 0, 76, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 60, 75, 0, 71, 208, 191, 113, 186, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 64, 77, 0, 76, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 60, 75, 0, 71, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 75, 59, 0, 71, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 78, 61, 0, 76, 208, 191, 212, 189, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 75, 59, 0, 71, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 78, 61, 0, 76, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 93, 42, 0, 76, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 91, 40, 0, 71, 208, 191, 56, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 93, 42, 0, 76, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 91, 40, 0, 71, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 113, 17, 0, 76, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 112, 16, 0, 71, 208, 191, 134, 193, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 143, 17, 0, 76, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 144, 16, 0, 71, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 165, 40, 0, 71, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 163, 42, 0, 76, 208, 191, 134, 67, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 165, 40, 0, 71, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 163, 42, 0, 76, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 178, 61, 0, 76, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 181, 59, 0, 71, 208, 191, 56, 66, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 178, 61, 0, 76, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 181, 59, 0, 71, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 196, 75, 0, 71, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 192, 77, 0, 76, 208, 191, 234, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 196, 75, 0, 71, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 192, 77, 0, 76, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 205, 94, 0, 76, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 211, 93, 0, 71, 208, 191, 56, 63, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 205, 94, 0, 76, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 211, 93, 0, 71, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 221, 114, 0, 76, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 229, 113, 0, 71, 208, 191, 156, 60, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 229, 113, 0, 71, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 237, 112, 0, 66, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 27, 113, 0, 71, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 19, 112, 0, 66, 208, 185, 0, 56, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 27, 113, 0, 71, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 19, 112, 0, 66, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 40, 91, 0, 66, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 45, 93, 0, 71, 208, 185, 226, 176, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 40, 91, 0, 66, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 45, 93, 0, 71, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 60, 75, 0, 71, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 57, 73, 0, 66, 208, 185, 113, 186, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 60, 75, 0, 71, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 57, 73, 0, 66, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 73, 56, 0, 66, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 75, 59, 0, 71, 208, 185, 212, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 73, 56, 0, 66, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 75, 59, 0, 71, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 91, 40, 0, 71, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 90, 38, 0, 66, 208, 185, 56, 192, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 91, 40, 0, 71, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 90, 38, 0, 66, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 112, 15, 0, 66, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 112, 16, 0, 71, 208, 185, 134, 193, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 144, 15, 0, 66, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 144, 16, 0, 71, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 166, 38, 0, 66, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 165, 40, 0, 71, 208, 185, 134, 67, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 166, 38, 0, 66, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 165, 40, 0, 71, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 181, 59, 0, 71, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 183, 56, 0, 66, 208, 185, 56, 66, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 181, 59, 0, 71, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 183, 56, 0, 66, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 199, 73, 0, 66, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 196, 75, 0, 71, 208, 185, 234, 64, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 199, 73, 0, 66, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 196, 75, 0, 71, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 211, 93, 0, 71, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 216, 91, 0, 66, 208, 185, 56, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 211, 93, 0, 71, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 216, 91, 0, 66, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 229, 113, 0, 71, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 237, 112, 0, 66, 208, 185, 156, 60, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 242, 107, 0, 60, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 237, 112, 0, 66, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 14, 107, 0, 60, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 19, 112, 0, 66, 255, 55, 0, 56, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 14, 107, 0, 60, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 19, 112, 0, 66, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 40, 91, 0, 66, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 35, 86, 0, 60, 255, 55, 226, 176, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 40, 91, 0, 66, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 35, 86, 0, 60, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 53, 69, 0, 60, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 57, 73, 0, 66, 255, 55, 113, 186, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 53, 69, 0, 60, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 57, 73, 0, 66, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 73, 56, 0, 66, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 70, 53, 0, 60, 255, 55, 212, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 73, 56, 0, 66, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 70, 53, 0, 60, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 88, 36, 0, 60, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 90, 38, 0, 66, 255, 55, 56, 192, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 88, 36, 0, 60, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 90, 38, 0, 66, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 111, 14, 0, 60, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 112, 15, 0, 66, 255, 55, 134, 193, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 111, 14, 0, 60, 255, 55, 212, 194, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 112, 15, 0, 66, 255, 55, 212, 194, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 145, 14, 0, 60, 255, 55, 106, 68, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 144, 15, 0, 66, 255, 55, 106, 68, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 145, 14, 0, 60, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 144, 15, 0, 66, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 166, 38, 0, 66, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 168, 36, 0, 60, 255, 55, 134, 67, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 166, 38, 0, 66, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 168, 36, 0, 60, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 186, 53, 0, 60, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 183, 56, 0, 66, 255, 55, 56, 66, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 186, 53, 0, 60, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 183, 56, 0, 66, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 199, 73, 0, 66, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 203, 69, 0, 60, 255, 55, 234, 64, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 199, 73, 0, 66, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 203, 69, 0, 60, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 216, 91, 0, 66, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 221, 86, 0, 60, 255, 55, 56, 63, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 216, 91, 0, 66, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 221, 86, 0, 60, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 242, 107, 0, 60, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 237, 112, 0, 66, 255, 55, 156, 60, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 242, 107, 0, 60, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 243, 99, 0, 55, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 13, 99, 0, 55, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 14, 107, 0, 60, 232, 62, 0, 56, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 13, 99, 0, 55, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 14, 107, 0, 60, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 35, 86, 0, 60, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 33, 81, 0, 55, 232, 62, 226, 176, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 35, 86, 0, 60, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 33, 81, 0, 55, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 51, 66, 0, 55, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 53, 69, 0, 60, 232, 62, 113, 186, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 51, 66, 0, 55, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 53, 69, 0, 60, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 67, 51, 0, 55, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 70, 53, 0, 60, 232, 62, 212, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 67, 51, 0, 55, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 70, 53, 0, 60, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 88, 36, 0, 60, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 86, 35, 0, 55, 232, 62, 56, 192, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 88, 36, 0, 60, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 86, 35, 0, 55, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 111, 14, 0, 60, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 110, 14, 0, 55, 232, 62, 134, 193, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 145, 14, 0, 60, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 146, 14, 0, 55, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 168, 36, 0, 60, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 170, 35, 0, 55, 232, 62, 134, 67, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 168, 36, 0, 60, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 170, 35, 0, 55, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 189, 51, 0, 55, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 186, 53, 0, 60, 232, 62, 56, 66, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 189, 51, 0, 55, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 186, 53, 0, 60, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 203, 69, 0, 60, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 205, 66, 0, 55, 232, 62, 234, 64, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 203, 69, 0, 60, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 205, 66, 0, 55, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 223, 81, 0, 55, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 221, 86, 0, 60, 232, 62, 56, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 223, 81, 0, 55, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 221, 86, 0, 60, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 242, 107, 0, 60, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 243, 99, 0, 55, 232, 62, 156, 60, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 244, 91, 0, 50, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 243, 99, 0, 55, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 13, 99, 0, 55, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 12, 91, 0, 50, 232, 65, 0, 56, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 13, 99, 0, 55, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 12, 91, 0, 50, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 32, 75, 0, 50, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 33, 81, 0, 55, 232, 65, 226, 176, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 32, 75, 0, 50, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 33, 81, 0, 55, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 49, 62, 0, 50, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 51, 66, 0, 55, 232, 65, 113, 186, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 49, 62, 0, 50, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 51, 66, 0, 55, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 67, 51, 0, 55, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 65, 48, 0, 50, 232, 65, 212, 189, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 67, 51, 0, 55, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 65, 48, 0, 50, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 84, 33, 0, 50, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 86, 35, 0, 55, 232, 65, 56, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 84, 33, 0, 50, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 86, 35, 0, 55, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 109, 13, 0, 50, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 110, 14, 0, 55, 232, 65, 134, 193, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 147, 13, 0, 50, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 146, 14, 0, 55, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 172, 33, 0, 50, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 170, 35, 0, 55, 232, 65, 134, 67, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 172, 33, 0, 50, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 170, 35, 0, 55, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 191, 48, 0, 50, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 189, 51, 0, 55, 232, 65, 56, 66, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 191, 48, 0, 50, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 189, 51, 0, 55, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 205, 66, 0, 55, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 207, 62, 0, 50, 232, 65, 234, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 205, 66, 0, 55, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 207, 62, 0, 50, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 223, 81, 0, 55, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 224, 75, 0, 50, 232, 65, 56, 63, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 223, 81, 0, 55, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 224, 75, 0, 50, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 244, 91, 0, 50, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 243, 99, 0, 55, 232, 65, 156, 60, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 244, 91, 0, 50, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 245, 84, 0, 46, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 11, 84, 0, 46, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 12, 91, 0, 50, 46, 68, 0, 56, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 11, 84, 0, 46, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 12, 91, 0, 50, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 31, 70, 0, 46, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 32, 75, 0, 50, 46, 68, 226, 176, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 31, 70, 0, 46, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 32, 75, 0, 50, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 49, 62, 0, 50, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 47, 58, 0, 46, 46, 68, 113, 186, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 49, 62, 0, 50, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 47, 58, 0, 46, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 64, 46, 0, 46, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 65, 48, 0, 50, 46, 68, 212, 189, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 64, 46, 0, 46, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 65, 48, 0, 50, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 84, 33, 0, 50, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 82, 32, 0, 46, 46, 68, 56, 192, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 84, 33, 0, 50, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 82, 32, 0, 46, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 108, 13, 0, 46, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 109, 13, 0, 50, 46, 68, 134, 193, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 147, 13, 0, 50, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 148, 13, 0, 46, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 174, 32, 0, 46, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 172, 33, 0, 50, 46, 68, 134, 67, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 174, 32, 0, 46, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 172, 33, 0, 50, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 191, 48, 0, 50, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 192, 46, 0, 46, 46, 68, 56, 66, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 191, 48, 0, 50, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 192, 46, 0, 46, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 209, 58, 0, 46, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 207, 62, 0, 50, 46, 68, 234, 64, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 209, 58, 0, 46, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 207, 62, 0, 50, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 224, 75, 0, 50, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 225, 70, 0, 46, 46, 68, 56, 63, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 224, 75, 0, 50, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 225, 70, 0, 46, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 244, 91, 0, 50, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 245, 84, 0, 46, 46, 68, 156, 60, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 245, 84, 0, 46, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 245, 78, 0, 43, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 11, 78, 0, 43, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 11, 84, 0, 46, 104, 69, 0, 56, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 11, 78, 0, 43, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 11, 84, 0, 46, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 30, 65, 0, 43, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 31, 70, 0, 46, 104, 69, 226, 176, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 30, 65, 0, 43, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 31, 70, 0, 46, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 47, 58, 0, 46, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 46, 54, 0, 43, 104, 69, 113, 186, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 47, 58, 0, 46, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 46, 54, 0, 43, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 64, 46, 0, 46, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 62, 43, 0, 43, 104, 69, 212, 189, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 64, 46, 0, 46, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 62, 43, 0, 43, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 82, 32, 0, 46, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 81, 30, 0, 43, 104, 69, 56, 192, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 175, 30, 0, 43, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 174, 32, 0, 46, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 194, 43, 0, 43, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 192, 46, 0, 46, 104, 69, 56, 66, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 194, 43, 0, 43, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 192, 46, 0, 46, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 210, 54, 0, 43, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 209, 58, 0, 46, 104, 69, 234, 64, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 210, 54, 0, 43, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 209, 58, 0, 46, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 225, 70, 0, 46, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 226, 65, 0, 43, 104, 69, 56, 63, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 225, 70, 0, 46, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 226, 65, 0, 43, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 245, 84, 0, 46, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 245, 78, 0, 43, 104, 69, 156, 60, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 245, 78, 0, 43, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 245, 72, 0, 39, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 11, 72, 0, 39, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 11, 78, 0, 43, 162, 70, 0, 56, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 11, 72, 0, 39, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 11, 78, 0, 43, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 30, 65, 0, 43, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 29, 61, 0, 39, 162, 70, 226, 176, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 30, 65, 0, 43, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 29, 61, 0, 39, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 45, 50, 0, 39, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 46, 54, 0, 43, 162, 70, 113, 186, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 45, 50, 0, 39, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 46, 54, 0, 43, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 61, 40, 0, 39, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 62, 43, 0, 43, 162, 70, 212, 189, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 194, 43, 0, 43, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 195, 40, 0, 39, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 210, 54, 0, 43, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 211, 50, 0, 39, 162, 70, 234, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 210, 54, 0, 43, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 211, 50, 0, 39, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 227, 61, 0, 39, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 226, 65, 0, 43, 162, 70, 56, 63, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 227, 61, 0, 39, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 226, 65, 0, 43, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 245, 78, 0, 43, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 245, 72, 0, 39, 162, 70, 156, 60, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 245, 72, 0, 39, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 246, 66, 0, 36, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 10, 66, 0, 36, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 11, 72, 0, 39, 220, 71, 0, 56, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 10, 66, 0, 36, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 11, 72, 0, 39, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 29, 61, 0, 39, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 28, 56, 0, 36, 220, 71, 226, 176, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 29, 61, 0, 39, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 28, 56, 0, 36, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 44, 47, 0, 36, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 45, 50, 0, 39, 220, 71, 113, 186, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 211, 50, 0, 39, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 212, 47, 0, 36, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 228, 56, 0, 36, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 227, 61, 0, 39, 220, 71, 56, 63, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 228, 56, 0, 36, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 227, 61, 0, 39, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 245, 72, 0, 39, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 246, 66, 0, 36, 220, 71, 156, 60, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 196, 116, 0, 90, 133, 199, 0, 56, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 60, 116, 0, 90, 133, 199, 0, 56, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 60, 116, 0, 90, 103, 199, 226, 176, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 70, 98, 0, 90, 103, 199, 226, 176, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 70, 98, 0, 90, 14, 199, 113, 186, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 79, 82, 0, 90, 14, 199, 113, 186, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 79, 82, 0, 90, 220, 198, 32, 188, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 76, 81, 0, 87, 220, 198, 32, 188, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 180, 81, 0, 87, 220, 198, 16, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 177, 82, 0, 90, 220, 198, 16, 64, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 177, 82, 0, 90, 14, 199, 56, 63, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 186, 98, 0, 90, 14, 199, 56, 63, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 186, 98, 0, 90, 103, 199, 156, 60, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 196, 116, 0, 90, 103, 199, 156, 60, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 76, 81, 0, 87, 106, 198, 212, 189, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 86, 65, 0, 87, 106, 198, 212, 189, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 86, 65, 0, 87, 162, 197, 254, 191, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 83, 64, 0, 83, 162, 197, 254, 191, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 173, 64, 0, 83, 162, 197, 255, 65, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 170, 65, 0, 87, 162, 197, 255, 65, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 170, 65, 0, 87, 106, 198, 234, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 180, 81, 0, 87, 106, 198, 234, 64, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 83, 64, 0, 83, 110, 197, 56, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 96, 45, 0, 83, 110, 197, 56, 192, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 96, 45, 0, 83, 104, 196, 36, 193, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 94, 44, 0, 80, 104, 196, 36, 193, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 160, 45, 0, 83, 104, 196, 36, 67, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 162, 44, 0, 80, 104, 196, 36, 67, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 160, 45, 0, 83, 110, 197, 56, 66, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 173, 64, 0, 83, 110, 197, 56, 66, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 94, 44, 0, 80, 172, 195, 134, 193, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 113, 18, 0, 80, 172, 195, 134, 193, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 113, 18, 0, 80, 92, 194, 236, 193, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 113, 17, 0, 76, 92, 194, 236, 193, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 143, 17, 0, 76, 92, 194, 236, 67, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 143, 18, 0, 80, 92, 194, 236, 67, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 143, 18, 0, 80, 172, 195, 134, 67, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 162, 44, 0, 80, 172, 195, 134, 67, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 113, 17, 0, 76, 208, 191, 111, 194, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 112, 16, 0, 71, 208, 191, 111, 194, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 143, 17, 0, 76, 208, 191, 55, 68, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 144, 16, 0, 71, 208, 191, 55, 68, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 112, 15, 0, 66, 208, 185, 187, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 112, 16, 0, 71, 208, 185, 187, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 144, 15, 0, 66, 208, 185, 93, 68, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 144, 16, 0, 71, 208, 185, 93, 68, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 111, 14, 0, 60, 232, 62, 187, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 110, 14, 0, 55, 232, 62, 187, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 145, 14, 0, 60, 232, 62, 93, 68, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 146, 14, 0, 55, 232, 62, 93, 68, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 109, 13, 0, 50, 232, 65, 111, 194, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 110, 14, 0, 55, 232, 65, 111, 194, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 147, 13, 0, 50, 232, 65, 55, 68, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 146, 14, 0, 55, 232, 65, 55, 68, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 108, 13, 0, 46, 46, 68, 236, 193, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 109, 13, 0, 50, 46, 68, 236, 193, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 147, 13, 0, 50, 46, 68, 236, 67, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 148, 13, 0, 46, 46, 68, 236, 67, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 82, 32, 0, 46, 104, 69, 36, 193, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 81, 30, 0, 43, 104, 69, 36, 193, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 82, 32, 0, 46, 214, 68, 134, 193, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 108, 13, 0, 46, 214, 68, 134, 193, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 148, 13, 0, 46, 214, 68, 134, 67, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 174, 32, 0, 46, 214, 68, 134, 67, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 175, 30, 0, 43, 104, 69, 36, 67, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 174, 32, 0, 46, 104, 69, 36, 67, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 61, 40, 0, 39, 162, 70, 254, 191, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 62, 43, 0, 43, 162, 70, 254, 191, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 62, 43, 0, 43, 110, 70, 56, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 81, 30, 0, 43, 110, 70, 56, 192, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 175, 30, 0, 43, 110, 70, 56, 66, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 194, 43, 0, 43, 110, 70, 56, 66, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 194, 43, 0, 43, 162, 70, 255, 65, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 195, 40, 0, 39, 162, 70, 255, 65, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 44, 47, 0, 36, 220, 71, 32, 188, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 45, 50, 0, 39, 220, 71, 32, 188, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 45, 50, 0, 39, 106, 71, 212, 189, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 61, 40, 0, 39, 106, 71, 212, 189, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 195, 40, 0, 39, 106, 71, 234, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 211, 50, 0, 39, 106, 71, 234, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 211, 50, 0, 39, 220, 71, 16, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 212, 47, 0, 36, 220, 71, 16, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 246, 66, 0, 36, 66, 72, 0, 56, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 10, 66, 0, 36, 66, 72, 0, 56, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 10, 66, 0, 36, 51, 72, 226, 176, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 28, 56, 0, 36, 51, 72, 226, 176, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 28, 56, 0, 36, 7, 72, 113, 186, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 44, 47, 0, 36, 7, 72, 113, 186, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 212, 47, 0, 36, 7, 72, 56, 63, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 228, 56, 0, 36, 7, 72, 56, 63, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 228, 56, 0, 36, 51, 72, 156, 60, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 246, 66, 0, 36, 51, 72, 156, 60 ), -"array_index_data": PoolByteArray( 225, 1, 4, 0, 2, 0, 225, 1, 226, 1, 4, 0, 227, 1, 9, 0, 7, 0, 227, 1, 228, 1, 9, 0, 229, 1, 230, 1, 10, 0, 233, 1, 234, 1, 13, 0, 235, 1, 16, 0, 14, 0, 235, 1, 236, 1, 16, 0, 237, 1, 1, 0, 19, 0, 237, 1, 224, 1, 1, 0, 3, 0, 24, 0, 22, 0, 3, 0, 5, 0, 24, 0, 6, 0, 29, 0, 27, 0, 6, 0, 8, 0, 29, 0, 238, 1, 11, 0, 231, 1, 11, 0, 33, 0, 31, 0, 11, 0, 238, 1, 33, 0, 239, 1, 240, 1, 34, 0, 243, 1, 244, 1, 37, 0, 232, 1, 39, 0, 245, 1, 39, 0, 12, 0, 41, 0, 39, 0, 232, 1, 12, 0, 15, 0, 44, 0, 42, 0, 15, 0, 17, 0, 44, 0, 18, 0, 21, 0, 47, 0, 18, 0, 0, 0, 21, 0, 23, 0, 53, 0, 51, 0, 23, 0, 25, 0, 53, 0, 26, 0, 56, 0, 54, 0, 26, 0, 28, 0, 56, 0, 30, 0, 61, 0, 59, 0, 30, 0, 32, 0, 61, 0, 246, 1, 35, 0, 241, 1, 35, 0, 65, 0, 63, 0, 35, 0, 246, 1, 65, 0, 247, 1, 248, 1, 66, 0, 250, 1, 252, 1, 68, 0, 71, 0, 36, 0, 73, 0, 36, 0, 253, 1, 242, 1, 36, 0, 71, 0, 253, 1, 38, 0, 76, 0, 74, 0, 38, 0, 40, 0, 76, 0, 43, 0, 81, 0, 79, 0, 43, 0, 45, 0, 81, 0, 46, 0, 48, 0, 82, 0, 46, 0, 20, 0, 48, 0, 50, 0, 88, 0, 86, 0, 50, 0, 52, 0, 88, 0, 55, 0, 93, 0, 91, 0, 55, 0, 57, 0, 93, 0, 58, 0, 97, 0, 95, 0, 58, 0, 60, 0, 97, 0, 62, 0, 100, 0, 98, 0, 62, 0, 64, 0, 100, 0, 254, 1, 67, 0, 249, 1, 67, 0, 105, 0, 103, 0, 67, 0, 254, 1, 105, 0, 255, 1, 0, 2, 106, 0, 3, 2, 4, 2, 109, 0, 110, 0, 69, 0, 112, 0, 69, 0, 5, 2, 251, 1, 69, 0, 110, 0, 5, 2, 70, 0, 117, 0, 115, 0, 70, 0, 72, 0, 117, 0, 75, 0, 120, 0, 118, 0, 75, 0, 77, 0, 120, 0, 78, 0, 124, 0, 122, 0, 78, 0, 80, 0, 124, 0, 83, 0, 84, 0, 126, 0, 83, 0, 49, 0, 84, 0, 87, 0, 133, 0, 131, 0, 87, 0, 89, 0, 133, 0, 90, 0, 137, 0, 135, 0, 90, 0, 92, 0, 137, 0, 94, 0, 140, 0, 138, 0, 94, 0, 96, 0, 140, 0, 99, 0, 145, 0, 143, 0, 99, 0, 101, 0, 145, 0, 102, 0, 148, 0, 146, 0, 102, 0, 104, 0, 148, 0, 1, 2, 150, 0, 107, 0, 1, 2, 6, 2, 150, 0, 152, 0, 2, 2, 108, 0, 152, 0, 8, 2, 2, 2, 111, 0, 157, 0, 155, 0, 111, 0, 113, 0, 157, 0, 114, 0, 160, 0, 158, 0, 114, 0, 116, 0, 160, 0, 119, 0, 165, 0, 163, 0, 119, 0, 121, 0, 165, 0, 123, 0, 168, 0, 166, 0, 123, 0, 125, 0, 168, 0, 127, 0, 128, 0, 170, 0, 127, 0, 85, 0, 128, 0, 130, 0, 176, 0, 174, 0, 130, 0, 132, 0, 176, 0, 134, 0, 181, 0, 179, 0, 134, 0, 136, 0, 181, 0, 139, 0, 184, 0, 182, 0, 139, 0, 141, 0, 184, 0, 142, 0, 189, 0, 187, 0, 142, 0, 144, 0, 189, 0, 147, 0, 192, 0, 190, 0, 147, 0, 149, 0, 192, 0, 7, 2, 195, 0, 151, 0, 7, 2, 11, 2, 195, 0, 13, 2, 153, 0, 197, 0, 13, 2, 9, 2, 153, 0, 154, 0, 201, 0, 199, 0, 154, 0, 156, 0, 201, 0, 159, 0, 204, 0, 202, 0, 159, 0, 161, 0, 204, 0, 162, 0, 209, 0, 207, 0, 162, 0, 164, 0, 209, 0, 167, 0, 212, 0, 210, 0, 167, 0, 169, 0, 212, 0, 171, 0, 172, 0, 214, 0, 171, 0, 129, 0, 172, 0, 175, 0, 221, 0, 219, 0, 175, 0, 177, 0, 221, 0, 178, 0, 224, 0, 222, 0, 178, 0, 180, 0, 224, 0, 183, 0, 229, 0, 227, 0, 183, 0, 185, 0, 229, 0, 186, 0, 232, 0, 230, 0, 186, 0, 188, 0, 232, 0, 191, 0, 237, 0, 235, 0, 191, 0, 193, 0, 237, 0, 10, 2, 239, 0, 194, 0, 10, 2, 241, 0, 239, 0, 245, 0, 12, 2, 196, 0, 245, 0, 243, 0, 12, 2, 198, 0, 248, 0, 246, 0, 198, 0, 200, 0, 248, 0, 203, 0, 253, 0, 251, 0, 203, 0, 205, 0, 253, 0, 206, 0, 0, 1, 254, 0, 206, 0, 208, 0, 0, 1, 211, 0, 4, 1, 2, 1, 211, 0, 213, 0, 4, 1, 215, 0, 217, 0, 7, 1, 215, 0, 173, 0, 217, 0, 218, 0, 13, 1, 11, 1, 218, 0, 220, 0, 13, 1, 223, 0, 16, 1, 14, 1, 223, 0, 225, 0, 16, 1, 226, 0, 21, 1, 19, 1, 226, 0, 228, 0, 21, 1, 231, 0, 25, 1, 23, 1, 231, 0, 233, 0, 25, 1, 234, 0, 28, 1, 26, 1, 234, 0, 236, 0, 28, 1, 240, 0, 30, 1, 238, 0, 240, 0, 14, 2, 30, 1, 32, 1, 242, 0, 244, 0, 32, 1, 16, 2, 242, 0, 247, 0, 36, 1, 34, 1, 247, 0, 249, 0, 36, 1, 250, 0, 41, 1, 39, 1, 250, 0, 252, 0, 41, 1, 255, 0, 44, 1, 42, 1, 255, 0, 1, 1, 44, 1, 3, 1, 49, 1, 47, 1, 3, 1, 5, 1, 49, 1, 6, 1, 8, 1, 50, 1, 6, 1, 216, 0, 8, 1, 10, 1, 56, 1, 54, 1, 10, 1, 12, 1, 56, 1, 15, 1, 61, 1, 59, 1, 15, 1, 17, 1, 61, 1, 18, 1, 65, 1, 63, 1, 18, 1, 20, 1, 65, 1, 22, 1, 68, 1, 66, 1, 22, 1, 24, 1, 68, 1, 27, 1, 73, 1, 71, 1, 27, 1, 29, 1, 73, 1, 15, 2, 75, 1, 31, 1, 15, 2, 19, 2, 75, 1, 77, 1, 17, 2, 33, 1, 77, 1, 21, 2, 17, 2, 35, 1, 81, 1, 79, 1, 35, 1, 37, 1, 81, 1, 38, 1, 85, 1, 83, 1, 38, 1, 40, 1, 85, 1, 43, 1, 88, 1, 86, 1, 43, 1, 45, 1, 88, 1, 46, 1, 92, 1, 90, 1, 46, 1, 48, 1, 92, 1, 51, 1, 53, 1, 95, 1, 51, 1, 9, 1, 53, 1, 55, 1, 101, 1, 99, 1, 55, 1, 57, 1, 101, 1, 58, 1, 105, 1, 103, 1, 58, 1, 60, 1, 105, 1, 62, 1, 108, 1, 106, 1, 62, 1, 64, 1, 108, 1, 67, 1, 113, 1, 111, 1, 67, 1, 69, 1, 113, 1, 70, 1, 116, 1, 114, 1, 70, 1, 72, 1, 116, 1, 18, 2, 119, 1, 74, 1, 18, 2, 23, 2, 119, 1, 120, 1, 20, 2, 76, 1, 120, 1, 24, 2, 20, 2, 78, 1, 125, 1, 123, 1, 78, 1, 80, 1, 125, 1, 82, 1, 128, 1, 126, 1, 82, 1, 84, 1, 128, 1, 87, 1, 133, 1, 131, 1, 87, 1, 89, 1, 133, 1, 91, 1, 136, 1, 134, 1, 91, 1, 93, 1, 136, 1, 94, 1, 96, 1, 138, 1, 94, 1, 52, 1, 96, 1, 98, 1, 145, 1, 143, 1, 98, 1, 100, 1, 145, 1, 102, 1, 149, 1, 147, 1, 102, 1, 104, 1, 149, 1, 107, 1, 152, 1, 150, 1, 107, 1, 109, 1, 152, 1, 110, 1, 156, 1, 154, 1, 110, 1, 112, 1, 156, 1, 117, 1, 158, 1, 115, 1, 158, 1, 28, 2, 26, 2, 158, 1, 117, 1, 28, 2, 22, 2, 29, 2, 118, 1, 25, 2, 121, 1, 30, 2, 33, 2, 124, 1, 161, 1, 124, 1, 31, 2, 122, 1, 124, 1, 33, 2, 31, 2, 127, 1, 165, 1, 163, 1, 127, 1, 129, 1, 165, 1, 130, 1, 169, 1, 167, 1, 130, 1, 132, 1, 169, 1, 135, 1, 172, 1, 170, 1, 135, 1, 137, 1, 172, 1, 139, 1, 140, 1, 174, 1, 139, 1, 97, 1, 140, 1, 142, 1, 181, 1, 179, 1, 142, 1, 144, 1, 181, 1, 146, 1, 184, 1, 182, 1, 146, 1, 148, 1, 184, 1, 151, 1, 189, 1, 187, 1, 151, 1, 153, 1, 189, 1, 157, 1, 191, 1, 155, 1, 191, 1, 36, 2, 35, 2, 191, 1, 157, 1, 36, 2, 27, 2, 37, 2, 159, 1, 32, 2, 160, 1, 38, 2, 40, 2, 164, 1, 192, 1, 164, 1, 39, 2, 162, 1, 164, 1, 40, 2, 39, 2, 166, 1, 196, 1, 194, 1, 166, 1, 168, 1, 196, 1, 171, 1, 201, 1, 199, 1, 171, 1, 173, 1, 201, 1, 175, 1, 176, 1, 202, 1, 175, 1, 141, 1, 176, 1, 178, 1, 209, 1, 207, 1, 178, 1, 180, 1, 209, 1, 183, 1, 212, 1, 210, 1, 183, 1, 185, 1, 212, 1, 43, 2, 188, 1, 44, 2, 188, 1, 215, 1, 186, 1, 188, 1, 43, 2, 215, 1, 34, 2, 45, 2, 190, 1, 41, 2, 193, 1, 46, 2, 47, 2, 216, 1, 48, 2, 216, 1, 195, 1, 197, 1, 216, 1, 47, 2, 195, 1, 198, 1, 221, 1, 219, 1, 198, 1, 200, 1, 221, 1, 203, 1, 204, 1, 222, 1, 203, 1, 177, 1, 204, 1, 52, 2, 206, 1, 208, 1, 52, 2, 51, 2, 206, 1, 54, 2, 211, 1, 213, 1, 54, 2, 53, 2, 211, 1, 214, 1, 42, 2, 55, 2, 56, 2, 49, 2, 217, 1, 58, 2, 218, 1, 220, 1, 58, 2, 57, 2, 218, 1, 50, 2, 223, 1, 205, 1, 50, 2, 59, 2, 223, 1 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-2.5, 0, -7.47503, 5, 2.5, 14.9501), +"attribute_data": PackedByteArray(103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 36, 156, 90, 192, 157, 255, 255, 62, 36, 156, 90, 192, 157, 255, 255, 62, 18, 78, 141, 64, 157, 255, 255, 62, 18, 78, 141, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 244, 167, 240, 192, 0, 0, 0, 63, 244, 167, 240, 192, 0, 0, 0, 63, 103, 248, 236, 192, 32, 75, 28, 190, 103, 248, 236, 192, 32, 75, 28, 190, 179, 221, 225, 192, 128, 37, 78, 191, 179, 221, 225, 192, 128, 37, 78, 191, 103, 134, 219, 192, 196, 31, 132, 191, 103, 134, 219, 192, 196, 31, 132, 191, 103, 134, 219, 192, 228, 15, 2, 64, 103, 134, 219, 192, 228, 15, 2, 64, 179, 221, 225, 192, 196, 18, 231, 63, 179, 221, 225, 192, 196, 18, 231, 63, 103, 248, 236, 192, 100, 137, 147, 63, 103, 248, 236, 192, 100, 137, 147, 63, 134, 71, 205, 192, 36, 156, 186, 191, 134, 71, 205, 192, 36, 156, 186, 191, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 65, 231, 63, 64, 87, 69, 180, 192, 65, 231, 63, 64, 124, 71, 205, 192, 18, 78, 29, 64, 124, 71, 205, 192, 18, 78, 29, 64, 147, 192, 173, 192, 197, 18, 7, 192, 147, 192, 173, 192, 197, 18, 7, 192, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 100, 64, 71, 4, 141, 192, 200, 150, 100, 64, 157, 192, 173, 192, 193, 18, 71, 64, 157, 192, 173, 192, 193, 18, 71, 64, 62, 150, 117, 192, 112, 215, 48, 192, 62, 150, 117, 192, 112, 215, 48, 192, 108, 134, 75, 192, 42, 144, 61, 192, 108, 134, 75, 192, 42, 144, 61, 192, 108, 134, 75, 192, 42, 144, 125, 64, 108, 134, 75, 192, 42, 144, 125, 64, 62, 150, 117, 192, 116, 215, 112, 64, 62, 150, 117, 192, 116, 215, 112, 64, 152, 8, 250, 191, 168, 246, 77, 192, 152, 8, 250, 191, 168, 246, 77, 192, 112, 8, 250, 191, 82, 251, 134, 64, 112, 8, 250, 191, 82, 251, 134, 64, 176, 8, 58, 191, 146, 124, 87, 192, 176, 8, 58, 191, 146, 124, 87, 192, 176, 8, 58, 191, 70, 190, 139, 64, 176, 8, 58, 191, 70, 190, 139, 64, 38, 4, 221, 63, 142, 124, 87, 192, 38, 4, 221, 63, 142, 124, 87, 192, 38, 4, 221, 63, 71, 190, 139, 64, 38, 4, 221, 63, 71, 190, 139, 64, 50, 4, 61, 64, 164, 246, 77, 192, 50, 4, 61, 64, 164, 246, 77, 192, 50, 4, 61, 64, 82, 251, 134, 64, 50, 4, 61, 64, 82, 251, 134, 64, 41, 195, 133, 64, 52, 144, 61, 192, 41, 195, 133, 64, 52, 144, 61, 192, 41, 195, 133, 64, 52, 144, 125, 64, 41, 195, 133, 64, 52, 144, 125, 64, 57, 4, 173, 64, 204, 150, 36, 192, 57, 4, 173, 64, 204, 150, 36, 192, 35, 203, 154, 64, 112, 215, 48, 192, 35, 203, 154, 64, 112, 215, 48, 192, 35, 203, 154, 64, 116, 215, 112, 64, 35, 203, 154, 64, 116, 215, 112, 64, 57, 4, 173, 64, 208, 150, 100, 64, 57, 4, 173, 64, 208, 150, 100, 64, 71, 69, 212, 64, 134, 206, 255, 191, 71, 69, 212, 64, 134, 206, 255, 191, 141, 192, 205, 64, 197, 18, 7, 192, 141, 192, 205, 64, 197, 18, 7, 192, 141, 192, 205, 64, 192, 18, 71, 64, 141, 192, 205, 64, 192, 18, 71, 64, 71, 69, 212, 64, 65, 231, 63, 64, 71, 69, 212, 64, 65, 231, 63, 64, 86, 134, 251, 64, 196, 31, 132, 191, 86, 134, 251, 64, 196, 31, 132, 191, 118, 71, 237, 64, 36, 156, 186, 191, 118, 71, 237, 64, 36, 156, 186, 191, 118, 71, 237, 64, 18, 78, 29, 64, 118, 71, 237, 64, 18, 78, 29, 64, 86, 134, 251, 64, 229, 15, 2, 64, 86, 134, 251, 64, 229, 15, 2, 64, 250, 83, 8, 65, 0, 0, 0, 63, 250, 83, 8, 65, 0, 0, 0, 63, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190, 214, 238, 0, 65, 128, 37, 78, 191, 214, 238, 0, 65, 128, 37, 78, 191, 214, 238, 0, 65, 196, 18, 231, 63, 214, 238, 0, 65, 196, 18, 231, 63, 46, 124, 6, 65, 96, 137, 147, 63, 46, 124, 6, 65, 96, 137, 147, 63, 157, 255, 255, 62, 18, 78, 141, 64, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 100, 64, 41, 195, 133, 64, 52, 144, 61, 192, 86, 134, 251, 64, 196, 31, 132, 191, 118, 71, 237, 64, 18, 78, 29, 64, 134, 71, 205, 192, 36, 156, 186, 191, 134, 71, 205, 192, 36, 156, 186, 191, 87, 69, 180, 192, 65, 231, 63, 64, 41, 195, 133, 64, 52, 144, 61, 192, 46, 124, 6, 65, 96, 137, 147, 63, 46, 124, 6, 65, 96, 137, 147, 63, 103, 248, 236, 192, 100, 137, 147, 63, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 65, 231, 63, 64, 176, 8, 58, 191, 146, 124, 87, 192, 38, 4, 221, 63, 71, 190, 139, 64, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190, 103, 248, 236, 192, 100, 137, 147, 63, 124, 71, 205, 192, 18, 78, 29, 64, 57, 4, 173, 64, 208, 150, 100, 64, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190), +"format": 4119, "index_count": 852, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 572 -} +"index_data": PackedByteArray(225, 1, 4, 0, 2, 0, 225, 1, 226, 1, 4, 0, 227, 1, 9, 0, 7, 0, 227, 1, 228, 1, 9, 0, 229, 1, 230, 1, 10, 0, 233, 1, 234, 1, 13, 0, 235, 1, 16, 0, 14, 0, 235, 1, 236, 1, 16, 0, 237, 1, 1, 0, 19, 0, 237, 1, 224, 1, 1, 0, 3, 0, 24, 0, 22, 0, 3, 0, 5, 0, 24, 0, 6, 0, 29, 0, 27, 0, 6, 0, 8, 0, 29, 0, 238, 1, 11, 0, 231, 1, 11, 0, 33, 0, 31, 0, 11, 0, 238, 1, 33, 0, 239, 1, 240, 1, 34, 0, 243, 1, 244, 1, 37, 0, 232, 1, 39, 0, 245, 1, 39, 0, 12, 0, 41, 0, 39, 0, 232, 1, 12, 0, 15, 0, 44, 0, 42, 0, 15, 0, 17, 0, 44, 0, 18, 0, 21, 0, 47, 0, 18, 0, 0, 0, 21, 0, 23, 0, 53, 0, 51, 0, 23, 0, 25, 0, 53, 0, 26, 0, 56, 0, 54, 0, 26, 0, 28, 0, 56, 0, 30, 0, 61, 0, 59, 0, 30, 0, 32, 0, 61, 0, 246, 1, 35, 0, 241, 1, 35, 0, 65, 0, 63, 0, 35, 0, 246, 1, 65, 0, 247, 1, 248, 1, 66, 0, 250, 1, 252, 1, 68, 0, 71, 0, 36, 0, 73, 0, 36, 0, 253, 1, 242, 1, 36, 0, 71, 0, 253, 1, 38, 0, 76, 0, 74, 0, 38, 0, 40, 0, 76, 0, 43, 0, 81, 0, 79, 0, 43, 0, 45, 0, 81, 0, 46, 0, 48, 0, 82, 0, 46, 0, 20, 0, 48, 0, 50, 0, 88, 0, 86, 0, 50, 0, 52, 0, 88, 0, 55, 0, 93, 0, 91, 0, 55, 0, 57, 0, 93, 0, 58, 0, 97, 0, 95, 0, 58, 0, 60, 0, 97, 0, 62, 0, 100, 0, 98, 0, 62, 0, 64, 0, 100, 0, 254, 1, 67, 0, 249, 1, 67, 0, 105, 0, 103, 0, 67, 0, 254, 1, 105, 0, 255, 1, 0, 2, 106, 0, 3, 2, 4, 2, 109, 0, 110, 0, 69, 0, 112, 0, 69, 0, 5, 2, 251, 1, 69, 0, 110, 0, 5, 2, 70, 0, 117, 0, 115, 0, 70, 0, 72, 0, 117, 0, 75, 0, 120, 0, 118, 0, 75, 0, 77, 0, 120, 0, 78, 0, 124, 0, 122, 0, 78, 0, 80, 0, 124, 0, 83, 0, 84, 0, 126, 0, 83, 0, 49, 0, 84, 0, 87, 0, 133, 0, 131, 0, 87, 0, 89, 0, 133, 0, 90, 0, 137, 0, 135, 0, 90, 0, 92, 0, 137, 0, 94, 0, 140, 0, 138, 0, 94, 0, 96, 0, 140, 0, 99, 0, 145, 0, 143, 0, 99, 0, 101, 0, 145, 0, 102, 0, 148, 0, 146, 0, 102, 0, 104, 0, 148, 0, 1, 2, 150, 0, 107, 0, 1, 2, 6, 2, 150, 0, 152, 0, 2, 2, 108, 0, 152, 0, 8, 2, 2, 2, 111, 0, 157, 0, 155, 0, 111, 0, 113, 0, 157, 0, 114, 0, 160, 0, 158, 0, 114, 0, 116, 0, 160, 0, 119, 0, 165, 0, 163, 0, 119, 0, 121, 0, 165, 0, 123, 0, 168, 0, 166, 0, 123, 0, 125, 0, 168, 0, 127, 0, 128, 0, 170, 0, 127, 0, 85, 0, 128, 0, 130, 0, 176, 0, 174, 0, 130, 0, 132, 0, 176, 0, 134, 0, 181, 0, 179, 0, 134, 0, 136, 0, 181, 0, 139, 0, 184, 0, 182, 0, 139, 0, 141, 0, 184, 0, 142, 0, 189, 0, 187, 0, 142, 0, 144, 0, 189, 0, 147, 0, 192, 0, 190, 0, 147, 0, 149, 0, 192, 0, 7, 2, 195, 0, 151, 0, 7, 2, 11, 2, 195, 0, 13, 2, 153, 0, 197, 0, 13, 2, 9, 2, 153, 0, 154, 0, 201, 0, 199, 0, 154, 0, 156, 0, 201, 0, 159, 0, 204, 0, 202, 0, 159, 0, 161, 0, 204, 0, 162, 0, 209, 0, 207, 0, 162, 0, 164, 0, 209, 0, 167, 0, 212, 0, 210, 0, 167, 0, 169, 0, 212, 0, 171, 0, 172, 0, 214, 0, 171, 0, 129, 0, 172, 0, 175, 0, 221, 0, 219, 0, 175, 0, 177, 0, 221, 0, 178, 0, 224, 0, 222, 0, 178, 0, 180, 0, 224, 0, 183, 0, 229, 0, 227, 0, 183, 0, 185, 0, 229, 0, 186, 0, 232, 0, 230, 0, 186, 0, 188, 0, 232, 0, 191, 0, 237, 0, 235, 0, 191, 0, 193, 0, 237, 0, 10, 2, 239, 0, 194, 0, 10, 2, 241, 0, 239, 0, 245, 0, 12, 2, 196, 0, 245, 0, 243, 0, 12, 2, 198, 0, 248, 0, 246, 0, 198, 0, 200, 0, 248, 0, 203, 0, 253, 0, 251, 0, 203, 0, 205, 0, 253, 0, 206, 0, 0, 1, 254, 0, 206, 0, 208, 0, 0, 1, 211, 0, 4, 1, 2, 1, 211, 0, 213, 0, 4, 1, 215, 0, 217, 0, 7, 1, 215, 0, 173, 0, 217, 0, 218, 0, 13, 1, 11, 1, 218, 0, 220, 0, 13, 1, 223, 0, 16, 1, 14, 1, 223, 0, 225, 0, 16, 1, 226, 0, 21, 1, 19, 1, 226, 0, 228, 0, 21, 1, 231, 0, 25, 1, 23, 1, 231, 0, 233, 0, 25, 1, 234, 0, 28, 1, 26, 1, 234, 0, 236, 0, 28, 1, 240, 0, 30, 1, 238, 0, 240, 0, 14, 2, 30, 1, 32, 1, 242, 0, 244, 0, 32, 1, 16, 2, 242, 0, 247, 0, 36, 1, 34, 1, 247, 0, 249, 0, 36, 1, 250, 0, 41, 1, 39, 1, 250, 0, 252, 0, 41, 1, 255, 0, 44, 1, 42, 1, 255, 0, 1, 1, 44, 1, 3, 1, 49, 1, 47, 1, 3, 1, 5, 1, 49, 1, 6, 1, 8, 1, 50, 1, 6, 1, 216, 0, 8, 1, 10, 1, 56, 1, 54, 1, 10, 1, 12, 1, 56, 1, 15, 1, 61, 1, 59, 1, 15, 1, 17, 1, 61, 1, 18, 1, 65, 1, 63, 1, 18, 1, 20, 1, 65, 1, 22, 1, 68, 1, 66, 1, 22, 1, 24, 1, 68, 1, 27, 1, 73, 1, 71, 1, 27, 1, 29, 1, 73, 1, 15, 2, 75, 1, 31, 1, 15, 2, 19, 2, 75, 1, 77, 1, 17, 2, 33, 1, 77, 1, 21, 2, 17, 2, 35, 1, 81, 1, 79, 1, 35, 1, 37, 1, 81, 1, 38, 1, 85, 1, 83, 1, 38, 1, 40, 1, 85, 1, 43, 1, 88, 1, 86, 1, 43, 1, 45, 1, 88, 1, 46, 1, 92, 1, 90, 1, 46, 1, 48, 1, 92, 1, 51, 1, 53, 1, 95, 1, 51, 1, 9, 1, 53, 1, 55, 1, 101, 1, 99, 1, 55, 1, 57, 1, 101, 1, 58, 1, 105, 1, 103, 1, 58, 1, 60, 1, 105, 1, 62, 1, 108, 1, 106, 1, 62, 1, 64, 1, 108, 1, 67, 1, 113, 1, 111, 1, 67, 1, 69, 1, 113, 1, 70, 1, 116, 1, 114, 1, 70, 1, 72, 1, 116, 1, 18, 2, 119, 1, 74, 1, 18, 2, 23, 2, 119, 1, 120, 1, 20, 2, 76, 1, 120, 1, 24, 2, 20, 2, 78, 1, 125, 1, 123, 1, 78, 1, 80, 1, 125, 1, 82, 1, 128, 1, 126, 1, 82, 1, 84, 1, 128, 1, 87, 1, 133, 1, 131, 1, 87, 1, 89, 1, 133, 1, 91, 1, 136, 1, 134, 1, 91, 1, 93, 1, 136, 1, 94, 1, 96, 1, 138, 1, 94, 1, 52, 1, 96, 1, 98, 1, 145, 1, 143, 1, 98, 1, 100, 1, 145, 1, 102, 1, 149, 1, 147, 1, 102, 1, 104, 1, 149, 1, 107, 1, 152, 1, 150, 1, 107, 1, 109, 1, 152, 1, 110, 1, 156, 1, 154, 1, 110, 1, 112, 1, 156, 1, 117, 1, 158, 1, 115, 1, 158, 1, 28, 2, 26, 2, 158, 1, 117, 1, 28, 2, 22, 2, 29, 2, 118, 1, 25, 2, 121, 1, 30, 2, 33, 2, 124, 1, 161, 1, 124, 1, 31, 2, 122, 1, 124, 1, 33, 2, 31, 2, 127, 1, 165, 1, 163, 1, 127, 1, 129, 1, 165, 1, 130, 1, 169, 1, 167, 1, 130, 1, 132, 1, 169, 1, 135, 1, 172, 1, 170, 1, 135, 1, 137, 1, 172, 1, 139, 1, 140, 1, 174, 1, 139, 1, 97, 1, 140, 1, 142, 1, 181, 1, 179, 1, 142, 1, 144, 1, 181, 1, 146, 1, 184, 1, 182, 1, 146, 1, 148, 1, 184, 1, 151, 1, 189, 1, 187, 1, 151, 1, 153, 1, 189, 1, 157, 1, 191, 1, 155, 1, 191, 1, 36, 2, 35, 2, 191, 1, 157, 1, 36, 2, 27, 2, 37, 2, 159, 1, 32, 2, 160, 1, 38, 2, 40, 2, 164, 1, 192, 1, 164, 1, 39, 2, 162, 1, 164, 1, 40, 2, 39, 2, 166, 1, 196, 1, 194, 1, 166, 1, 168, 1, 196, 1, 171, 1, 201, 1, 199, 1, 171, 1, 173, 1, 201, 1, 175, 1, 176, 1, 202, 1, 175, 1, 141, 1, 176, 1, 178, 1, 209, 1, 207, 1, 178, 1, 180, 1, 209, 1, 183, 1, 212, 1, 210, 1, 183, 1, 185, 1, 212, 1, 43, 2, 188, 1, 44, 2, 188, 1, 215, 1, 186, 1, 188, 1, 43, 2, 215, 1, 34, 2, 45, 2, 190, 1, 41, 2, 193, 1, 46, 2, 47, 2, 216, 1, 48, 2, 216, 1, 195, 1, 197, 1, 216, 1, 47, 2, 195, 1, 198, 1, 221, 1, 219, 1, 198, 1, 200, 1, 221, 1, 203, 1, 204, 1, 222, 1, 203, 1, 177, 1, 204, 1, 52, 2, 206, 1, 208, 1, 52, 2, 51, 2, 206, 1, 54, 2, 211, 1, 213, 1, 54, 2, 53, 2, 211, 1, 214, 1, 42, 2, 55, 2, 56, 2, 49, 2, 217, 1, 58, 2, 218, 1, 220, 1, 58, 2, 57, 2, 218, 1, 50, 2, 223, 1, 205, 1, 50, 2, 59, 2, 223, 1), +"lods": [0.280658, PackedByteArray(226, 1, 228, 1, 8, 0, 228, 1, 230, 1, 8, 0, 238, 1, 8, 0, 230, 1, 226, 1, 8, 0, 24, 0, 224, 1, 226, 1, 24, 0, 8, 0, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 8, 0, 96, 0, 24, 0, 8, 0, 246, 1, 96, 0, 224, 1, 24, 0, 20, 0, 20, 0, 24, 0, 96, 0, 236, 1, 224, 1, 20, 0, 246, 1, 248, 1, 254, 1, 246, 1, 254, 1, 96, 0, 236, 1, 20, 0, 88, 0, 20, 0, 96, 0, 88, 0, 96, 0, 254, 1, 148, 0, 0, 2, 148, 0, 254, 1, 0, 2, 6, 2, 148, 0, 6, 2, 10, 2, 148, 0, 96, 0, 148, 0, 188, 0, 10, 2, 28, 1, 148, 0, 188, 0, 148, 0, 28, 1, 10, 2, 240, 0, 28, 1, 96, 0, 188, 0, 184, 0, 184, 0, 188, 0, 28, 1, 240, 0, 14, 2, 28, 1, 96, 0, 184, 0, 180, 0, 184, 0, 28, 1, 180, 0, 88, 0, 96, 0, 180, 0, 14, 2, 68, 1, 28, 1, 180, 0, 28, 1, 68, 1, 14, 2, 18, 2, 68, 1, 18, 2, 28, 2, 68, 1, 18, 2, 22, 2, 28, 2, 68, 1, 28, 2, 64, 1, 180, 0, 68, 1, 64, 1, 28, 2, 156, 1, 64, 1, 156, 1, 28, 2, 26, 2, 26, 2, 36, 2, 156, 1, 188, 1, 156, 1, 36, 2, 188, 1, 36, 2, 34, 2, 34, 2, 44, 2, 188, 1, 42, 2, 188, 1, 44, 2, 188, 1, 42, 2, 212, 1, 212, 1, 42, 2, 54, 2, 54, 2, 52, 2, 212, 1, 148, 1, 188, 1, 212, 1, 148, 1, 156, 1, 188, 1, 100, 1, 212, 1, 52, 2, 100, 1, 148, 1, 212, 1, 96, 1, 100, 1, 52, 2, 96, 1, 52, 2, 50, 2, 56, 1, 148, 1, 100, 1, 60, 1, 156, 1, 148, 1, 56, 1, 60, 1, 148, 1, 60, 1, 64, 1, 156, 1, 48, 1, 56, 1, 100, 1, 48, 1, 100, 1, 96, 1, 216, 0, 60, 1, 56, 1, 224, 0, 64, 1, 60, 1, 216, 0, 224, 0, 60, 1, 224, 0, 180, 0, 64, 1, 176, 0, 224, 0, 216, 0, 176, 0, 180, 0, 224, 0, 4, 1, 216, 0, 56, 1, 4, 1, 56, 1, 48, 1, 4, 1, 176, 0, 216, 0, 132, 0, 180, 0, 176, 0, 88, 0, 180, 0, 132, 0, 88, 0, 132, 0, 176, 0, 76, 0, 88, 0, 176, 0, 76, 0, 176, 0, 4, 1, 40, 0, 88, 0, 76, 0, 236, 1, 88, 0, 40, 0, 234, 1, 236, 1, 40, 0, 36, 0, 234, 1, 40, 0, 36, 0, 40, 0, 76, 0, 36, 0, 232, 1, 234, 1, 232, 1, 36, 0, 244, 1, 242, 1, 244, 1, 36, 0, 36, 0, 252, 1, 242, 1, 36, 0, 76, 0, 164, 0, 164, 0, 76, 0, 4, 1, 36, 0, 68, 0, 252, 1, 250, 1, 252, 1, 68, 0, 36, 0, 164, 0, 160, 0, 68, 0, 36, 0, 160, 0, 160, 0, 164, 0, 4, 1, 68, 0, 4, 2, 250, 1, 4, 2, 68, 0, 160, 0, 4, 2, 8, 2, 2, 2, 12, 2, 8, 2, 4, 2, 12, 2, 4, 2, 32, 1, 4, 2, 160, 0, 32, 1, 32, 1, 242, 0, 12, 2, 32, 1, 16, 2, 242, 0, 32, 1, 20, 2, 16, 2, 30, 2, 20, 2, 32, 1, 30, 2, 24, 2, 20, 2, 32, 1, 160, 0, 252, 0, 160, 0, 4, 1, 252, 0, 32, 1, 124, 1, 30, 2, 32, 1, 252, 0, 124, 1, 124, 1, 32, 2, 30, 2, 32, 2, 124, 1, 38, 2, 124, 1, 164, 1, 38, 2, 164, 1, 40, 2, 38, 2, 252, 0, 84, 1, 124, 1, 252, 0, 4, 1, 84, 1, 124, 1, 84, 1, 164, 1, 40, 2, 164, 1, 46, 2, 4, 1, 92, 1, 84, 1, 4, 1, 48, 1, 92, 1, 92, 1, 48, 1, 96, 1, 84, 1, 92, 1, 168, 1, 84, 1, 168, 1, 164, 1, 92, 1, 96, 1, 168, 1, 164, 1, 216, 1, 46, 2, 164, 1, 168, 1, 216, 1, 46, 2, 216, 1, 48, 2, 56, 2, 48, 2, 216, 1, 58, 2, 56, 2, 216, 1, 168, 1, 96, 1, 200, 1, 168, 1, 200, 1, 216, 1, 216, 1, 200, 1, 58, 2, 200, 1, 96, 1, 50, 2, 200, 1, 50, 2, 58, 2), 0.614485, PackedByteArray(224, 1, 226, 1, 88, 0, 236, 1, 224, 1, 88, 0, 226, 1, 228, 1, 88, 0, 236, 1, 88, 0, 234, 1, 238, 1, 228, 1, 230, 1, 228, 1, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 228, 1, 96, 0, 88, 0, 228, 1, 246, 1, 96, 0, 234, 1, 88, 0, 176, 0, 88, 0, 96, 0, 176, 0, 246, 1, 248, 1, 254, 1, 246, 1, 254, 1, 96, 0, 96, 0, 254, 1, 6, 2, 0, 2, 6, 2, 254, 1, 96, 0, 6, 2, 14, 2, 10, 2, 14, 2, 6, 2, 10, 2, 240, 0, 14, 2, 96, 0, 14, 2, 60, 1, 176, 0, 96, 0, 60, 1, 60, 1, 14, 2, 36, 2, 56, 1, 176, 0, 60, 1, 60, 1, 36, 2, 56, 1, 14, 2, 28, 2, 36, 2, 18, 2, 28, 2, 14, 2, 18, 2, 22, 2, 28, 2, 36, 2, 28, 2, 26, 2, 44, 2, 36, 2, 34, 2, 56, 1, 36, 2, 44, 2, 44, 2, 42, 2, 54, 2, 56, 1, 44, 2, 54, 2, 56, 1, 54, 2, 52, 2, 50, 2, 56, 1, 52, 2, 4, 1, 176, 0, 56, 1, 4, 1, 56, 1, 50, 2, 234, 1, 176, 0, 4, 1, 4, 1, 50, 2, 168, 1, 168, 1, 50, 2, 58, 2, 252, 1, 234, 1, 4, 1, 252, 1, 232, 1, 234, 1, 232, 1, 252, 1, 244, 1, 242, 1, 244, 1, 252, 1, 56, 2, 168, 1, 58, 2, 252, 0, 4, 1, 168, 1, 252, 1, 4, 1, 252, 0, 250, 1, 252, 1, 4, 2, 4, 2, 252, 1, 252, 0, 4, 2, 252, 0, 2, 2, 46, 2, 56, 2, 48, 2, 38, 2, 56, 2, 46, 2, 38, 2, 168, 1, 56, 2, 40, 2, 38, 2, 46, 2, 30, 2, 168, 1, 38, 2, 252, 0, 168, 1, 30, 2, 32, 2, 30, 2, 38, 2, 2, 2, 252, 0, 32, 1, 32, 1, 252, 0, 30, 2, 12, 2, 8, 2, 2, 2, 12, 2, 2, 2, 32, 1, 32, 1, 242, 0, 12, 2, 32, 1, 16, 2, 242, 0, 32, 1, 20, 2, 16, 2, 30, 2, 20, 2, 32, 1, 30, 2, 24, 2, 20, 2), 1.83976, PackedByteArray(238, 1, 228, 1, 230, 1, 228, 1, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 228, 1, 246, 1, 79, 2, 79, 2, 246, 1, 82, 2, 80, 2, 79, 2, 82, 2, 0, 2, 6, 2, 246, 1, 246, 1, 6, 2, 240, 0, 10, 2, 240, 0, 6, 2, 246, 1, 240, 0, 83, 2, 44, 2, 42, 2, 82, 2, 82, 2, 34, 2, 44, 2, 82, 2, 240, 0, 34, 2, 240, 0, 28, 2, 34, 2, 34, 2, 28, 2, 26, 2, 18, 2, 28, 2, 240, 0, 18, 2, 22, 2, 28, 2, 80, 2, 82, 2, 81, 2, 81, 2, 82, 2, 50, 2, 81, 2, 50, 2, 58, 2, 242, 1, 80, 2, 81, 2, 56, 2, 81, 2, 58, 2, 81, 2, 56, 2, 46, 2, 46, 2, 56, 2, 48, 2, 40, 2, 81, 2, 46, 2, 2, 2, 242, 1, 81, 2, 250, 1, 242, 1, 2, 2, 2, 2, 81, 2, 20, 2, 12, 2, 2, 2, 20, 2, 12, 2, 8, 2, 2, 2, 20, 2, 242, 0, 12, 2, 20, 2, 16, 2, 242, 0), 1.90169, PackedByteArray(62, 2, 61, 2, 64, 2, 62, 2, 64, 2, 60, 2, 65, 2, 60, 2, 64, 2, 42, 2, 61, 2, 63, 2), 2.01908, PackedByteArray(8, 2, 68, 2, 16, 2, 12, 2, 8, 2, 16, 2, 16, 2, 242, 0, 12, 2, 16, 2, 68, 2, 70, 2, 68, 2, 67, 2, 70, 2, 46, 2, 16, 2, 70, 2, 66, 2, 0, 2, 69, 2, 66, 2, 69, 2, 71, 2)], +"material": SubResource("StandardMaterial3D_sgl8b"), +"primitive": 3, +"vertex_count": 596, +"vertex_data": PackedByteArray(162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 7, 73, 204, 244, 255, 127, 251, 215, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 45, 67, 255, 244, 255, 127, 63, 219, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 209, 188, 255, 244, 255, 127, 63, 219, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 247, 182, 204, 244, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 247, 182, 204, 244, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 130, 194, 86, 226, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 130, 194, 86, 226, 255, 127, 251, 215, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 132, 208, 177, 210, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 166, 204, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 183, 56, 200, 226, 255, 127, 63, 219, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 124, 61, 86, 226, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 124, 61, 86, 226, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 7, 73, 204, 244, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 45, 67, 255, 244, 255, 127, 63, 219, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 22, 79, 125, 244, 255, 127, 140, 212, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 7, 73, 204, 244, 255, 127, 251, 215, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 247, 182, 204, 244, 255, 127, 251, 215, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 232, 176, 125, 244, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 247, 182, 204, 244, 255, 127, 251, 215, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 232, 176, 125, 244, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 178, 189, 167, 225, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 130, 194, 86, 226, 255, 127, 251, 215, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 178, 189, 167, 225, 255, 127, 140, 212, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 130, 194, 86, 226, 255, 127, 251, 215, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 215, 200, 60, 209, 255, 127, 140, 212, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 215, 200, 60, 209, 255, 127, 140, 212, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 238, 214, 173, 193, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 13, 212, 185, 192, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 241, 43, 185, 192, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 39, 55, 60, 209, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 39, 55, 60, 209, 255, 127, 140, 212, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 124, 61, 86, 226, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 76, 66, 167, 225, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 124, 61, 86, 226, 255, 127, 251, 215, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 76, 66, 167, 225, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 22, 79, 125, 244, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 7, 73, 204, 244, 255, 127, 251, 215, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 22, 79, 125, 244, 255, 127, 140, 212, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 121, 85, 14, 244, 255, 127, 220, 208, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 133, 170, 14, 244, 255, 127, 220, 208, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 232, 176, 125, 244, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 133, 170, 14, 244, 255, 127, 220, 208, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 232, 176, 125, 244, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 178, 189, 167, 225, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 198, 184, 179, 224, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 178, 189, 167, 225, 255, 127, 140, 212, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 198, 184, 179, 224, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 15, 197, 5, 208, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 215, 200, 60, 209, 255, 127, 140, 212, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 215, 200, 60, 209, 255, 127, 140, 212, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 73, 209, 107, 191, 255, 127, 220, 208, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 73, 209, 107, 191, 255, 127, 220, 208, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 20, 225, 136, 173, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 85, 223, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 234, 30, 136, 173, 255, 127, 140, 212, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 181, 46, 107, 191, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 241, 43, 185, 192, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 241, 43, 185, 192, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 39, 55, 60, 209, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 39, 55, 60, 209, 255, 127, 140, 212, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 56, 71, 179, 224, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 76, 66, 167, 225, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 56, 71, 179, 224, 255, 127, 220, 208, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 76, 66, 167, 225, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 22, 79, 125, 244, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 121, 85, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 121, 85, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 89, 92, 122, 243, 255, 127, 209, 204, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 133, 170, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 133, 170, 14, 244, 255, 127, 220, 208, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 171, 179, 113, 223, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 198, 184, 179, 224, 255, 127, 220, 208, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 198, 184, 179, 224, 255, 127, 220, 208, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 68, 193, 111, 206, 255, 127, 209, 204, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 68, 193, 111, 206, 255, 127, 209, 204, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 73, 209, 107, 191, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 73, 209, 107, 191, 255, 127, 220, 208, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 188, 221, 214, 170, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 188, 221, 214, 170, 255, 127, 209, 204, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 102, 242, 116, 146, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 226, 241, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 28, 14, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 169, 32, 88, 172, 255, 127, 220, 208, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 96, 49, 189, 189, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 96, 49, 189, 189, 255, 127, 209, 204, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 239, 58, 5, 208, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 56, 71, 179, 224, 255, 127, 220, 208, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 56, 71, 179, 224, 255, 127, 220, 208, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 121, 85, 14, 244, 255, 127, 220, 208, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 89, 92, 122, 243, 255, 127, 209, 204, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 89, 92, 122, 243, 255, 127, 209, 204, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 230, 99, 183, 242, 255, 127, 67, 200, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 24, 156, 183, 242, 255, 127, 67, 200, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 24, 156, 183, 242, 255, 127, 67, 200, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 74, 174, 210, 221, 255, 127, 67, 200, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 68, 193, 111, 206, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 68, 193, 111, 206, 255, 127, 209, 204, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 13, 204, 165, 187, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 188, 221, 214, 170, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 188, 221, 214, 170, 255, 127, 209, 204, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 226, 241, 164, 145, 255, 127, 209, 204, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 123, 241, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 28, 14, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 132, 14, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 177, 35, 252, 168, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 96, 49, 189, 189, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 96, 49, 189, 189, 255, 127, 209, 204, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 142, 66, 109, 204, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 83, 76, 113, 223, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 180, 81, 210, 221, 255, 127, 67, 200, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 180, 81, 210, 221, 255, 127, 67, 200, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 89, 92, 122, 243, 255, 127, 209, 204, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 230, 99, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 230, 99, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 102, 108, 185, 241, 255, 127, 254, 194, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 24, 156, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 152, 147, 185, 241, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 24, 156, 183, 242, 255, 127, 67, 200, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 152, 147, 185, 241, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 134, 168, 195, 219, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 134, 168, 195, 219, 255, 127, 254, 194, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 112, 189, 109, 204, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 149, 201, 21, 185, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 149, 201, 21, 185, 255, 127, 254, 194, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 77, 220, 252, 168, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 48, 241, 136, 143, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 123, 241, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 132, 14, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 245, 36, 197, 166, 255, 127, 254, 194, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 245, 36, 197, 166, 255, 127, 254, 194, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 241, 51, 165, 187, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 119, 70, 236, 201, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 119, 70, 236, 201, 255, 127, 254, 194, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 180, 81, 210, 221, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 180, 81, 210, 221, 255, 127, 67, 200, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 230, 99, 183, 242, 255, 127, 67, 200, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 102, 108, 185, 241, 255, 127, 254, 194, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 186, 113, 102, 236, 255, 127, 0, 189, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 102, 108, 185, 241, 255, 127, 254, 194, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 69, 142, 102, 236, 255, 127, 0, 189, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 152, 147, 185, 241, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 69, 142, 102, 236, 255, 127, 0, 189, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 152, 147, 185, 241, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 134, 168, 195, 219, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 134, 168, 195, 219, 255, 127, 254, 194, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 17, 182, 118, 198, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 149, 201, 21, 185, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 149, 201, 21, 185, 255, 127, 254, 194, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 56, 217, 244, 164, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 56, 217, 244, 164, 255, 127, 0, 189, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 118, 240, 205, 142, 255, 127, 0, 189, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 48, 241, 136, 143, 255, 127, 254, 194, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 118, 240, 205, 142, 255, 127, 0, 189, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 48, 241, 136, 143, 255, 127, 254, 194, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 136, 15, 205, 142, 255, 127, 0, 189, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 136, 15, 205, 142, 255, 127, 0, 189, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 245, 36, 197, 166, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 245, 36, 197, 166, 255, 127, 254, 194, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 22, 57, 105, 182, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 119, 70, 236, 201, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 119, 70, 236, 201, 255, 127, 254, 194, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 120, 87, 195, 219, 255, 127, 254, 194, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 186, 113, 102, 236, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 102, 108, 185, 241, 255, 127, 254, 194, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 186, 113, 102, 236, 255, 127, 0, 189, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 183, 114, 229, 227, 255, 127, 186, 183, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 71, 141, 229, 227, 255, 127, 186, 183, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 69, 142, 102, 236, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 71, 141, 229, 227, 255, 127, 186, 183, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 69, 142, 102, 236, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 58, 164, 119, 215, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 144, 179, 142, 194, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 89, 196, 240, 179, 255, 127, 186, 183, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 89, 196, 240, 179, 255, 127, 186, 183, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 56, 217, 244, 164, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 56, 217, 244, 164, 255, 127, 0, 189, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 118, 240, 205, 142, 255, 127, 0, 189, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 83, 239, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 136, 15, 205, 142, 255, 127, 0, 189, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 171, 16, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 198, 38, 244, 164, 255, 127, 0, 189, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 165, 59, 240, 179, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 237, 73, 118, 198, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 211, 93, 180, 209, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 211, 93, 180, 209, 255, 127, 186, 183, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 186, 113, 102, 236, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 183, 114, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 122, 115, 88, 220, 255, 127, 45, 179, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 183, 114, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 71, 141, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 71, 141, 229, 227, 255, 127, 186, 183, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 141, 160, 83, 204, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 142, 177, 185, 190, 255, 127, 45, 179, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 142, 177, 185, 190, 255, 127, 45, 179, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 89, 196, 240, 179, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 89, 196, 240, 179, 255, 127, 186, 183, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 40, 213, 65, 162, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 40, 213, 65, 162, 255, 127, 45, 179, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 90, 238, 27, 142, 255, 127, 45, 179, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 83, 239, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 164, 17, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 171, 16, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 214, 42, 65, 162, 255, 127, 45, 179, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 190, 61, 95, 177, 255, 127, 45, 179, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 190, 61, 95, 177, 255, 127, 45, 179, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 110, 76, 142, 194, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 211, 93, 180, 209, 255, 127, 186, 183, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 211, 93, 180, 209, 255, 127, 186, 183, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 122, 115, 88, 220, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 183, 114, 229, 227, 255, 127, 186, 183, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 122, 115, 88, 220, 255, 127, 45, 179, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 15, 116, 121, 213, 255, 127, 33, 175, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 239, 139, 121, 213, 255, 127, 33, 175, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 74, 159, 55, 199, 255, 127, 33, 175, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 74, 159, 55, 199, 255, 127, 33, 175, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 142, 177, 185, 190, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 142, 177, 185, 190, 255, 127, 45, 179, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 146, 192, 181, 174, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 146, 192, 181, 174, 255, 127, 33, 175, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 40, 213, 65, 162, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 40, 213, 65, 162, 255, 127, 45, 179, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 137, 237, 151, 141, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 90, 238, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 164, 17, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 117, 18, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 89, 44, 169, 160, 255, 127, 33, 175, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 89, 44, 169, 160, 255, 127, 33, 175, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 190, 61, 95, 177, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 190, 61, 95, 177, 255, 127, 45, 179, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 6, 80, 239, 186, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 113, 95, 83, 204, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 122, 115, 88, 220, 255, 127, 45, 179, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 15, 116, 121, 213, 255, 127, 33, 175, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 15, 116, 121, 213, 255, 127, 33, 175, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 126, 116, 22, 207, 255, 127, 114, 171, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 128, 139, 22, 207, 255, 127, 114, 171, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 128, 139, 22, 207, 255, 127, 114, 171, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 87, 158, 76, 194, 255, 127, 114, 171, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 74, 159, 55, 199, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 87, 158, 76, 194, 255, 127, 114, 171, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 74, 159, 55, 199, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 248, 175, 239, 186, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 193, 174, 38, 183, 255, 127, 114, 171, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 193, 174, 38, 183, 255, 127, 114, 171, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 146, 192, 181, 174, 255, 127, 33, 175, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 146, 192, 181, 174, 255, 127, 33, 175, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 165, 211, 169, 160, 255, 127, 33, 175, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 117, 210, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 137, 45, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 89, 44, 169, 160, 255, 127, 33, 175, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 185, 64, 240, 171, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 185, 64, 240, 171, 255, 127, 114, 171, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 61, 81, 38, 183, 255, 127, 114, 171, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 61, 81, 38, 183, 255, 127, 114, 171, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 180, 96, 56, 199, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 167, 97, 76, 194, 255, 127, 114, 171, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 167, 97, 76, 194, 255, 127, 114, 171, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 15, 116, 121, 213, 255, 127, 33, 175, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 126, 116, 22, 207, 255, 127, 114, 171, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 126, 116, 22, 207, 255, 127, 114, 171, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 205, 116, 7, 201, 255, 127, 3, 168, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 49, 139, 7, 201, 255, 127, 3, 168, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 128, 139, 22, 207, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 49, 139, 7, 201, 255, 127, 3, 168, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 128, 139, 22, 207, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 87, 158, 76, 194, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 167, 157, 124, 189, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 87, 158, 76, 194, 255, 127, 114, 171, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 167, 157, 124, 189, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 224, 173, 87, 179, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 193, 174, 38, 183, 255, 127, 114, 171, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 193, 174, 38, 183, 255, 127, 114, 171, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 81, 190, 16, 169, 255, 127, 3, 168, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 69, 191, 240, 171, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 185, 64, 240, 171, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 173, 65, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 61, 81, 38, 183, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 61, 81, 38, 183, 255, 127, 114, 171, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 87, 98, 124, 189, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 167, 97, 76, 194, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 87, 98, 124, 189, 255, 127, 3, 168, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 167, 97, 76, 194, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 126, 116, 22, 207, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 205, 116, 7, 201, 255, 127, 3, 168, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 205, 116, 7, 201, 255, 127, 3, 168, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 0, 117, 45, 195, 255, 127, 190, 164, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 254, 138, 45, 195, 255, 127, 190, 164, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 49, 139, 7, 201, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 49, 139, 7, 201, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 167, 157, 124, 189, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 167, 157, 124, 189, 255, 127, 3, 168, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 77, 173, 122, 175, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 224, 173, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 177, 82, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 200, 98, 183, 184, 255, 127, 190, 164, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 87, 98, 124, 189, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 87, 98, 124, 189, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 205, 116, 7, 201, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 0, 117, 45, 195, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 45, 67, 255, 244, 255, 127, 63, 219, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 132, 208, 177, 210, 255, 127, 63, 219, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 132, 208, 177, 210, 255, 127, 63, 219, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 166, 204, 30, 210, 255, 127, 251, 215, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 88, 51, 30, 210, 255, 127, 251, 215, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 45, 67, 255, 244, 255, 127, 63, 219, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 238, 214, 173, 193, 255, 127, 251, 215, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 238, 214, 173, 193, 255, 127, 251, 215, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 13, 212, 185, 192, 255, 127, 140, 212, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 241, 43, 185, 192, 255, 127, 139, 212, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 88, 51, 30, 210, 255, 127, 251, 215, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 20, 225, 136, 173, 255, 127, 140, 212, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 20, 225, 136, 173, 255, 127, 140, 212, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 85, 223, 88, 172, 255, 127, 220, 208, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 234, 30, 136, 173, 255, 127, 140, 212, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 234, 30, 136, 173, 255, 127, 140, 212, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 241, 43, 185, 192, 255, 127, 140, 212, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 102, 242, 116, 146, 255, 127, 220, 208, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 102, 242, 116, 146, 255, 127, 220, 208, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 226, 241, 164, 145, 255, 127, 209, 204, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 28, 14, 164, 145, 255, 127, 209, 204, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 169, 32, 88, 172, 255, 127, 220, 208, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 226, 241, 164, 145, 255, 127, 209, 204, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 123, 241, 170, 144, 255, 127, 67, 200, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 28, 14, 164, 145, 255, 127, 209, 204, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 132, 14, 170, 144, 255, 127, 67, 200, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 48, 241, 136, 143, 255, 127, 254, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 123, 241, 170, 144, 255, 127, 67, 200, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 206, 14, 136, 143, 255, 127, 254, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 132, 14, 170, 144, 255, 127, 67, 200, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 118, 240, 205, 142, 255, 127, 0, 189, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 83, 239, 131, 142, 255, 127, 186, 183, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 136, 15, 205, 142, 255, 127, 0, 189, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 171, 16, 131, 142, 255, 127, 186, 183, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 90, 238, 27, 142, 255, 127, 45, 179, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 83, 239, 131, 142, 255, 127, 186, 183, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 164, 17, 27, 142, 255, 127, 45, 179, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 171, 16, 131, 142, 255, 127, 186, 183, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 137, 237, 151, 141, 255, 127, 33, 175, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 90, 238, 27, 142, 255, 127, 45, 179, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 164, 17, 27, 142, 255, 127, 45, 179, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 117, 18, 151, 141, 255, 127, 33, 175, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 165, 211, 169, 160, 255, 127, 33, 175, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 117, 210, 233, 158, 255, 127, 114, 171, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 137, 237, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 117, 18, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 89, 44, 169, 160, 255, 127, 33, 175, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 137, 45, 233, 158, 255, 127, 114, 171, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 89, 44, 169, 160, 255, 127, 33, 175, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 81, 190, 16, 169, 255, 127, 3, 168, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 117, 210, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 137, 45, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 185, 64, 240, 171, 255, 127, 114, 171, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 185, 64, 240, 171, 255, 127, 114, 171, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 173, 65, 16, 169, 255, 127, 3, 168, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 77, 173, 122, 175, 255, 127, 190, 164, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 81, 190, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 173, 65, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 30, 82, 87, 179, 255, 127, 3, 168, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 30, 82, 87, 179, 255, 127, 3, 168, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 177, 82, 122, 175, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 0, 117, 45, 195, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 77, 173, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 177, 82, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 0, 117, 45, 195, 255, 127, 190, 164, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 227, 82, 203, 196, 255, 127, 0, 189, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 84, 184, 104, 203, 255, 127, 140, 212, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 41, 84, 180, 219, 255, 127, 140, 212, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 62, 198, 161, 173, 255, 127, 33, 175, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 130, 121, 111, 226, 255, 127, 190, 164, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 225, 90, 224, 189, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 123, 194, 170, 195, 255, 127, 251, 215, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 92, 104, 44, 253, 255, 127, 251, 215, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 108, 59, 227, 194, 255, 127, 139, 212, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 187, 197, 81, 185, 255, 127, 33, 175, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 24, 85, 114, 199, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 206, 156, 194, 210, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 200, 163, 196, 254, 255, 127, 63, 219, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 131, 199, 23, 202, 255, 127, 251, 215, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 99, 61, 196, 197, 255, 127, 139, 212, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 191, 213, 78, 166, 255, 127, 254, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 189, 50, 141, 169, 255, 127, 0, 189, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 173, 129, 213, 229, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 75, 179, 124, 192, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 92, 169, 55, 247, 255, 127, 63, 219, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 101, 66, 222, 205, 255, 127, 251, 215, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 63, 65, 47, 176, 255, 127, 114, 171, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 27, 144, 127, 210, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 189, 186, 144, 191, 255, 127, 190, 164) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_11324") -[sub_resource type="SpatialMaterial" id=4] -albedo_texture = ExtResource( 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sgwkf"] +albedo_texture = ExtResource("1") -[node name="Mound" type="StaticBody"] +[node name="Mound" type="StaticBody3D"] -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 3 ) +[node name="CollisionShape3d" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_3sfqa") -[node name="Mesh" type="MeshInstance" parent="."] -mesh = SubResource( 2 ) -material/0 = SubResource( 4 ) +[node name="Mesh" type="MeshInstance3D" parent="."] +gi_mode = 0 +mesh = SubResource("ArrayMesh_qya8c") +skeleton = NodePath("") +surface_material_override/0 = SubResource("StandardMaterial3D_sgwkf") diff --git a/assets/meshes/plate/plate.glb.import b/assets/meshes/plate/plate.glb.import index 5c34fd70..f003913a 100644 --- a/assets/meshes/plate/plate.glb.import +++ b/assets/meshes/plate/plate.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/plate.glb-5c0f61a8d372703912fa5be77129451d.scn" +uid="uid://cegpwqy2053ct" +path="res://.godot/imported/plate.glb-5c0f61a8d372703912fa5be77129451d.scn" [deps] source_file="res://assets/meshes/plate/plate.glb" -dest_files=[ "res://.import/plate.glb-5c0f61a8d372703912fa5be77129451d.scn" ] +dest_files=["res://.godot/imported/plate.glb-5c0f61a8d372703912fa5be77129451d.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/plate/surface_objects.tscn b/assets/meshes/plate/surface_objects.tscn index 32cf8f3e..68b38c37 100644 --- a/assets/meshes/plate/surface_objects.tscn +++ b/assets/meshes/plate/surface_objects.tscn @@ -1,186 +1,183 @@ -[gd_scene load_steps=21 format=2] - -[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=1] -[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/meshes/plate/plate.glb" type="PackedScene" id=3] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=4] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=5] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=6] -[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" type="Script" id=7] -[ext_resource path="res://assets/footsteps/grass_footstep.wav" type="AudioStream" id=8] -[ext_resource path="res://assets/footsteps/puddle_footstep.wav" type="AudioStream" id=9] -[ext_resource path="res://assets/footsteps/mud_footstep.wav" type="AudioStream" id=10] -[ext_resource path="res://assets/footsteps/snow_footstep.wav" type="AudioStream" id=11] - -[sub_resource type="ConcavePolygonShape" id=1] -data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 ) - -[sub_resource type="Resource" id=6] -script = ExtResource( 7 ) +[gd_scene load_steps=22 format=3 uid="uid://54qovguk25i5"] + +[ext_resource type="Texture2D" uid="uid://cqgdloakbawp" path="res://assets/wahooney.itch.io/white_grid.png" id="1"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/audio/surface_audio.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://cegpwqy2053ct" path="res://assets/meshes/plate/plate.glb" id="3"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="4"] +[ext_resource type="AudioStream" uid="uid://dkladw5jiqfnb" path="res://assets/footsteps/puddle_footstep.wav" id="4_ql6qg"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="5"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="6"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" id="7"] +[ext_resource type="AudioStream" uid="uid://bu3r7384vd488" path="res://assets/footsteps/mud_footstep.wav" id="7_f6aya"] +[ext_resource type="AudioStream" uid="uid://dl3u65cveimdq" path="res://assets/footsteps/grass_footstep.wav" id="9_4132b"] +[ext_resource type="AudioStream" uid="uid://c7670m64eawbp" path="res://assets/footsteps/snow_footstep.wav" id="11_u808p"] + +[sub_resource type="ConcavePolygonShape3D" id="1"] +data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1) + +[sub_resource type="Resource" id="Resource_rpp4f"] +script = ExtResource("7") name = "Puddle" -jump_sound = ExtResource( 9 ) -hit_sound = ExtResource( 9 ) -walk_sounds = [ ExtResource( 9 ), ExtResource( 9 ) ] +jump_sound = ExtResource("4_ql6qg") +hit_sound = ExtResource("4_ql6qg") +walk_sounds = Array[AudioStream]([ExtResource("4_ql6qg"), ExtResource("4_ql6qg")]) walk_pitch_minimum = 0.8 walk_pitch_maximum = 1.2 -[sub_resource type="ConcavePolygonShape" id=2] -data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 ) +[sub_resource type="ConcavePolygonShape3D" id="2"] +data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1) -[sub_resource type="Resource" id=8] -script = ExtResource( 7 ) +[sub_resource type="Resource" id="Resource_rwibv"] +script = ExtResource("7") name = "Mud" -jump_sound = ExtResource( 10 ) -hit_sound = ExtResource( 10 ) -walk_sounds = [ ExtResource( 10 ), ExtResource( 10 ) ] +jump_sound = ExtResource("7_f6aya") +hit_sound = ExtResource("7_f6aya") +walk_sounds = Array[AudioStream]([ExtResource("7_f6aya"), ExtResource("7_f6aya")]) walk_pitch_minimum = 0.8 walk_pitch_maximum = 1.2 -[sub_resource type="ConcavePolygonShape" id=3] -data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 ) +[sub_resource type="ConcavePolygonShape3D" id="3"] +data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1) -[sub_resource type="Resource" id=7] -script = ExtResource( 7 ) +[sub_resource type="Resource" id="Resource_53y85"] +script = ExtResource("7") name = "Grass" -hit_sound = ExtResource( 8 ) -walk_sounds = [ ExtResource( 8 ), ExtResource( 8 ) ] +hit_sound = ExtResource("9_4132b") +walk_sounds = Array[AudioStream]([ExtResource("9_4132b"), ExtResource("9_4132b")]) walk_pitch_minimum = 0.8 walk_pitch_maximum = 1.2 -[sub_resource type="SpatialMaterial" id=4] -albedo_texture = ExtResource( 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t8uhq"] +albedo_texture = ExtResource("1") -[sub_resource type="ConcavePolygonShape" id=5] -data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 ) +[sub_resource type="ConcavePolygonShape3D" id="5"] +data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1) -[sub_resource type="Resource" id=9] -script = ExtResource( 7 ) +[sub_resource type="Resource" id="Resource_58enk"] +script = ExtResource("7") name = "Snow" -hit_sound = ExtResource( 11 ) -walk_sounds = [ ExtResource( 11 ), ExtResource( 11 ) ] +hit_sound = ExtResource("11_u808p") +walk_sounds = Array[AudioStream]([ExtResource("11_u808p"), ExtResource("11_u808p")]) walk_pitch_minimum = 0.8 walk_pitch_maximum = 1.2 -[node name="surface_objects" type="Spatial"] -transform = Transform( 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qcyph"] +albedo_texture = ExtResource("1") -[node name="plate_puddle_s" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -7 ) +[node name="surface_objects" type="Node3D"] +transform = Transform3D(1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0) + +[node name="plate_puddle_s" parent="." instance=ExtResource("3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -7) [node name="Plane" parent="plate_puddle_s" index="0"] -material/0 = ExtResource( 6 ) +material_override = ExtResource("6") -[node name="StaticBody" type="StaticBody" parent="plate_puddle_s/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_puddle_s/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_puddle_s/Plane/StaticBody"] -shape = SubResource( 1 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_puddle_s/Plane/StaticBody"] +shape = SubResource("1") -[node name="SurfaceAudio" parent="plate_puddle_s/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 6 ) +[node name="SurfaceAudio" parent="plate_puddle_s/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_rpp4f") -[node name="plate_mud_s" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -5 ) +[node name="plate_mud_s" parent="." instance=ExtResource("3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -5) [node name="Plane" parent="plate_mud_s" index="0"] -material/0 = ExtResource( 4 ) +material_override = ExtResource("4") -[node name="StaticBody" type="StaticBody" parent="plate_mud_s/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_mud_s/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_mud_s/Plane/StaticBody"] -shape = SubResource( 2 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_mud_s/Plane/StaticBody"] +shape = SubResource("2") -[node name="SurfaceAudio" parent="plate_mud_s/Plane/StaticBody" instance=ExtResource( 2 )] -__meta__ = { -"_editor_description_": "" -} -surface_audio_type = SubResource( 8 ) +[node name="SurfaceAudio" parent="plate_mud_s/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_rwibv") -[node name="plate_grass_s" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -5 ) +[node name="plate_grass_s" parent="." instance=ExtResource("3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -5) [node name="Plane" parent="plate_grass_s" index="0"] -material/0 = ExtResource( 5 ) +material_override = ExtResource("5") -[node name="StaticBody" type="StaticBody" parent="plate_grass_s/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_grass_s/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_grass_s/Plane/StaticBody"] -shape = SubResource( 3 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_grass_s/Plane/StaticBody"] +shape = SubResource("3") -[node name="SurfaceAudio" parent="plate_grass_s/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 7 ) +[node name="SurfaceAudio" parent="plate_grass_s/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_53y85") -[node name="plate_snow_s" parent="." instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -7 ) +[node name="plate_snow_s" parent="." instance=ExtResource("3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -7) [node name="Plane" parent="plate_snow_s" index="0"] -material/0 = SubResource( 4 ) +material_override = SubResource("StandardMaterial3D_t8uhq") -[node name="StaticBody" type="StaticBody" parent="plate_snow_s/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_snow_s/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_snow_s/Plane/StaticBody"] -shape = SubResource( 5 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_snow_s/Plane/StaticBody"] +shape = SubResource("5") -[node name="SurfaceAudio" parent="plate_snow_s/Plane/StaticBody" instance=ExtResource( 2 )] -__meta__ = { -"_editor_description_": "" -} -surface_audio_type = SubResource( 9 ) +[node name="SurfaceAudio" parent="plate_snow_s/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_58enk") -[node name="plate_puddle" parent="." instance=ExtResource( 3 )] -transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, -12 ) +[node name="plate_puddle" parent="." instance=ExtResource("3")] +transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, -12) [node name="Plane" parent="plate_puddle" index="0"] -material/0 = ExtResource( 6 ) +material_override = ExtResource("6") -[node name="StaticBody" type="StaticBody" parent="plate_puddle/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_puddle/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_puddle/Plane/StaticBody"] -shape = SubResource( 1 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_puddle/Plane/StaticBody"] +shape = SubResource("1") -[node name="SurfaceAudio" parent="plate_puddle/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 6 ) +[node name="SurfaceAudio" parent="plate_puddle/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_rpp4f") -[node name="plate_mud" parent="." instance=ExtResource( 3 )] -transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, 0 ) +[node name="plate_mud" parent="." instance=ExtResource("3")] +transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, 0) [node name="Plane" parent="plate_mud" index="0"] -material/0 = ExtResource( 4 ) +material_override = ExtResource("4") -[node name="StaticBody" type="StaticBody" parent="plate_mud/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_mud/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_mud/Plane/StaticBody"] -shape = SubResource( 2 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_mud/Plane/StaticBody"] +shape = SubResource("2") -[node name="SurfaceAudio" parent="plate_mud/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 8 ) +[node name="SurfaceAudio" parent="plate_mud/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_rwibv") -[node name="plate_grass" parent="." instance=ExtResource( 3 )] -transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, 1 ) +[node name="plate_grass" parent="." instance=ExtResource("3")] +transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, 1) [node name="Plane" parent="plate_grass" index="0"] -material/0 = ExtResource( 5 ) +material_override = ExtResource("5") -[node name="StaticBody" type="StaticBody" parent="plate_grass/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_grass/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_grass/Plane/StaticBody"] -shape = SubResource( 3 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_grass/Plane/StaticBody"] +shape = SubResource("3") -[node name="SurfaceAudio" parent="plate_grass/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 7 ) +[node name="SurfaceAudio" parent="plate_grass/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_53y85") -[node name="plate_snow" parent="." instance=ExtResource( 3 )] -transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, -12 ) +[node name="plate_snow" parent="." instance=ExtResource("3")] +transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, -12) [node name="Plane" parent="plate_snow" index="0"] -material/0 = SubResource( 4 ) +material_override = SubResource("StandardMaterial3D_qcyph") -[node name="StaticBody" type="StaticBody" parent="plate_snow/Plane" index="0"] +[node name="StaticBody" type="StaticBody3D" parent="plate_snow/Plane" index="0"] -[node name="CollisionShape" type="CollisionShape" parent="plate_snow/Plane/StaticBody"] -shape = SubResource( 5 ) +[node name="CollisionShape" type="CollisionShape3D" parent="plate_snow/Plane/StaticBody"] +shape = SubResource("5") -[node name="SurfaceAudio" parent="plate_snow/Plane/StaticBody" instance=ExtResource( 2 )] -surface_audio_type = SubResource( 9 ) +[node name="SurfaceAudio" parent="plate_snow/Plane/StaticBody" instance=ExtResource("2")] +surface_audio_type = SubResource("Resource_58enk") [editable path="plate_puddle_s"] [editable path="plate_mud_s"] diff --git a/assets/meshes/ramps/ramp_material.tres b/assets/meshes/ramps/ramp_material.tres index ce46c341..3329e504 100644 --- a/assets/meshes/ramps/ramp_material.tres +++ b/assets/meshes/ramps/ramp_material.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1] +[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture2D" id=1] [resource] albedo_texture = ExtResource( 1 ) diff --git a/assets/meshes/ramps/ramps.glb.import b/assets/meshes/ramps/ramps.glb.import index 89e515cd..a6b55c9c 100644 --- a/assets/meshes/ramps/ramps.glb.import +++ b/assets/meshes/ramps/ramps.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn" +uid="uid://dircx2nhwvxbw" +path="res://.godot/imported/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn" [deps] source_file="res://assets/meshes/ramps/ramps.glb" -dest_files=[ "res://.import/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn" ] +dest_files=["res://.godot/imported/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/ramps/ramps.tscn b/assets/meshes/ramps/ramps.tscn index 68289c45..fb9ae7ee 100644 --- a/assets/meshes/ramps/ramps.tscn +++ b/assets/meshes/ramps/ramps.tscn @@ -1,89 +1,107 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=16 format=3 uid="uid://bdc23valbh8gf"] -[ext_resource path="res://assets/meshes/ramps/ramp_material.tres" type="Material" id=1] +[ext_resource type="Material" path="res://assets/meshes/ramps/ramp_material.tres" id="1_cws0o"] -[sub_resource type="ConvexPolygonShape" id=13] -points = PoolVector3Array( 1, 0, 4.73205, -1, 0, 4.73205, 1, 0, -4.73205, 1, 1, 0.999586, -1, 1, 0.999586, -1, 0, -4.73205, 1, 1, -1.00051, -1, 1, -1.00051 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_wwvny"] +points = PackedVector3Array(1, 0, 4.73205, -1, 0, 4.73205, 1, 0, -4.73205, 1, 1, 0.999586, -1, 1, 0.999586, -1, 0, -4.73205, 1, 1, -1.00051, -1, 1, -1.00051) -[sub_resource type="ConvexPolygonShape" id=14] -points = PoolVector3Array( 2, 0, 2.73205, 1, 0, 2.73205, 2, 0, -2.73205, 2, 1, 0.999648, 1, 1, 0.999648, 1, 0, -2.73205, 2, 1, -1.00018, 1, 1, -1.00018 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_khir2"] +points = PackedVector3Array(2, 0, 2.73205, 1, 0, 2.73205, 2, 0, -2.73205, 2, 1, 0.999648, 1, 1, 0.999648, 1, 0, -2.73205, 2, 1, -1.00018, 1, 1, -1.00018) -[sub_resource type="ConvexPolygonShape" id=15] -points = PoolVector3Array( 3, 0, 2, 2, 0, 2, 3, 0, -2, 3, 1, 1, 2, 1, 1, 2, 0, -2, 3, 1, -1, 2, 1, -1 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_4av0f"] +points = PackedVector3Array(3, 0, 2, 2, 0, 2, 3, 0, -2, 3, 1, 1, 2, 1, 1, 2, 0, -2, 3, 1, -1, 2, 1, -1) -[sub_resource type="ConvexPolygonShape" id=16] -points = PoolVector3Array( 4, 0, 1.57704, 3, 0, 1.57704, 4, 0, -1.57735, 4, 1, 0.999894, 3, 1, 0.999894, 3, 0, -1.57735, 4, 1, -1.0002, 3, 1, -1.0002 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_6x42p"] +points = PackedVector3Array(4, 0, 1.57704, 3, 0, 1.57704, 4, 0, -1.57735, 4, 1, 0.999894, 3, 1, 0.999894, 3, 0, -1.57735, 4, 1, -1.0002, 3, 1, -1.0002) -[sub_resource type="ConvexPolygonShape" id=17] -points = PoolVector3Array( 5, 0, 1.26795, 4, 0, 1.26795, 5, 0, -1.26795, 5, 1, 0.999864, 4, 1, 0.999864, 4, 0, -1.26795, 5, 1, -1.00011, 4, 1, -1.00011 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_my4gr"] +points = PackedVector3Array(5, 0, 1.26795, 4, 0, 1.26795, 5, 0, -1.26795, 5, 1, 0.999864, 4, 1, 0.999864, 4, 0, -1.26795, 5, 1, -1.00011, 4, 1, -1.00011) -[sub_resource type="ConvexPolygonShape" id=18] -points = PoolVector3Array( 6, 1, 1, 6, 0, 1, 6, 1, -1, 5, 1, 1, 5, 0, 1, 6, 0, -1, 5, 1, -1, 5, 0, -1 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_n618o"] +points = PackedVector3Array(6, 1, 1, 6, 0, 1, 6, 1, -1, 5, 1, 1, 5, 0, 1, 6, 0, -1, 5, 1, -1, 5, 0, -1) -[sub_resource type="ConvexPolygonShape" id=19] -points = PoolVector3Array( -1, 0, 2.73205, -2, 0, 2.73205, -1, 0, -2.73205, -1, 1, 0.999648, -2, 1, 0.999648, -2, 0, -2.73205, -1, 1, -1.00018, -2, 1, -1.00018 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_n6xly"] +points = PackedVector3Array(-1, 0, 2.73205, -2, 0, 2.73205, -1, 0, -2.73205, -1, 1, 0.999648, -2, 1, 0.999648, -2, 0, -2.73205, -1, 1, -1.00018, -2, 1, -1.00018) -[sub_resource type="ConvexPolygonShape" id=20] -points = PoolVector3Array( -2, 0, 2, -3, 0, 2, -2, 0, -2, -2, 1, 1, -3, 1, 1, -3, 0, -2, -2, 1, -1, -3, 1, -1 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_ilcnw"] +points = PackedVector3Array(-2, 0, 2, -3, 0, 2, -2, 0, -2, -2, 1, 1, -3, 1, 1, -3, 0, -2, -2, 1, -1, -3, 1, -1) -[sub_resource type="ConvexPolygonShape" id=21] -points = PoolVector3Array( -3, 0, 1.57704, -4, 0, 1.57704, -3, 0, -1.57735, -3, 1, 0.999894, -4, 1, 0.999894, -4, 0, -1.57735, -3, 1, -1.0002, -4, 1, -1.0002 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_lutba"] +points = PackedVector3Array(-3, 0, 1.57704, -4, 0, 1.57704, -3, 0, -1.57735, -3, 1, 0.999894, -4, 1, 0.999894, -4, 0, -1.57735, -3, 1, -1.0002, -4, 1, -1.0002) -[sub_resource type="ConvexPolygonShape" id=22] -points = PoolVector3Array( -4, 0, 1.26795, -5, 0, 1.26795, -4, 0, -1.26795, -4, 1, 0.999864, -5, 1, 0.999864, -5, 0, -1.26795, -4, 1, -1.00011, -5, 1, -1.00011 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_khl2d"] +points = PackedVector3Array(-4, 0, 1.26795, -5, 0, 1.26795, -4, 0, -1.26795, -4, 1, 0.999864, -5, 1, 0.999864, -5, 0, -1.26795, -4, 1, -1.00011, -5, 1, -1.00011) -[sub_resource type="ConvexPolygonShape" id=23] -points = PoolVector3Array( -5, 1, 1, -5, 0, 1, -5, 1, -1, -6, 1, 1, -6, 0, 1, -5, 0, -1, -6, 1, -1, -6, 0, -1 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_l6v62"] +points = PackedVector3Array(-5, 1, 1, -5, 0, 1, -5, 1, -1, -6, 1, 1, -6, 0, 1, -5, 0, -1, -6, 1, -1, -6, 0, -1) -[sub_resource type="ArrayMesh" id=12] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ncpkq"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_us6x5"] +_surfaces = [{ +"aabb": AABB(-6, 0, -4.73205, 12, 1, 9.4641), +"format": 4097, +"index_count": 270, +"index_data": PackedByteArray(45, 0, 44, 0, 43, 0, 45, 0, 46, 0, 44, 0, 10, 0, 7, 0, 11, 0, 10, 0, 6, 0, 7, 0, 7, 0, 6, 0, 17, 0, 17, 0, 22, 0, 7, 0, 17, 0, 14, 0, 22, 0, 22, 0, 14, 0, 21, 0, 21, 0, 29, 0, 22, 0, 21, 0, 19, 0, 29, 0, 29, 0, 19, 0, 28, 0, 28, 0, 25, 0, 29, 0, 28, 0, 24, 0, 25, 0, 34, 0, 25, 0, 24, 0, 34, 0, 40, 0, 25, 0, 34, 0, 32, 0, 40, 0, 39, 0, 40, 0, 32, 0, 40, 0, 36, 0, 37, 0, 40, 0, 39, 0, 36, 0, 3, 0, 37, 0, 36, 0, 3, 0, 66, 0, 37, 0, 3, 0, 0, 0, 66, 0, 65, 0, 66, 0, 0, 0, 66, 0, 62, 0, 63, 0, 66, 0, 65, 0, 62, 0, 63, 0, 56, 0, 54, 0, 63, 0, 59, 0, 56, 0, 62, 0, 59, 0, 63, 0, 54, 0, 56, 0, 53, 0, 12, 0, 11, 0, 13, 0, 12, 0, 10, 0, 11, 0, 48, 0, 51, 0, 52, 0, 55, 0, 57, 0, 58, 0, 60, 0, 64, 0, 61, 0, 1, 0, 2, 0, 67, 0, 4, 0, 38, 0, 5, 0, 41, 0, 33, 0, 42, 0, 26, 0, 27, 0, 35, 0, 30, 0, 20, 0, 31, 0, 15, 0, 16, 0, 23, 0, 8, 0, 9, 0, 18, 0, 8, 0, 13, 0, 9, 0, 8, 0, 12, 0, 13, 0, 16, 0, 18, 0, 9, 0, 16, 0, 15, 0, 18, 0, 23, 0, 31, 0, 20, 0, 23, 0, 16, 0, 31, 0, 26, 0, 31, 0, 27, 0, 26, 0, 30, 0, 31, 0, 35, 0, 42, 0, 33, 0, 35, 0, 27, 0, 42, 0, 41, 0, 5, 0, 38, 0, 41, 0, 42, 0, 5, 0, 1, 0, 5, 0, 2, 0, 1, 0, 4, 0, 5, 0, 61, 0, 67, 0, 2, 0, 61, 0, 64, 0, 67, 0, 57, 0, 61, 0, 58, 0, 57, 0, 60, 0, 61, 0, 51, 0, 58, 0, 52, 0, 51, 0, 55, 0, 58, 0, 48, 0, 46, 0, 45, 0, 48, 0, 52, 0, 46, 0, 9, 0, 31, 0, 16, 0, 27, 0, 5, 0, 42, 0, 13, 0, 31, 0, 9, 0, 27, 0, 2, 0, 5, 0, 11, 0, 31, 0, 13, 0, 27, 0, 61, 0, 2, 0, 11, 0, 27, 0, 31, 0, 29, 0, 7, 0, 22, 0, 7, 0, 27, 0, 11, 0, 61, 0, 52, 0, 58, 0, 7, 0, 61, 0, 27, 0, 40, 0, 29, 0, 25, 0, 29, 0, 61, 0, 7, 0, 52, 0, 44, 0, 46, 0, 29, 0, 52, 0, 61, 0, 66, 0, 40, 0, 37, 0, 40, 0, 52, 0, 29, 0, 52, 0, 50, 0, 44, 0, 54, 0, 66, 0, 63, 0, 52, 0, 54, 0, 50, 0, 66, 0, 52, 0, 40, 0, 52, 0, 66, 0, 54, 0, 53, 0, 50, 0, 54, 0, 53, 0, 49, 0, 50, 0, 43, 0, 50, 0, 47, 0, 43, 0, 44, 0, 50, 0, 49, 0, 47, 0, 50, 0), +"primitive": 3, +"vertex_count": 68, +"vertex_data": PackedByteArray(0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_gxstm"] resource_name = "ramps_Cube017" -surfaces/0 = { -"aabb": AABB( -6, 0, -4.73205, 12, 1, 9.4641 ), -"array_data": PoolByteArray( 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 129, 0, 0, 63, 118, 63, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 193, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 129, 0, 0, 63, 237, 186, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 80, 1, 255, 63, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 255, 193, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 129, 0, 0, 63, 118, 63, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 126, 255, 187, 255, 192, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 129, 0, 0, 63, 237, 186, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 80, 1, 255, 63, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 26, 127, 100, 1, 0, 60, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 255, 192, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 126, 255, 183, 255, 55, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 230, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 255, 61, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 126, 0, 184, 255, 59, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 56, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 126, 0, 0, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 255, 61, 0, 60, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 0, 126, 127, 255, 59, 0, 56, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 126, 127, 255, 59, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 127, 36, 184, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 127, 0, 127, 127, 73, 176, 0, 56, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 127, 0, 127, 127, 137, 60, 0, 56, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 230, 126, 36, 184, 255, 55, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 127, 0, 127, 127, 73, 176, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 127, 0, 127, 127, 137, 60, 0, 56, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 126, 158, 184, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 127, 0, 127, 127, 158, 180, 0, 56, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 127, 0, 127, 127, 39, 61, 0, 56, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 127, 158, 184, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 127, 0, 127, 127, 158, 180, 0, 56, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 230, 126, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 127, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 127, 0, 127, 127, 39, 61, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 63, 127, 168, 185, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 127, 0, 127, 127, 255, 183, 0, 56, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 127, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 127, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 63, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 127, 127, 255, 61, 0, 56, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 63, 127, 168, 185, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 127, 0, 127, 127, 255, 183, 0, 56, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 127, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 126, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 127, 127, 255, 61, 0, 56, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 126, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 127, 0, 127, 127, 237, 186, 0, 56, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 176, 1, 0, 64, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 127, 0, 127, 127, 118, 63, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 127, 0, 127, 127, 237, 186, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 176, 1, 255, 63, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 127, 0, 127, 127, 118, 63, 0, 56, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 129, 0, 0, 63, 187, 65, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 100, 156, 126, 186, 191, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 126, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 100, 156, 126, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 129, 0, 0, 63, 118, 191, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 26, 127, 100, 1, 221, 65, 255, 192, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 0, 100, 156, 126, 186, 191, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 127, 0, 127, 127, 118, 191, 0, 56, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 127, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 100, 156, 126, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 26, 127, 100, 1, 221, 65, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 127, 0, 127, 127, 187, 65, 0, 56, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 26, 127, 100, 1, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 255, 55, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 127, 255, 183, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 0, 60, 0, 0, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 127, 0, 0, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 196, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 255, 55, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 0, 62, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 255, 196, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 127, 255, 183, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 0, 62, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 129, 0, 0, 63, 137, 60, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 127, 36, 184, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 127, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 26, 126, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 129, 0, 0, 63, 73, 176, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 127, 196, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 129, 0, 0, 63, 137, 60, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 126, 36, 184, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 26, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 129, 0, 0, 63, 73, 176, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 129, 0, 0, 63, 39, 61, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 126, 158, 184, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 129, 0, 0, 63, 158, 180, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 255, 195, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 129, 0, 0, 63, 39, 61, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 127, 158, 184, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 129, 0, 0, 63, 158, 180, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 46, 1, 79, 62, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 126, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 129, 0, 0, 63, 255, 61, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 193, 126, 168, 185, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 126, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 127, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 129, 0, 0, 63, 255, 183, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 63, 1, 212, 62, 255, 194, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 129, 0, 0, 63, 255, 61, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 193, 126, 168, 185, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 193, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 129, 0, 0, 63, 255, 183, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 193 ), -"array_index_data": PoolByteArray( 119, 0, 116, 0, 114, 0, 119, 0, 121, 0, 116, 0, 28, 0, 18, 0, 30, 0, 28, 0, 16, 0, 18, 0, 21, 0, 17, 0, 47, 0, 46, 0, 56, 0, 19, 0, 46, 0, 38, 0, 56, 0, 59, 0, 39, 0, 55, 0, 54, 0, 76, 0, 57, 0, 54, 0, 50, 0, 76, 0, 79, 0, 51, 0, 75, 0, 74, 0, 64, 0, 77, 0, 74, 0, 62, 0, 64, 0, 91, 0, 67, 0, 63, 0, 90, 0, 104, 0, 65, 0, 90, 0, 86, 0, 104, 0, 103, 0, 107, 0, 87, 0, 105, 0, 95, 0, 98, 0, 105, 0, 102, 0, 95, 0, 8, 0, 96, 0, 94, 0, 9, 0, 176, 0, 97, 0, 9, 0, 1, 0, 176, 0, 172, 0, 174, 0, 0, 0, 175, 0, 165, 0, 168, 0, 175, 0, 173, 0, 165, 0, 167, 0, 149, 0, 144, 0, 167, 0, 157, 0, 149, 0, 164, 0, 156, 0, 166, 0, 142, 0, 148, 0, 140, 0, 34, 0, 32, 0, 37, 0, 34, 0, 29, 0, 32, 0, 126, 0, 134, 0, 136, 0, 146, 0, 150, 0, 152, 0, 158, 0, 170, 0, 160, 0, 2, 0, 4, 0, 178, 0, 10, 0, 100, 0, 12, 0, 109, 0, 89, 0, 113, 0, 69, 0, 73, 0, 93, 0, 81, 0, 53, 0, 85, 0, 41, 0, 45, 0, 61, 0, 23, 0, 27, 0, 49, 0, 22, 0, 35, 0, 24, 0, 22, 0, 33, 0, 35, 0, 42, 0, 48, 0, 25, 0, 42, 0, 40, 0, 48, 0, 60, 0, 82, 0, 52, 0, 60, 0, 43, 0, 82, 0, 68, 0, 83, 0, 70, 0, 68, 0, 80, 0, 83, 0, 92, 0, 110, 0, 88, 0, 92, 0, 71, 0, 110, 0, 108, 0, 14, 0, 101, 0, 108, 0, 111, 0, 14, 0, 3, 0, 13, 0, 6, 0, 3, 0, 11, 0, 13, 0, 162, 0, 179, 0, 5, 0, 162, 0, 171, 0, 179, 0, 151, 0, 161, 0, 154, 0, 151, 0, 159, 0, 161, 0, 135, 0, 153, 0, 138, 0, 135, 0, 147, 0, 153, 0, 127, 0, 122, 0, 120, 0, 127, 0, 137, 0, 122, 0, 26, 0, 84, 0, 44, 0, 72, 0, 15, 0, 112, 0, 36, 0, 84, 0, 26, 0, 72, 0, 7, 0, 15, 0, 31, 0, 84, 0, 36, 0, 72, 0, 163, 0, 7, 0, 31, 0, 72, 0, 84, 0, 78, 0, 20, 0, 58, 0, 20, 0, 72, 0, 31, 0, 163, 0, 139, 0, 155, 0, 20, 0, 163, 0, 72, 0, 106, 0, 78, 0, 66, 0, 78, 0, 163, 0, 20, 0, 139, 0, 118, 0, 123, 0, 78, 0, 139, 0, 163, 0, 177, 0, 106, 0, 99, 0, 106, 0, 139, 0, 78, 0, 139, 0, 133, 0, 118, 0, 145, 0, 177, 0, 169, 0, 139, 0, 145, 0, 133, 0, 177, 0, 139, 0, 106, 0, 139, 0, 177, 0, 145, 0, 141, 0, 132, 0, 143, 0, 141, 0, 129, 0, 132, 0, 115, 0, 131, 0, 125, 0, 115, 0, 117, 0, 131, 0, 128, 0, 124, 0, 130, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-6, 0, -4.73205, 12, 1, 9.4641), +"attribute_data": PackedByteArray(190, 217, 238, 63, 208, 255, 255, 62, 242, 255, 127, 191, 253, 255, 63, 192, 183, 179, 93, 191, 208, 255, 255, 62, 255, 255, 255, 63, 252, 255, 63, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 63, 192, 5, 0, 128, 63, 254, 255, 63, 192, 5, 0, 128, 63, 254, 255, 63, 192, 190, 217, 238, 63, 208, 255, 255, 62, 240, 255, 127, 191, 252, 255, 31, 192, 183, 179, 93, 191, 208, 255, 255, 62, 254, 255, 255, 63, 254, 255, 31, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 253, 255, 31, 192, 5, 0, 128, 63, 253, 255, 31, 192, 5, 0, 128, 63, 253, 255, 31, 192, 255, 255, 255, 190, 254, 255, 255, 62, 0, 0, 165, 52, 3, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 51, 255, 255, 191, 63, 2, 0, 0, 63, 204, 255, 127, 63, 3, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 204, 255, 127, 63, 0, 0, 128, 51, 0, 0, 0, 191, 255, 255, 127, 63, 0, 0, 165, 52, 3, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 40, 51, 0, 0, 0, 0, 255, 255, 191, 63, 0, 0, 128, 63, 204, 255, 127, 63, 3, 0, 0, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 204, 255, 127, 63, 0, 0, 128, 51, 236, 131, 4, 191, 0, 0, 128, 51, 139, 48, 9, 190, 3, 0, 0, 63, 248, 65, 194, 63, 0, 0, 192, 52, 1, 38, 145, 63, 3, 0, 0, 63, 1, 0, 128, 63, 0, 0, 64, 52, 1, 0, 128, 63, 0, 0, 64, 52, 1, 0, 128, 63, 0, 0, 64, 52, 205, 255, 127, 63, 0, 0, 128, 51, 237, 131, 4, 191, 252, 255, 255, 62, 139, 48, 9, 190, 3, 0, 0, 63, 248, 65, 194, 63, 4, 0, 0, 63, 1, 38, 145, 63, 3, 0, 0, 63, 51, 205, 19, 191, 248, 255, 255, 190, 14, 205, 147, 190, 3, 0, 0, 63, 157, 230, 201, 63, 236, 255, 255, 190, 47, 243, 164, 63, 3, 0, 0, 63, 52, 205, 19, 191, 0, 0, 128, 51, 14, 205, 147, 190, 3, 0, 0, 63, 252, 255, 15, 52, 0, 0, 128, 51, 252, 255, 15, 52, 0, 0, 128, 51, 252, 255, 15, 52, 0, 0, 128, 51, 0, 0, 165, 52, 0, 0, 128, 51, 157, 230, 201, 63, 0, 0, 224, 52, 47, 243, 164, 63, 3, 0, 0, 63, 234, 4, 53, 191, 250, 255, 127, 191, 204, 255, 255, 190, 3, 0, 0, 63, 249, 255, 183, 52, 250, 255, 127, 191, 249, 255, 183, 52, 250, 255, 127, 191, 249, 255, 183, 52, 250, 255, 127, 191, 0, 0, 165, 52, 0, 0, 128, 51, 123, 130, 218, 63, 244, 255, 127, 191, 218, 255, 191, 63, 3, 0, 0, 63, 3, 0, 128, 63, 252, 255, 127, 191, 3, 0, 128, 63, 252, 255, 127, 191, 3, 0, 128, 63, 252, 255, 127, 191, 204, 255, 127, 63, 0, 0, 128, 51, 235, 4, 53, 191, 248, 255, 255, 190, 204, 255, 255, 190, 3, 0, 0, 63, 247, 255, 127, 52, 252, 255, 255, 190, 247, 255, 127, 52, 252, 255, 255, 190, 247, 255, 127, 52, 252, 255, 255, 190, 0, 0, 165, 52, 0, 0, 128, 51, 121, 130, 218, 63, 240, 255, 255, 190, 218, 255, 191, 63, 3, 0, 0, 63, 2, 0, 128, 63, 244, 255, 255, 190, 2, 0, 128, 63, 244, 255, 255, 190, 2, 0, 128, 63, 244, 255, 255, 190, 204, 255, 127, 63, 0, 0, 128, 51, 244, 255, 127, 191, 252, 255, 191, 191, 160, 179, 93, 191, 3, 0, 0, 63, 1, 0, 0, 64, 248, 255, 191, 191, 188, 217, 238, 63, 3, 0, 0, 63, 243, 255, 127, 191, 248, 255, 127, 191, 160, 179, 93, 191, 3, 0, 0, 63, 255, 255, 255, 63, 236, 255, 127, 191, 188, 217, 238, 63, 3, 0, 0, 63, 214, 108, 55, 64, 208, 255, 255, 62, 224, 70, 247, 191, 255, 255, 31, 192, 208, 255, 127, 63, 0, 0, 192, 180, 249, 255, 19, 53, 254, 255, 31, 192, 249, 255, 19, 53, 254, 255, 31, 192, 249, 255, 19, 53, 254, 255, 31, 192, 196, 217, 238, 191, 208, 255, 255, 62, 118, 163, 59, 64, 253, 255, 31, 192, 225, 70, 247, 191, 254, 255, 191, 191, 187, 217, 238, 191, 3, 0, 0, 63, 246, 255, 239, 52, 252, 255, 191, 191, 246, 255, 239, 52, 252, 255, 191, 191, 246, 255, 239, 52, 252, 255, 191, 191, 0, 0, 165, 52, 0, 0, 128, 51, 118, 163, 59, 64, 250, 255, 191, 191, 209, 108, 55, 64, 3, 0, 0, 63, 4, 0, 128, 63, 250, 255, 191, 191, 4, 0, 128, 63, 250, 255, 191, 191, 4, 0, 128, 63, 250, 255, 191, 191, 204, 255, 127, 63, 0, 0, 128, 51, 208, 255, 127, 63, 208, 255, 255, 62, 231, 255, 255, 190, 254, 255, 159, 192, 0, 0, 128, 63, 0, 0, 192, 180, 241, 255, 39, 53, 254, 255, 159, 192, 241, 255, 39, 53, 254, 255, 159, 192, 0, 128, 255, 180, 208, 255, 255, 62, 7, 0, 192, 63, 254, 255, 159, 192, 0, 0, 0, 0, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 159, 192, 5, 0, 128, 63, 254, 255, 159, 192, 208, 255, 127, 63, 208, 255, 255, 62, 232, 255, 255, 190, 254, 255, 143, 192, 0, 128, 255, 180, 208, 255, 255, 62, 6, 0, 192, 63, 254, 255, 143, 192, 253, 37, 145, 63, 208, 255, 255, 62, 230, 131, 4, 191, 254, 255, 143, 192, 208, 255, 127, 63, 0, 0, 192, 180, 243, 255, 31, 53, 254, 255, 143, 192, 243, 255, 31, 53, 254, 255, 143, 192, 243, 255, 31, 53, 254, 255, 143, 192, 214, 48, 9, 190, 208, 255, 255, 62, 253, 65, 194, 63, 254, 255, 143, 192, 0, 128, 255, 180, 0, 0, 0, 0, 5, 0, 128, 63, 255, 255, 143, 192, 5, 0, 128, 63, 255, 255, 143, 192, 5, 0, 128, 63, 255, 255, 143, 192, 253, 37, 145, 63, 208, 255, 255, 62, 230, 131, 4, 191, 252, 255, 127, 192, 208, 255, 127, 63, 0, 0, 192, 180, 244, 255, 31, 53, 254, 255, 127, 192, 244, 255, 31, 53, 254, 255, 127, 192, 244, 255, 31, 53, 254, 255, 127, 192, 214, 48, 9, 190, 208, 255, 255, 62, 253, 65, 194, 63, 252, 255, 127, 192, 47, 243, 164, 63, 208, 255, 255, 62, 42, 205, 19, 191, 252, 255, 127, 192, 53, 205, 147, 190, 208, 255, 255, 62, 161, 230, 201, 63, 252, 255, 127, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 127, 192, 5, 0, 128, 63, 254, 255, 127, 192, 5, 0, 128, 63, 254, 255, 127, 192, 47, 243, 164, 63, 208, 255, 255, 62, 41, 205, 19, 191, 254, 255, 95, 192, 53, 205, 147, 190, 208, 255, 255, 62, 161, 230, 201, 63, 252, 255, 95, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 252, 255, 95, 192, 5, 0, 128, 63, 252, 255, 95, 192, 5, 0, 128, 63, 252, 255, 95, 192, 221, 255, 191, 63, 208, 255, 255, 62, 227, 4, 53, 191, 254, 255, 95, 192, 208, 255, 127, 63, 0, 0, 192, 180, 247, 255, 27, 53, 254, 255, 95, 192, 247, 255, 27, 53, 254, 255, 95, 192, 247, 255, 27, 53, 254, 255, 95, 192, 231, 255, 255, 190, 208, 255, 255, 62, 123, 130, 218, 63, 252, 255, 95, 192, 221, 255, 191, 63, 208, 255, 255, 62, 227, 4, 53, 191, 254, 255, 63, 192, 208, 255, 127, 63, 0, 0, 192, 180, 248, 255, 23, 53, 253, 255, 63, 192, 248, 255, 23, 53, 253, 255, 63, 192, 248, 255, 23, 53, 253, 255, 63, 192, 231, 255, 255, 190, 208, 255, 255, 62, 122, 130, 218, 63, 253, 255, 63, 192), +"format": 4119, "index_count": 270, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 180 -} +"index_data": PackedByteArray(119, 0, 116, 0, 114, 0, 119, 0, 121, 0, 116, 0, 28, 0, 18, 0, 30, 0, 28, 0, 16, 0, 18, 0, 21, 0, 17, 0, 47, 0, 46, 0, 56, 0, 19, 0, 46, 0, 38, 0, 56, 0, 59, 0, 39, 0, 55, 0, 54, 0, 76, 0, 57, 0, 54, 0, 50, 0, 76, 0, 79, 0, 51, 0, 75, 0, 74, 0, 64, 0, 77, 0, 74, 0, 62, 0, 64, 0, 91, 0, 67, 0, 63, 0, 90, 0, 104, 0, 65, 0, 90, 0, 86, 0, 104, 0, 103, 0, 107, 0, 87, 0, 105, 0, 95, 0, 98, 0, 105, 0, 102, 0, 95, 0, 8, 0, 96, 0, 94, 0, 9, 0, 176, 0, 97, 0, 9, 0, 1, 0, 176, 0, 172, 0, 174, 0, 0, 0, 175, 0, 165, 0, 168, 0, 175, 0, 173, 0, 165, 0, 167, 0, 149, 0, 144, 0, 167, 0, 157, 0, 149, 0, 164, 0, 156, 0, 166, 0, 142, 0, 148, 0, 140, 0, 34, 0, 32, 0, 37, 0, 34, 0, 29, 0, 32, 0, 126, 0, 134, 0, 136, 0, 146, 0, 150, 0, 152, 0, 158, 0, 170, 0, 160, 0, 2, 0, 4, 0, 178, 0, 10, 0, 100, 0, 12, 0, 109, 0, 89, 0, 113, 0, 69, 0, 73, 0, 93, 0, 81, 0, 53, 0, 85, 0, 41, 0, 45, 0, 61, 0, 23, 0, 27, 0, 49, 0, 22, 0, 35, 0, 24, 0, 22, 0, 33, 0, 35, 0, 42, 0, 48, 0, 25, 0, 42, 0, 40, 0, 48, 0, 60, 0, 82, 0, 52, 0, 60, 0, 43, 0, 82, 0, 68, 0, 83, 0, 70, 0, 68, 0, 80, 0, 83, 0, 92, 0, 110, 0, 88, 0, 92, 0, 71, 0, 110, 0, 108, 0, 14, 0, 101, 0, 108, 0, 111, 0, 14, 0, 3, 0, 13, 0, 6, 0, 3, 0, 11, 0, 13, 0, 162, 0, 179, 0, 5, 0, 162, 0, 171, 0, 179, 0, 151, 0, 161, 0, 154, 0, 151, 0, 159, 0, 161, 0, 135, 0, 153, 0, 138, 0, 135, 0, 147, 0, 153, 0, 127, 0, 122, 0, 120, 0, 127, 0, 137, 0, 122, 0, 26, 0, 84, 0, 44, 0, 72, 0, 15, 0, 112, 0, 36, 0, 84, 0, 26, 0, 72, 0, 7, 0, 15, 0, 31, 0, 84, 0, 36, 0, 72, 0, 163, 0, 7, 0, 31, 0, 72, 0, 84, 0, 78, 0, 20, 0, 58, 0, 20, 0, 72, 0, 31, 0, 163, 0, 139, 0, 155, 0, 20, 0, 163, 0, 72, 0, 106, 0, 78, 0, 66, 0, 78, 0, 163, 0, 20, 0, 139, 0, 118, 0, 123, 0, 78, 0, 139, 0, 163, 0, 177, 0, 106, 0, 99, 0, 106, 0, 139, 0, 78, 0, 139, 0, 133, 0, 118, 0, 145, 0, 177, 0, 169, 0, 139, 0, 145, 0, 133, 0, 177, 0, 139, 0, 106, 0, 139, 0, 177, 0, 145, 0, 141, 0, 132, 0, 143, 0, 141, 0, 129, 0, 132, 0, 115, 0, 131, 0, 125, 0, 115, 0, 117, 0, 131, 0, 128, 0, 124, 0, 130, 0), +"material": SubResource("StandardMaterial3D_ncpkq"), +"primitive": 3, +"vertex_count": 180, +"vertex_data": PackedByteArray(0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 37, 209, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 37, 209, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 242, 100, 254, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 242, 100, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 242, 100, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 254, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 255, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 217, 174, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 63, 255, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 191, 255, 127, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 63, 254, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 63, 255, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 254, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_us6x5") -[node name="Ramps" type="StaticBody"] +[node name="Ramps" type="StaticBody3D"] -[node name="MidRamp15CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 13 ) +[node name="MidRamp15CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_wwvny") -[node name="RightRamp30CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 14 ) +[node name="RightRamp30CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_khir2") -[node name="RightRamp45CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 15 ) +[node name="RightRamp45CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_4av0f") -[node name="RightRamp60CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 16 ) +[node name="RightRamp60CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_6x42p") -[node name="RightRamp75CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 17 ) +[node name="RightRamp75CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_my4gr") -[node name="RightRamp90CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 18 ) +[node name="RightRamp90CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_n618o") -[node name="LeftRamp30CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 19 ) +[node name="LeftRamp30CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_n6xly") -[node name="LeftRamp45CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 20 ) +[node name="LeftRamp45CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_ilcnw") -[node name="LeftRamp60CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 21 ) +[node name="LeftRamp60CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_lutba") -[node name="LeftRamp75CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 22 ) +[node name="LeftRamp75CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_khl2d") -[node name="LeftRamp90CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 23 ) +[node name="LeftRamp90CollisionShape" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_l6v62") -[node name="Mesh" type="MeshInstance" parent="."] -mesh = SubResource( 12 ) -material/0 = ExtResource( 1 ) +[node name="Mesh" type="MeshInstance3D" parent="."] +gi_mode = 0 +mesh = SubResource("ArrayMesh_gxstm") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("1_cws0o") diff --git a/assets/meshes/table/table.tscn b/assets/meshes/table/table.tscn index 3f4a3570..03cba253 100644 --- a/assets/meshes/table/table.tscn +++ b/assets/meshes/table/table.tscn @@ -1,63 +1,63 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=6 format=3 uid="uid://cbcbffvk7xth4"] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=1] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="1"] -[sub_resource type="CubeMesh" id=1] -size = Vector3( 0.05, 0.8, 0.05 ) +[sub_resource type="BoxMesh" id="1"] +size = Vector3(0.05, 0.8, 0.05) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 1.6, 0.05, 0.8 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(1.6, 0.05, 0.8) -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.025, 0.4, 0.025 ) +[sub_resource type="BoxShape3D" id="3"] +size = Vector3(0.05, 0.8, 0.05) -[sub_resource type="BoxShape" id=4] +[sub_resource type="BoxShape3D" id="4"] margin = 0.01 -extents = Vector3( 0.8, 0.025, 0.4 ) - -[node name="Table" type="StaticBody"] - -[node name="LegMesh1" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 1 ) - -[node name="LegMesh2" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 1 ) - -[node name="LegMesh3" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 1 ) - -[node name="LegMesh4" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 1 ) - -[node name="TopMesh" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 1 ) - -[node name="LegShape1" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3 ) -shape = SubResource( 3 ) - -[node name="LegShape2" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3 ) -shape = SubResource( 3 ) - -[node name="LegShape3" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3 ) -shape = SubResource( 3 ) - -[node name="LegShape4" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3 ) -shape = SubResource( 3 ) - -[node name="TopShape" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0 ) -shape = SubResource( 4 ) +size = Vector3(1.6, 0.05, 0.8) + +[node name="Table" type="StaticBody3D"] + +[node name="LegMesh1" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("1") + +[node name="LegMesh2" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("1") + +[node name="LegMesh3" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("1") + +[node name="LegMesh4" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("1") + +[node name="TopMesh" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("1") + +[node name="LegShape1" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3) +shape = SubResource("3") + +[node name="LegShape2" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3) +shape = SubResource("3") + +[node name="LegShape3" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3) +shape = SubResource("3") + +[node name="LegShape4" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3) +shape = SubResource("3") + +[node name="TopShape" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) +shape = SubResource("4") diff --git a/assets/meshes/teacup/saucer.glb.import b/assets/meshes/teacup/saucer.glb.import index 1df1db0c..32d2568e 100644 --- a/assets/meshes/teacup/saucer.glb.import +++ b/assets/meshes/teacup/saucer.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn" +uid="uid://wjmkacwv8f52" +path="res://.godot/imported/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn" [deps] source_file="res://assets/meshes/teacup/saucer.glb" -dest_files=[ "res://.import/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn" ] +dest_files=["res://.godot/imported/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/teacup/stand.glb.import b/assets/meshes/teacup/stand.glb.import index 00712a93..93cbccd2 100644 --- a/assets/meshes/teacup/stand.glb.import +++ b/assets/meshes/teacup/stand.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn" +uid="uid://m3qtqvgasyyb" +path="res://.godot/imported/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn" [deps] source_file="res://assets/meshes/teacup/stand.glb" -dest_files=[ "res://.import/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn" ] +dest_files=["res://.godot/imported/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/teacup/teacup.glb.import b/assets/meshes/teacup/teacup.glb.import index d48f4d15..a1455acf 100644 --- a/assets/meshes/teacup/teacup.glb.import +++ b/assets/meshes/teacup/teacup.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn" +uid="uid://btkch3a8qylwm" +path="res://.godot/imported/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn" [deps] source_file="res://assets/meshes/teacup/teacup.glb" -dest_files=[ "res://.import/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn" ] +dest_files=["res://.godot/imported/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/teleport/Body.material b/assets/meshes/teleport/Body.material deleted file mode 100644 index 9385024f1473e18d26adff669727a42ee9757227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 zcmbtV$&TAF3{`h@-}eP5&|859onsFjpgs38b1fh+5*-VbC4*8XNl*RslCq;XNpCek z*nFg(D3YSj&dcFQ-z>^5NWE=IG_a5_MqK~BIsF3vFS5mNNc4>%Na>liQ zE@|tUMpkvvVp%ZasYkQ)K!ZW*I2!l>!49b8Yed=C58(41I8?(Dtd3Z`3#eDl=C<_6 z$Z}An?T*g-c?24Fm4X~uej)bUr{GcD+1VEqSL)?XFX{1p3+(Drilpwcam;GTVClVG znlsl!-DIB*GkEVziFT{#ZIVjoRFoT}tdoroL2X(H0e!hA6qk!O;CN4}CLLA?UNOND zS{Wq!*zqx33>t%UmM!5AeN!RH2f425QcL3z$VA8$eat8Xmtv;aZz_CS;8<0e0Yg={ z8_L8;%Q-i0Bl*ufjH!E)~pqm<1E8v>ILgSVV$=PQMbljX(dv9uD6Xt8M$<}#5) z-Q8e`W)G3+LVd~cKy|W5b+S)&azr&jCR8$wdWvh;@wn0rPpC0qB`4!+o+0pjD28&e zN*dE9nBgMaV6S9&?qvQ@>JrOG7M{FcW;33fnA5Do)MA=t^w>wrvv1LEK6Tq+|Ngox x{P&MQeiA|{ZxLBpI`r~rknrU%BKkWP83#YFwWnKA>d)y1#;&sPb9%;qp}$f{=>7lz diff --git a/assets/meshes/teleport/Title.material b/assets/meshes/teleport/Title.material deleted file mode 100644 index d59867a8a29438621e6830073c9e58f8aaf58f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1676 zcmbtVOOF#V3=WS4@qWJ_2ed~-#U44Z2hLn}IU+@F;^{WgFMr8{FvTSq)IJ*UI!B!h z22}T_x&R#(F9?H0(mlCIE?=tKY!z^wbq^`2$1F7-7D;D`DlB)GiG^OUyVI z&?RkM)5xkWS}Y4jJoRXn9%xWV9!CWqAlLzwc#SCA`T=~g1&3@{g4F?wcLDXv+1!>I z8CmwSwAs;lKaW7;u9A=g%`e2B>l8eyyIcK&;!3^R$|XF$Z-Gr+N|Dq(R*q3E5iGU0 z4Rhvvs9S8)VFvG=Dc)`by$MpOoQiURly$Q4KB!F#A)qh!gyM411|086m88N7!D}Ws zKr4epA3HvVi$P8T9@gUb#S#oJS0+|T8qE8rw;8M&K`^yU75ja*+dccs? z&4$u3(sIs)+erK~H=}ATSFqgseJ^D*!iK=)edjF)+WAT$?PPiJc}%T%BT{Udgt>Gi z5w|y3yxBpdyHHlxII&_V}sWbo&oC zWaYnK0(m8bQ)V$MOG}Mj9W`rN diff --git a/assets/meshes/teleport/teleport.gd b/assets/meshes/teleport/teleport.gd index b17b7227..4db63206 100644 --- a/assets/meshes/teleport/teleport.gd +++ b/assets/meshes/teleport/teleport.gd @@ -1,23 +1,23 @@ -tool +@tool class_name Teleport -extends Spatial +extends Node3D ## Scene base for the current scene -export var scene_base: NodePath +@export var scene_base: NodePath ## Scene to teleport to, or none for main menu -export var scene: PackedScene +@export var scene: PackedScene ## Title texture -export var title: Texture setget _set_title +@export var title: Texture2D: set = _set_title ## Can Teleporter be used -export var active := true +@export var active := true # Scene base to trigger loading -onready var _scene_base: XRToolsSceneBase = get_node(scene_base) +@onready var _scene_base: XRToolsSceneBase = get_node(scene_base) func _ready(): @@ -25,7 +25,7 @@ func _ready(): # Called when the player enters the teleport area -func _on_TeleportArea_body_entered(body: Spatial): +func _on_TeleportArea_body_entered(body: Node3D): # Skip if scene base is not known if not _scene_base: return @@ -47,7 +47,7 @@ func _on_TeleportArea_body_entered(body: Spatial): func set_collision_disabled(value): if !Engine.is_editor_hint(): for child in get_node("TeleportBody").get_children(): - if child is CollisionShape: + if child is CollisionShape3D: child.disabled = value func _set_title(value): @@ -58,4 +58,4 @@ func _set_title(value): func _update_title(): if title: var material: ShaderMaterial = $TeleportBody/Top.get_active_material(1) - material.set_shader_param("Title", title) + material.set_shader_parameter("Title", title) diff --git a/assets/meshes/teleport/teleport.glb.import b/assets/meshes/teleport/teleport.glb.import index 5591d6a3..3c39aa52 100644 --- a/assets/meshes/teleport/teleport.glb.import +++ b/assets/meshes/teleport/teleport.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn" +uid="uid://vhtqagtfb4m4" +path="res://.godot/imported/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn" [deps] source_file="res://assets/meshes/teleport/teleport.glb" -dest_files=[ "res://.import/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn" ] +dest_files=["res://.godot/imported/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/teleport/teleport.tscn b/assets/meshes/teleport/teleport.tscn index cafc9a93..4616c561 100644 --- a/assets/meshes/teleport/teleport.tscn +++ b/assets/meshes/teleport/teleport.tscn @@ -1,107 +1,175 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=18 format=3 uid="uid://3a6wjr3a13vd"] -[ext_resource path="res://assets/meshes/teleport/teleport.gd" type="Script" id=1] -[ext_resource path="res://assets/meshes/teleport/teleport_area_shader.tres" type="Material" id=2] -[ext_resource path="res://assets/meshes/teleport/teleport_body_material.tres" type="Material" id=3] -[ext_resource path="res://assets/meshes/teleport/teleport_title_material.tres" type="Material" id=4] +[ext_resource type="Script" path="res://assets/meshes/teleport/teleport.gd" id="1_mkuv0"] +[ext_resource type="Material" path="res://assets/meshes/teleport/teleport_body_material.tres" id="2_0kehv"] +[ext_resource type="Material" uid="uid://c26e12f2whdrj" path="res://assets/meshes/teleport/teleport_title_material.tres" id="3_sl3q4"] +[ext_resource type="Material" uid="uid://d4nr1joloeff8" path="res://assets/meshes/teleport/teleport_area_shader.tres" id="4_2bbe5"] -[sub_resource type="ArrayMesh" id=1] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xbwut"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_wuhjn"] +_surfaces = [{ +"aabb": AABB(-1.05, 0, -1.05, 2.1, 0.1, 2.1), +"format": 4097, +"index_count": 282, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0), +"lods": [0.612783, PackedByteArray(0, 0, 2, 0, 23, 0, 2, 0, 4, 0, 23, 0, 62, 0, 0, 0, 23, 0, 4, 0, 6, 0, 23, 0, 60, 0, 62, 0, 23, 0, 6, 0, 8, 0, 23, 0, 58, 0, 60, 0, 23, 0, 8, 0, 10, 0, 23, 0, 10, 0, 12, 0, 23, 0, 12, 0, 14, 0, 23, 0, 14, 0, 16, 0, 23, 0, 16, 0, 18, 0, 23, 0, 18, 0, 20, 0, 23, 0, 20, 0, 22, 0, 23, 0, 22, 0, 24, 0, 23, 0, 24, 0, 26, 0, 23, 0, 26, 0, 28, 0, 23, 0, 28, 0, 30, 0, 23, 0, 30, 0, 33, 0, 23, 0, 30, 0, 32, 0, 33, 0, 56, 0, 58, 0, 23, 0, 56, 0, 23, 0, 47, 0, 54, 0, 56, 0, 47, 0, 52, 0, 54, 0, 47, 0, 50, 0, 52, 0, 47, 0, 48, 0, 50, 0, 47, 0, 46, 0, 48, 0, 47, 0, 44, 0, 46, 0, 47, 0, 42, 0, 44, 0, 47, 0, 40, 0, 42, 0, 47, 0, 38, 0, 40, 0, 47, 0, 36, 0, 38, 0, 47, 0, 34, 0, 36, 0, 47, 0, 32, 0, 34, 0, 47, 0, 32, 0, 47, 0, 33, 0, 47, 0, 23, 0, 33, 0)], +"primitive": 3, +"vertex_count": 64, +"vertex_data": PackedByteArray(240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_6x10k"] resource_name = "teleport_Cone" -surfaces/0 = { -"aabb": AABB( -1.05, 0, -1.05, 2.1, 0.1, 2.1 ), -"array_data": PoolByteArray( 240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 50, 127, 129, 63, 0, 56, 144, 56, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 0, 127, 212, 63, 122, 46, 180, 57, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 50, 127, 129, 63, 0, 56, 222, 54, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 55, 117, 129, 52, 150, 54, 144, 56, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 0, 127, 212, 63, 78, 44, 12, 57, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 55, 117, 129, 52, 150, 54, 222, 54, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 59, 109, 129, 44, 44, 53, 144, 56, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 0, 127, 212, 63, 102, 42, 90, 56, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 59, 109, 129, 44, 44, 53, 222, 54, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 61, 102, 129, 88, 132, 51, 144, 56, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 0, 127, 212, 63, 102, 42, 74, 55, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 61, 102, 129, 88, 132, 51, 222, 54, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 61, 96, 130, 95, 176, 48, 144, 56, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 0, 127, 212, 63, 78, 44, 230, 53, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 61, 96, 129, 95, 176, 48, 222, 54, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 61, 90, 130, 25, 115, 43, 144, 56, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 61, 90, 129, 25, 115, 43, 222, 54, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 0, 127, 212, 63, 122, 46, 150, 52, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 59, 85, 130, 108, 183, 167, 144, 56, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 59, 85, 130, 108, 183, 167, 222, 54, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 0, 127, 212, 63, 208, 48, 210, 50, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 55, 80, 129, 116, 149, 175, 144, 56, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 55, 80, 129, 116, 149, 175, 222, 54, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 0, 127, 212, 63, 210, 50, 208, 48, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 50, 76, 127, 1, 158, 178, 144, 56, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 50, 76, 127, 1, 158, 178, 222, 54, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 0, 127, 212, 63, 150, 52, 122, 46, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 46, 71, 127, 10, 185, 180, 144, 56, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 46, 71, 127, 10, 185, 180, 222, 54, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 0, 127, 212, 63, 230, 53, 78, 44, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 41, 67, 126, 18, 35, 182, 144, 56, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 41, 67, 126, 18, 35, 182, 222, 54, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 0, 127, 212, 63, 74, 55, 102, 42, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 36, 65, 126, 101, 141, 183, 144, 56, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 36, 65, 127, 25, 141, 183, 222, 54, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 0, 127, 212, 63, 90, 56, 102, 42, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 30, 65, 127, 31, 123, 184, 144, 56, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 30, 65, 126, 95, 123, 184, 222, 54, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 0, 127, 212, 63, 12, 57, 78, 44, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 24, 65, 126, 38, 48, 185, 144, 56, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 24, 65, 127, 38, 48, 185, 222, 54, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 0, 127, 212, 63, 180, 57, 122, 46, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 17, 67, 127, 82, 229, 185, 144, 56, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 17, 67, 126, 82, 229, 185, 222, 54, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 0, 127, 212, 63, 75, 58, 208, 48, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 9, 71, 126, 52, 154, 186, 144, 56, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 9, 71, 127, 52, 154, 186, 222, 54, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 0, 127, 212, 63, 203, 58, 210, 50, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 0, 76, 121, 69, 79, 187, 144, 56, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 0, 76, 114, 60, 167, 63, 144, 56, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 76, 121, 69, 79, 187, 222, 54, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 127, 212, 63, 48, 59, 150, 52, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 76, 114, 60, 167, 63, 222, 54, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 247, 71, 105, 63, 77, 63, 144, 56, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 0, 127, 212, 63, 118, 59, 230, 53, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 247, 71, 105, 63, 77, 63, 222, 54, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 239, 67, 89, 63, 242, 62, 144, 56, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 0, 127, 212, 63, 153, 59, 74, 55, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 239, 67, 89, 63, 242, 62, 222, 54, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 232, 65, 76, 63, 152, 62, 144, 56, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 0, 127, 212, 63, 153, 59, 90, 56, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 232, 65, 76, 63, 152, 62, 222, 54, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 226, 65, 63, 63, 61, 62, 144, 56, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 0, 127, 212, 63, 118, 59, 12, 57, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 226, 65, 63, 63, 61, 62, 222, 54, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 220, 65, 50, 63, 227, 61, 144, 56, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 0, 127, 212, 63, 48, 59, 180, 57, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 220, 65, 50, 63, 227, 61, 222, 54, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 215, 67, 37, 63, 136, 61, 144, 56, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 0, 127, 212, 63, 203, 58, 75, 58, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 215, 67, 37, 63, 136, 61, 222, 54, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 210, 71, 21, 63, 46, 61, 144, 56, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 0, 127, 212, 63, 75, 58, 203, 58, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 210, 71, 21, 63, 46, 61, 222, 54, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 206, 76, 0, 63, 211, 60, 144, 56, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 0, 127, 212, 63, 180, 57, 48, 59, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 206, 76, 0, 63, 211, 60, 222, 54, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 201, 80, 235, 63, 121, 60, 144, 56, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 0, 127, 212, 63, 12, 57, 118, 59, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 201, 80, 235, 63, 121, 60, 222, 54, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 197, 85, 219, 63, 30, 60, 144, 56, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 0, 127, 212, 63, 90, 56, 153, 59, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 197, 85, 219, 63, 30, 60, 222, 54, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 195, 90, 206, 63, 136, 59, 144, 56, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 0, 127, 212, 63, 74, 55, 153, 59, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 195, 90, 206, 63, 136, 59, 222, 54, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 195, 96, 193, 63, 211, 58, 144, 56, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 0, 127, 212, 63, 230, 53, 118, 59, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 195, 96, 193, 63, 211, 58, 222, 54, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 195, 102, 180, 63, 30, 58, 144, 56, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 0, 127, 212, 63, 150, 52, 48, 59, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 195, 102, 180, 63, 30, 58, 222, 54, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 197, 109, 167, 63, 105, 57, 144, 56, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 0, 127, 212, 63, 210, 50, 203, 58, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 197, 109, 167, 63, 105, 57, 222, 54, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 201, 117, 151, 63, 180, 56, 144, 56, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 0, 127, 212, 63, 208, 48, 75, 58, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 201, 117, 151, 63, 180, 56, 222, 54 ), -"array_index_data": PoolByteArray( 0, 0, 5, 0, 2, 0, 0, 0, 3, 0, 5, 0, 3, 0, 8, 0, 5, 0, 3, 0, 6, 0, 8, 0, 6, 0, 11, 0, 8, 0, 6, 0, 9, 0, 11, 0, 9, 0, 14, 0, 11, 0, 9, 0, 12, 0, 14, 0, 12, 0, 16, 0, 14, 0, 12, 0, 15, 0, 16, 0, 15, 0, 19, 0, 16, 0, 15, 0, 18, 0, 19, 0, 18, 0, 22, 0, 19, 0, 18, 0, 21, 0, 22, 0, 21, 0, 25, 0, 22, 0, 21, 0, 24, 0, 25, 0, 24, 0, 28, 0, 25, 0, 24, 0, 27, 0, 28, 0, 27, 0, 31, 0, 28, 0, 27, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 33, 0, 34, 0, 33, 0, 37, 0, 34, 0, 33, 0, 36, 0, 37, 0, 36, 0, 40, 0, 37, 0, 36, 0, 39, 0, 40, 0, 39, 0, 43, 0, 40, 0, 39, 0, 42, 0, 43, 0, 42, 0, 46, 0, 43, 0, 42, 0, 45, 0, 46, 0, 45, 0, 50, 0, 46, 0, 45, 0, 48, 0, 50, 0, 49, 0, 55, 0, 52, 0, 49, 0, 53, 0, 55, 0, 53, 0, 58, 0, 55, 0, 53, 0, 56, 0, 58, 0, 56, 0, 61, 0, 58, 0, 56, 0, 59, 0, 61, 0, 59, 0, 64, 0, 61, 0, 59, 0, 62, 0, 64, 0, 62, 0, 67, 0, 64, 0, 62, 0, 65, 0, 67, 0, 65, 0, 70, 0, 67, 0, 65, 0, 68, 0, 70, 0, 68, 0, 73, 0, 70, 0, 68, 0, 71, 0, 73, 0, 71, 0, 76, 0, 73, 0, 71, 0, 74, 0, 76, 0, 74, 0, 79, 0, 76, 0, 74, 0, 77, 0, 79, 0, 77, 0, 82, 0, 79, 0, 77, 0, 80, 0, 82, 0, 80, 0, 85, 0, 82, 0, 80, 0, 83, 0, 85, 0, 83, 0, 88, 0, 85, 0, 83, 0, 86, 0, 88, 0, 86, 0, 91, 0, 88, 0, 86, 0, 89, 0, 91, 0, 89, 0, 94, 0, 91, 0, 89, 0, 92, 0, 94, 0, 7, 0, 1, 0, 4, 0, 1, 0, 93, 0, 96, 0, 93, 0, 87, 0, 90, 0, 87, 0, 81, 0, 84, 0, 81, 0, 75, 0, 78, 0, 75, 0, 69, 0, 72, 0, 69, 0, 63, 0, 66, 0, 63, 0, 57, 0, 60, 0, 57, 0, 51, 0, 54, 0, 51, 0, 44, 0, 47, 0, 44, 0, 38, 0, 41, 0, 38, 0, 32, 0, 35, 0, 32, 0, 26, 0, 29, 0, 26, 0, 20, 0, 23, 0, 20, 0, 13, 0, 17, 0, 13, 0, 7, 0, 10, 0, 7, 0, 93, 0, 1, 0, 93, 0, 81, 0, 87, 0, 81, 0, 69, 0, 75, 0, 69, 0, 57, 0, 63, 0, 57, 0, 44, 0, 51, 0, 44, 0, 32, 0, 38, 0, 32, 0, 20, 0, 26, 0, 20, 0, 7, 0, 13, 0, 7, 0, 81, 0, 93, 0, 81, 0, 57, 0, 69, 0, 57, 0, 32, 0, 44, 0, 32, 0, 7, 0, 20, 0, 7, 0, 57, 0, 81, 0, 57, 0, 7, 0, 32, 0, 92, 0, 97, 0, 94, 0, 92, 0, 95, 0, 97, 0, 95, 0, 2, 0, 97, 0, 95, 0, 0, 0, 2, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-1.05, 0, -1.05, 2.1, 0.1, 2.1), +"attribute_data": PackedByteArray(0, 0, 0, 63, 119, 24, 18, 63, 232, 73, 207, 61, 83, 145, 54, 63, 0, 0, 0, 63, 12, 207, 219, 62, 213, 194, 210, 62, 119, 24, 18, 63, 252, 208, 137, 61, 60, 154, 33, 63, 213, 194, 210, 62, 12, 207, 219, 62, 170, 133, 165, 62, 119, 24, 18, 63, 216, 204, 76, 61, 156, 88, 11, 63, 170, 133, 165, 62, 12, 207, 219, 62, 0, 145, 112, 62, 119, 24, 18, 63, 208, 204, 76, 61, 196, 78, 233, 62, 0, 145, 112, 62, 12, 207, 219, 62, 170, 22, 22, 62, 119, 24, 18, 63, 28, 209, 137, 61, 108, 203, 188, 62, 170, 22, 22, 62, 12, 207, 219, 62, 80, 113, 110, 61, 119, 24, 18, 63, 80, 113, 110, 61, 12, 207, 219, 62, 16, 74, 207, 61, 68, 221, 146, 62, 0, 240, 246, 188, 119, 24, 18, 63, 0, 240, 246, 188, 12, 207, 219, 62, 208, 18, 26, 62, 192, 65, 90, 62, 176, 176, 242, 189, 119, 24, 18, 63, 176, 176, 242, 189, 12, 207, 219, 62, 182, 65, 90, 62, 216, 18, 26, 62, 172, 210, 83, 190, 119, 24, 18, 63, 172, 210, 83, 190, 12, 207, 219, 62, 94, 221, 146, 62, 224, 73, 207, 61, 128, 38, 151, 190, 119, 24, 18, 63, 128, 38, 151, 190, 12, 207, 219, 62, 126, 203, 188, 62, 8, 209, 137, 61, 172, 99, 196, 190, 119, 24, 18, 63, 172, 99, 196, 190, 12, 207, 219, 62, 194, 78, 233, 62, 224, 204, 76, 61, 212, 160, 241, 190, 119, 24, 18, 63, 212, 160, 241, 190, 12, 207, 219, 62, 155, 88, 11, 63, 208, 204, 76, 61, 0, 111, 15, 191, 119, 24, 18, 63, 0, 111, 15, 191, 12, 207, 219, 62, 67, 154, 33, 63, 24, 209, 137, 61, 150, 13, 38, 191, 119, 24, 18, 63, 150, 13, 38, 191, 12, 207, 219, 62, 65, 145, 54, 63, 176, 73, 207, 61, 42, 172, 60, 191, 119, 24, 18, 63, 42, 172, 60, 191, 12, 207, 219, 62, 140, 111, 73, 63, 208, 18, 26, 62, 192, 74, 83, 191, 119, 24, 18, 63, 192, 74, 83, 191, 12, 207, 219, 62, 68, 123, 89, 63, 176, 65, 90, 62, 86, 233, 105, 191, 119, 24, 18, 63, 171, 244, 244, 63, 119, 24, 18, 63, 86, 233, 105, 191, 12, 207, 219, 62, 194, 22, 102, 63, 98, 221, 146, 62, 171, 244, 244, 63, 12, 207, 219, 62, 96, 165, 233, 63, 119, 24, 18, 63, 216, 197, 110, 63, 98, 203, 188, 62, 96, 165, 233, 63, 12, 207, 219, 62, 22, 86, 222, 63, 119, 24, 18, 63, 49, 51, 115, 63, 202, 78, 233, 62, 22, 86, 222, 63, 12, 207, 219, 62, 203, 6, 211, 63, 119, 24, 18, 63, 49, 51, 115, 63, 171, 88, 11, 63, 203, 6, 211, 63, 12, 207, 219, 62, 128, 183, 199, 63, 119, 24, 18, 63, 221, 197, 110, 63, 72, 154, 33, 63, 128, 183, 199, 63, 12, 207, 219, 62, 54, 104, 188, 63, 119, 24, 18, 63, 194, 22, 102, 63, 82, 145, 54, 63, 54, 104, 188, 63, 12, 207, 219, 62, 235, 24, 177, 63, 119, 24, 18, 63, 77, 123, 89, 63, 142, 111, 73, 63, 235, 24, 177, 63, 12, 207, 219, 62, 160, 201, 165, 63, 119, 24, 18, 63, 134, 111, 73, 63, 82, 123, 89, 63, 160, 201, 165, 63, 12, 207, 219, 62, 86, 122, 154, 63, 119, 24, 18, 63, 68, 145, 54, 63, 202, 22, 102, 63, 86, 122, 154, 63, 12, 207, 219, 62, 11, 43, 143, 63, 119, 24, 18, 63, 51, 154, 33, 63, 228, 197, 110, 63, 11, 43, 143, 63, 12, 207, 219, 62, 190, 219, 131, 63, 119, 24, 18, 63, 155, 88, 11, 63, 50, 51, 115, 63, 190, 219, 131, 63, 12, 207, 219, 62, 235, 24, 113, 63, 119, 24, 18, 63, 186, 78, 233, 62, 51, 51, 115, 63, 235, 24, 113, 63, 12, 207, 219, 62, 86, 122, 90, 63, 119, 24, 18, 63, 100, 203, 188, 62, 221, 197, 110, 63, 86, 122, 90, 63, 12, 207, 219, 62, 192, 219, 67, 63, 119, 24, 18, 63, 86, 221, 146, 62, 194, 22, 102, 63, 192, 219, 67, 63, 12, 207, 219, 62, 43, 61, 45, 63, 119, 24, 18, 63, 196, 65, 90, 62, 78, 123, 89, 63, 43, 61, 45, 63, 12, 207, 219, 62, 150, 158, 22, 63, 119, 24, 18, 63, 180, 18, 26, 62, 136, 111, 73, 63, 150, 158, 22, 63, 12, 207, 219, 62, 0, 0, 0, 63, 119, 24, 18, 63, 213, 194, 210, 62, 119, 24, 18, 63, 170, 133, 165, 62, 119, 24, 18, 63, 212, 160, 241, 190, 12, 207, 219, 62, 171, 244, 244, 63, 119, 24, 18, 63, 171, 244, 244, 63, 12, 207, 219, 62, 96, 165, 233, 63, 119, 24, 18, 63, 86, 122, 90, 63, 119, 24, 18, 63, 192, 219, 67, 63, 119, 24, 18, 63, 43, 61, 45, 63, 119, 24, 18, 63, 150, 158, 22, 63, 119, 24, 18, 63), +"format": 4119, "index_count": 282, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 98 -} - -[sub_resource type="ConvexPolygonShape" id=7] -points = PoolVector3Array( 0, 0, -1.05, 0, 0.1, -0.900147, 0.175548, 0.1, -0.88288, 0.204738, 0, -1.02986, -0.204943, 0, -1.02986, -0.175754, 0.1, -0.88288, 0.344313, 0.1, -0.831695, 0.401664, 0, -0.970243, -0.40187, 0, -0.970243, -0.344518, 0.1, -0.831695, 0.499922, 0.1, -0.748444, 0.583174, 0, -0.873218, -0.583379, 0, -0.873218, -0.500127, 0.1, -0.748444, 0.636208, 0.1, -0.636413, 0.742277, 0, -0.742482, -0.742482, 0, -0.742482, -0.636413, 0.1, -0.636413, 0.748238, 0.1, -0.500127, 0.873013, 0, -0.583379, -0.873218, 0, -0.583379, -0.748444, 0.1, -0.500127, 0.83149, 0.1, -0.344518, 0.970037, 0, -0.40187, -0.970243, 0, -0.40187, -0.831695, 0.1, -0.344518, 0.882674, 0.1, -0.175754, 1.02965, 0, -0.204943, -1.02986, 0, -0.204943, -0.88288, 0.1, -0.175754, 0.899941, 0.1, 0, 1.05, 0, 0, -1.05, 0, 0, -0.900147, 0.1, 0, 0.882674, 0.1, 0.175548, 1.02965, 0, 0.204738, -1.02986, 0, 0.204738, -0.88288, 0.1, 0.175548, 0.970037, 0, 0.401664, 0.83149, 0.1, 0.344313, -0.970243, 0, 0.401664, -0.831695, 0.1, 0.344313, 0.873013, 0, 0.583174, 0.748238, 0.1, 0.499922, -0.873218, 0, 0.583174, -0.748444, 0.1, 0.499922, 0.742277, 0, 0.742277, 0.636208, 0.1, 0.636208, -0.742482, 0, 0.742277, -0.636413, 0.1, 0.636208, 0.583174, 0, 0.873013, 0.499922, 0.1, 0.748238, -0.583379, 0, 0.873013, -0.500127, 0.1, 0.748238, 0.344313, 0.1, 0.83149, 0.401664, 0, 0.970037, -0.40187, 0, 0.970037, -0.344518, 0.1, 0.83149, 0.175548, 0.1, 0.882674, 0.204738, 0, 1.02965, -0.204943, 0, 1.02965, -0.175754, 0.1, 0.882674, -0.000205517, 0.1, 0.899941, -0.000205517, 0, 1.05 ) - -[sub_resource type="ArrayMesh" id=2] +"index_data": PackedByteArray(0, 0, 5, 0, 2, 0, 0, 0, 3, 0, 5, 0, 3, 0, 8, 0, 5, 0, 3, 0, 6, 0, 8, 0, 6, 0, 11, 0, 8, 0, 6, 0, 9, 0, 11, 0, 9, 0, 14, 0, 11, 0, 9, 0, 12, 0, 14, 0, 12, 0, 16, 0, 14, 0, 12, 0, 15, 0, 16, 0, 15, 0, 19, 0, 16, 0, 15, 0, 18, 0, 19, 0, 18, 0, 22, 0, 19, 0, 18, 0, 21, 0, 22, 0, 21, 0, 25, 0, 22, 0, 21, 0, 24, 0, 25, 0, 24, 0, 28, 0, 25, 0, 24, 0, 27, 0, 28, 0, 27, 0, 31, 0, 28, 0, 27, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 33, 0, 34, 0, 33, 0, 37, 0, 34, 0, 33, 0, 36, 0, 37, 0, 36, 0, 40, 0, 37, 0, 36, 0, 39, 0, 40, 0, 39, 0, 43, 0, 40, 0, 39, 0, 42, 0, 43, 0, 42, 0, 46, 0, 43, 0, 42, 0, 45, 0, 46, 0, 45, 0, 50, 0, 46, 0, 45, 0, 48, 0, 50, 0, 49, 0, 55, 0, 52, 0, 49, 0, 53, 0, 55, 0, 53, 0, 58, 0, 55, 0, 53, 0, 56, 0, 58, 0, 56, 0, 61, 0, 58, 0, 56, 0, 59, 0, 61, 0, 59, 0, 64, 0, 61, 0, 59, 0, 62, 0, 64, 0, 62, 0, 67, 0, 64, 0, 62, 0, 65, 0, 67, 0, 65, 0, 70, 0, 67, 0, 65, 0, 68, 0, 70, 0, 68, 0, 73, 0, 70, 0, 68, 0, 71, 0, 73, 0, 71, 0, 76, 0, 73, 0, 71, 0, 74, 0, 76, 0, 74, 0, 79, 0, 76, 0, 74, 0, 77, 0, 79, 0, 77, 0, 82, 0, 79, 0, 77, 0, 80, 0, 82, 0, 80, 0, 85, 0, 82, 0, 80, 0, 83, 0, 85, 0, 83, 0, 88, 0, 85, 0, 83, 0, 86, 0, 88, 0, 86, 0, 91, 0, 88, 0, 86, 0, 89, 0, 91, 0, 89, 0, 94, 0, 91, 0, 89, 0, 92, 0, 94, 0, 7, 0, 1, 0, 4, 0, 1, 0, 93, 0, 96, 0, 93, 0, 87, 0, 90, 0, 87, 0, 81, 0, 84, 0, 81, 0, 75, 0, 78, 0, 75, 0, 69, 0, 72, 0, 69, 0, 63, 0, 66, 0, 63, 0, 57, 0, 60, 0, 57, 0, 51, 0, 54, 0, 51, 0, 44, 0, 47, 0, 44, 0, 38, 0, 41, 0, 38, 0, 32, 0, 35, 0, 32, 0, 26, 0, 29, 0, 26, 0, 20, 0, 23, 0, 20, 0, 13, 0, 17, 0, 13, 0, 7, 0, 10, 0, 7, 0, 93, 0, 1, 0, 93, 0, 81, 0, 87, 0, 81, 0, 69, 0, 75, 0, 69, 0, 57, 0, 63, 0, 57, 0, 44, 0, 51, 0, 44, 0, 32, 0, 38, 0, 32, 0, 20, 0, 26, 0, 20, 0, 7, 0, 13, 0, 7, 0, 81, 0, 93, 0, 81, 0, 57, 0, 69, 0, 57, 0, 32, 0, 44, 0, 32, 0, 7, 0, 20, 0, 7, 0, 57, 0, 81, 0, 57, 0, 7, 0, 32, 0, 92, 0, 97, 0, 94, 0, 92, 0, 95, 0, 97, 0, 95, 0, 2, 0, 97, 0, 95, 0, 0, 0, 2, 0), +"lods": [0.612783, PackedByteArray(98, 0, 99, 0, 101, 0, 99, 0, 100, 0, 101, 0, 108, 0, 98, 0, 101, 0, 100, 0, 9, 0, 101, 0, 107, 0, 108, 0, 101, 0, 9, 0, 12, 0, 101, 0, 106, 0, 107, 0, 101, 0, 12, 0, 15, 0, 101, 0, 15, 0, 18, 0, 101, 0, 18, 0, 21, 0, 101, 0, 21, 0, 24, 0, 101, 0, 24, 0, 27, 0, 101, 0, 27, 0, 30, 0, 101, 0, 30, 0, 33, 0, 101, 0, 33, 0, 36, 0, 101, 0, 36, 0, 39, 0, 101, 0, 39, 0, 42, 0, 101, 0, 42, 0, 45, 0, 101, 0, 45, 0, 50, 0, 101, 0, 45, 0, 48, 0, 50, 0, 105, 0, 106, 0, 101, 0, 105, 0, 101, 0, 73, 0, 83, 0, 105, 0, 73, 0, 80, 0, 83, 0, 73, 0, 77, 0, 80, 0, 73, 0, 74, 0, 77, 0, 73, 0, 71, 0, 74, 0, 73, 0, 68, 0, 71, 0, 73, 0, 65, 0, 68, 0, 73, 0, 62, 0, 65, 0, 73, 0, 59, 0, 62, 0, 73, 0, 56, 0, 59, 0, 73, 0, 104, 0, 56, 0, 73, 0, 102, 0, 104, 0, 73, 0, 102, 0, 73, 0, 103, 0, 72, 0, 35, 0, 51, 0)], +"material": SubResource("StandardMaterial3D_xbwut"), +"primitive": 3, +"vertex_count": 109, +"vertex_data": PackedByteArray(240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 50, 179, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 255, 127, 255, 255, 105, 83, 255, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 50, 179, 255, 255, 0, 0, 255, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 62, 184, 170, 246, 0, 0, 97, 181, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 255, 127, 255, 255, 106, 83, 255, 191, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 62, 184, 170, 246, 0, 0, 97, 181, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 150, 187, 139, 238, 0, 0, 64, 173, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 255, 127, 255, 255, 105, 83, 255, 191, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 150, 187, 139, 238, 0, 0, 64, 173, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 126, 189, 93, 231, 0, 0, 161, 217, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 255, 127, 255, 255, 104, 83, 255, 191, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 126, 189, 93, 231, 0, 0, 161, 217, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 28, 190, 240, 224, 0, 0, 255, 223, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 255, 127, 255, 255, 105, 83, 255, 191, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 28, 190, 240, 224, 0, 0, 255, 223, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 126, 189, 33, 219, 0, 0, 161, 153, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 126, 189, 33, 219, 0, 0, 161, 153, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 255, 127, 255, 255, 106, 83, 255, 191, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 150, 187, 220, 213, 0, 0, 64, 237, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 150, 187, 220, 213, 0, 0, 64, 237, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 255, 127, 255, 255, 105, 83, 255, 191, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 62, 184, 20, 209, 0, 0, 96, 245, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 62, 184, 20, 209, 0, 0, 96, 245, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 255, 127, 255, 255, 105, 83, 255, 191, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 50, 179, 203, 204, 255, 255, 0, 128, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 50, 179, 203, 204, 255, 255, 0, 128, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 255, 127, 255, 255, 105, 83, 255, 191, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 233, 174, 191, 199, 255, 255, 157, 138, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 233, 174, 191, 199, 255, 255, 157, 138, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 255, 127, 255, 255, 105, 83, 255, 191, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 34, 170, 104, 196, 255, 255, 190, 146, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 34, 170, 104, 196, 255, 255, 190, 146, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 255, 127, 255, 255, 105, 83, 255, 191, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 220, 164, 128, 194, 255, 255, 92, 230, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 220, 164, 128, 194, 255, 255, 161, 153, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 255, 127, 255, 255, 105, 83, 255, 191, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 14, 159, 225, 193, 255, 255, 255, 159, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 14, 159, 225, 193, 255, 255, 255, 223, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 255, 127, 255, 255, 105, 83, 255, 191, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 161, 152, 128, 194, 255, 255, 92, 166, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 161, 152, 128, 194, 255, 255, 92, 166, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 255, 127, 255, 255, 105, 83, 255, 191, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 115, 145, 104, 196, 255, 255, 189, 210, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 115, 145, 104, 196, 255, 255, 189, 210, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 255, 127, 255, 255, 105, 83, 255, 191, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 84, 137, 191, 199, 255, 255, 97, 181, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 84, 137, 191, 199, 255, 255, 97, 181, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 255, 127, 255, 255, 104, 83, 255, 191, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 255, 127, 203, 204, 197, 250, 135, 198, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 255, 127, 203, 204, 239, 242, 98, 189, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 203, 204, 197, 250, 135, 198, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 255, 255, 105, 83, 255, 191, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 203, 204, 239, 242, 98, 189, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 170, 118, 191, 199, 194, 234, 255, 191, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 255, 127, 255, 255, 103, 83, 255, 191, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 170, 118, 191, 199, 194, 234, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 139, 110, 104, 196, 129, 218, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 255, 127, 255, 255, 105, 83, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 139, 110, 104, 196, 129, 218, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 93, 103, 128, 194, 186, 204, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 255, 127, 255, 255, 106, 83, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 93, 103, 128, 194, 186, 204, 255, 191, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 240, 96, 225, 193, 255, 191, 255, 191, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 255, 127, 255, 255, 105, 83, 255, 191, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 240, 96, 225, 193, 255, 191, 255, 191, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 34, 91, 128, 194, 68, 179, 255, 191, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 255, 127, 255, 255, 105, 83, 255, 191, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 34, 91, 128, 194, 68, 179, 255, 191, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 220, 85, 104, 196, 124, 165, 255, 191, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 255, 127, 255, 255, 105, 83, 255, 191, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 220, 85, 104, 196, 124, 165, 255, 191, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 21, 81, 191, 199, 59, 149, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 255, 127, 255, 255, 105, 83, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 21, 81, 191, 199, 59, 149, 255, 191, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 204, 76, 203, 204, 255, 127, 255, 191, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 255, 127, 255, 255, 105, 83, 255, 191, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 204, 76, 204, 204, 255, 127, 255, 191, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 192, 71, 20, 209, 195, 106, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 255, 127, 255, 255, 105, 83, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 192, 71, 20, 209, 195, 106, 255, 191, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 104, 68, 220, 213, 130, 90, 255, 191, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 255, 127, 255, 255, 105, 83, 255, 191, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 104, 68, 220, 213, 130, 90, 255, 191, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 128, 66, 33, 219, 186, 76, 255, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 255, 127, 255, 255, 105, 83, 255, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 128, 66, 33, 219, 186, 76, 255, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 226, 65, 240, 224, 255, 63, 255, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 255, 127, 255, 255, 105, 83, 255, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 226, 65, 240, 224, 255, 63, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 128, 66, 93, 231, 68, 51, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 255, 127, 255, 255, 105, 83, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 128, 66, 93, 231, 68, 51, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 104, 68, 139, 238, 125, 37, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 255, 127, 255, 255, 105, 83, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 104, 68, 139, 238, 125, 37, 255, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 192, 71, 170, 246, 60, 21, 255, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 255, 127, 255, 255, 105, 83, 255, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 192, 71, 170, 246, 60, 21, 255, 191, 240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 113, 149, 9, 255, 0, 0, 255, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 217, 154, 151, 250, 0, 0, 97, 181, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 178, 151, 228, 247, 0, 0, 64, 173, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 54, 149, 148, 223, 255, 255, 161, 153, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 218, 124, 152, 233, 239, 242, 98, 189, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 171, 125, 122, 238, 239, 242, 98, 189, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 235, 118, 72, 224, 194, 234, 255, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 134, 96, 124, 237, 255, 63, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 31, 118, 244, 251, 68, 51, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 131, 117, 53, 253, 125, 37, 255, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 221, 112, 69, 254, 60, 21, 255, 191) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_wuhjn") + +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_4fsqc"] +points = PackedVector3Array(0, 0, -1.05, 0, 0.1, -0.900147, 0.175548, 0.1, -0.88288, 0.204738, 0, -1.02986, -0.204943, 0, -1.02986, -0.175754, 0.1, -0.88288, 0.344313, 0.1, -0.831695, 0.401664, 0, -0.970243, -0.40187, 0, -0.970243, -0.344518, 0.1, -0.831695, 0.499922, 0.1, -0.748444, 0.583174, 0, -0.873218, -0.583379, 0, -0.873218, -0.500127, 0.1, -0.748444, 0.636208, 0.1, -0.636413, 0.742277, 0, -0.742482, -0.742482, 0, -0.742482, -0.636413, 0.1, -0.636413, 0.748238, 0.1, -0.500127, 0.873013, 0, -0.583379, -0.873218, 0, -0.583379, -0.748444, 0.1, -0.500127, 0.83149, 0.1, -0.344518, 0.970037, 0, -0.40187, -0.970243, 0, -0.40187, -0.831695, 0.1, -0.344518, 0.882674, 0.1, -0.175754, 1.02965, 0, -0.204943, -1.02986, 0, -0.204943, -0.88288, 0.1, -0.175754, 0.899941, 0.1, 0, 1.05, 0, 0, -1.05, 0, 0, -0.900147, 0.1, 0, 0.882674, 0.1, 0.175548, 1.02965, 0, 0.204738, -1.02986, 0, 0.204738, -0.88288, 0.1, 0.175548, 0.970037, 0, 0.401664, 0.83149, 0.1, 0.344313, -0.970243, 0, 0.401664, -0.831695, 0.1, 0.344313, 0.873013, 0, 0.583174, 0.748238, 0.1, 0.499922, -0.873218, 0, 0.583174, -0.748444, 0.1, 0.499922, 0.742277, 0, 0.742277, 0.636208, 0.1, 0.636208, -0.742482, 0, 0.742277, -0.636413, 0.1, 0.636208, 0.583174, 0, 0.873013, 0.499922, 0.1, 0.748238, -0.583379, 0, 0.873013, -0.500127, 0.1, 0.748238, 0.344313, 0.1, 0.83149, 0.401664, 0, 0.970037, -0.40187, 0, 0.970037, -0.344518, 0.1, 0.83149, 0.175548, 0.1, 0.882674, 0.204738, 0, 1.02965, -0.204943, 0, 1.02965, -0.175754, 0.1, 0.882674, -0.000205517, 0, 1.05, -0.000205517, 0.1, 0.899941) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xtwro"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ke00"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_kdkqu"] +_surfaces = [{ +"aabb": AABB(-1, 2.9, -1, 2, 0.7, 2.00001), +"format": 4097, +"index_count": 948, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0, 50, 0, 90, 0, 52, 0, 50, 0, 89, 0, 90, 0, 6, 0, 68, 0, 8, 0, 6, 0, 67, 0, 68, 0, 24, 0, 77, 0, 26, 0, 24, 0, 76, 0, 77, 0, 42, 0, 86, 0, 44, 0, 42, 0, 85, 0, 86, 0, 60, 0, 95, 0, 62, 0, 60, 0, 94, 0, 95, 0, 16, 0, 73, 0, 18, 0, 16, 0, 72, 0, 73, 0, 34, 0, 82, 0, 36, 0, 34, 0, 81, 0, 82, 0, 52, 0, 91, 0, 54, 0, 52, 0, 90, 0, 91, 0, 8, 0, 69, 0, 10, 0, 8, 0, 68, 0, 69, 0, 26, 0, 78, 0, 28, 0, 26, 0, 77, 0, 78, 0, 44, 0, 87, 0, 46, 0, 44, 0, 86, 0, 87, 0, 0, 0, 65, 0, 2, 0, 0, 0, 64, 0, 65, 0, 62, 0, 64, 0, 0, 0, 62, 0, 95, 0, 64, 0, 18, 0, 74, 0, 20, 0, 18, 0, 73, 0, 74, 0, 36, 0, 83, 0, 38, 0, 36, 0, 82, 0, 83, 0, 54, 0, 92, 0, 56, 0, 54, 0, 91, 0, 92, 0, 10, 0, 70, 0, 12, 0, 10, 0, 69, 0, 70, 0, 28, 0, 79, 0, 30, 0, 28, 0, 78, 0, 79, 0, 46, 0, 88, 0, 48, 0, 46, 0, 87, 0, 88, 0, 2, 0, 66, 0, 4, 0, 2, 0, 65, 0, 66, 0, 20, 0, 75, 0, 22, 0, 20, 0, 74, 0, 75, 0, 38, 0, 84, 0, 40, 0, 38, 0, 83, 0, 84, 0, 56, 0, 93, 0, 58, 0, 56, 0, 92, 0, 93, 0, 12, 0, 71, 0, 14, 0, 12, 0, 70, 0, 71, 0, 30, 0, 80, 0, 32, 0, 30, 0, 79, 0, 80, 0, 48, 0, 89, 0, 50, 0, 48, 0, 88, 0, 89, 0, 4, 0, 67, 0, 6, 0, 4, 0, 66, 0, 67, 0, 22, 0, 76, 0, 24, 0, 22, 0, 75, 0, 76, 0, 40, 0, 85, 0, 42, 0, 40, 0, 84, 0, 85, 0, 58, 0, 94, 0, 60, 0, 58, 0, 93, 0, 94, 0, 14, 0, 72, 0, 16, 0, 14, 0, 71, 0, 72, 0, 32, 0, 81, 0, 34, 0, 32, 0, 80, 0, 81, 0, 111, 0, 139, 0, 112, 0, 111, 0, 138, 0, 139, 0, 98, 0, 129, 0, 99, 0, 98, 0, 167, 0, 129, 0, 125, 0, 173, 0, 126, 0, 125, 0, 148, 0, 173, 0, 112, 0, 140, 0, 113, 0, 112, 0, 139, 0, 140, 0, 99, 0, 130, 0, 100, 0, 99, 0, 129, 0, 130, 0, 126, 0, 149, 0, 127, 0, 126, 0, 173, 0, 149, 0, 113, 0, 141, 0, 114, 0, 113, 0, 140, 0, 141, 0, 100, 0, 131, 0, 101, 0, 100, 0, 130, 0, 131, 0, 127, 0, 170, 0, 96, 0, 127, 0, 149, 0, 170, 0, 114, 0, 142, 0, 115, 0, 114, 0, 141, 0, 142, 0, 101, 0, 162, 0, 102, 0, 101, 0, 131, 0, 162, 0, 115, 0, 187, 0, 116, 0, 115, 0, 142, 0, 187, 0, 102, 0, 132, 0, 103, 0, 102, 0, 162, 0, 132, 0, 116, 0, 143, 0, 117, 0, 116, 0, 187, 0, 143, 0, 103, 0, 159, 0, 104, 0, 103, 0, 132, 0, 159, 0, 117, 0, 184, 0, 118, 0, 117, 0, 143, 0, 184, 0, 104, 0, 133, 0, 105, 0, 104, 0, 159, 0, 133, 0, 118, 0, 144, 0, 119, 0, 118, 0, 184, 0, 144, 0, 105, 0, 156, 0, 106, 0, 105, 0, 133, 0, 156, 0, 119, 0, 181, 0, 120, 0, 119, 0, 144, 0, 181, 0, 106, 0, 134, 0, 107, 0, 106, 0, 156, 0, 134, 0, 120, 0, 145, 0, 121, 0, 120, 0, 181, 0, 145, 0, 107, 0, 135, 0, 108, 0, 107, 0, 134, 0, 135, 0, 121, 0, 178, 0, 122, 0, 121, 0, 145, 0, 178, 0, 108, 0, 136, 0, 109, 0, 108, 0, 135, 0, 136, 0, 122, 0, 146, 0, 123, 0, 122, 0, 178, 0, 146, 0, 109, 0, 137, 0, 110, 0, 109, 0, 136, 0, 137, 0, 96, 0, 128, 0, 97, 0, 96, 0, 170, 0, 128, 0, 123, 0, 147, 0, 124, 0, 123, 0, 146, 0, 147, 0, 110, 0, 138, 0, 111, 0, 110, 0, 137, 0, 138, 0, 97, 0, 167, 0, 98, 0, 97, 0, 128, 0, 167, 0, 124, 0, 148, 0, 125, 0, 124, 0, 147, 0, 148, 0, 139, 0, 151, 0, 150, 0, 139, 0, 138, 0, 151, 0, 138, 0, 152, 0, 151, 0, 138, 0, 137, 0, 152, 0, 137, 0, 153, 0, 152, 0, 137, 0, 136, 0, 153, 0, 136, 0, 154, 0, 153, 0, 136, 0, 135, 0, 154, 0, 135, 0, 155, 0, 154, 0, 135, 0, 134, 0, 155, 0, 134, 0, 157, 0, 155, 0, 134, 0, 156, 0, 157, 0, 156, 0, 158, 0, 157, 0, 156, 0, 133, 0, 158, 0, 133, 0, 160, 0, 158, 0, 133, 0, 159, 0, 160, 0, 159, 0, 161, 0, 160, 0, 159, 0, 132, 0, 161, 0, 132, 0, 163, 0, 161, 0, 132, 0, 162, 0, 163, 0, 162, 0, 164, 0, 163, 0, 162, 0, 131, 0, 164, 0, 131, 0, 165, 0, 164, 0, 131, 0, 130, 0, 165, 0, 130, 0, 166, 0, 165, 0, 130, 0, 129, 0, 166, 0, 129, 0, 168, 0, 166, 0, 129, 0, 167, 0, 168, 0, 167, 0, 169, 0, 168, 0, 167, 0, 128, 0, 169, 0, 128, 0, 171, 0, 169, 0, 128, 0, 170, 0, 171, 0, 170, 0, 172, 0, 171, 0, 170, 0, 149, 0, 172, 0, 149, 0, 174, 0, 172, 0, 149, 0, 173, 0, 174, 0, 173, 0, 175, 0, 174, 0, 173, 0, 148, 0, 175, 0, 148, 0, 176, 0, 175, 0, 148, 0, 147, 0, 176, 0, 147, 0, 177, 0, 176, 0, 147, 0, 146, 0, 177, 0, 146, 0, 179, 0, 177, 0, 146, 0, 178, 0, 179, 0, 178, 0, 180, 0, 179, 0, 178, 0, 145, 0, 180, 0, 145, 0, 182, 0, 180, 0, 145, 0, 181, 0, 182, 0, 181, 0, 183, 0, 182, 0, 181, 0, 144, 0, 183, 0, 144, 0, 185, 0, 183, 0, 144, 0, 184, 0, 185, 0, 184, 0, 186, 0, 185, 0, 184, 0, 143, 0, 186, 0, 143, 0, 188, 0, 186, 0, 143, 0, 187, 0, 188, 0, 187, 0, 189, 0, 188, 0, 187, 0, 142, 0, 189, 0, 142, 0, 190, 0, 189, 0, 142, 0, 141, 0, 190, 0, 152, 0, 150, 0, 151, 0, 150, 0, 190, 0, 191, 0, 190, 0, 188, 0, 189, 0, 188, 0, 185, 0, 186, 0, 185, 0, 182, 0, 183, 0, 182, 0, 179, 0, 180, 0, 179, 0, 176, 0, 177, 0, 176, 0, 174, 0, 175, 0, 174, 0, 171, 0, 172, 0, 171, 0, 168, 0, 169, 0, 168, 0, 165, 0, 166, 0, 165, 0, 163, 0, 164, 0, 163, 0, 160, 0, 161, 0, 160, 0, 157, 0, 158, 0, 157, 0, 154, 0, 155, 0, 154, 0, 152, 0, 153, 0, 152, 0, 190, 0, 150, 0, 190, 0, 185, 0, 188, 0, 185, 0, 179, 0, 182, 0, 179, 0, 174, 0, 176, 0, 174, 0, 168, 0, 171, 0, 168, 0, 163, 0, 165, 0, 163, 0, 157, 0, 160, 0, 157, 0, 152, 0, 154, 0, 152, 0, 185, 0, 190, 0, 185, 0, 174, 0, 179, 0, 174, 0, 163, 0, 168, 0, 163, 0, 152, 0, 157, 0, 152, 0, 174, 0, 185, 0, 174, 0, 152, 0, 163, 0, 141, 0, 191, 0, 190, 0, 141, 0, 140, 0, 191, 0, 140, 0, 150, 0, 191, 0, 140, 0, 139, 0, 150, 0), +"lods": [0.123754, PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 65, 0, 3, 0, 0, 0, 64, 0, 65, 0, 65, 0, 5, 0, 3, 0, 65, 0, 66, 0, 67, 0, 65, 0, 67, 0, 68, 0, 65, 0, 68, 0, 5, 0, 68, 0, 9, 0, 5, 0, 68, 0, 13, 0, 9, 0, 68, 0, 17, 0, 13, 0, 68, 0, 69, 0, 70, 0, 68, 0, 70, 0, 71, 0, 68, 0, 71, 0, 72, 0, 68, 0, 72, 0, 73, 0, 68, 0, 73, 0, 17, 0, 73, 0, 21, 0, 17, 0, 73, 0, 25, 0, 21, 0, 73, 0, 74, 0, 75, 0, 73, 0, 75, 0, 76, 0, 73, 0, 76, 0, 25, 0, 25, 0, 76, 0, 77, 0, 25, 0, 77, 0, 78, 0, 25, 0, 78, 0, 80, 0, 80, 0, 78, 0, 79, 0, 25, 0, 80, 0, 29, 0, 80, 0, 33, 0, 29, 0, 80, 0, 35, 0, 33, 0, 80, 0, 81, 0, 35, 0, 81, 0, 37, 0, 35, 0, 81, 0, 83, 0, 37, 0, 81, 0, 82, 0, 83, 0, 83, 0, 41, 0, 37, 0, 83, 0, 85, 0, 41, 0, 83, 0, 84, 0, 85, 0, 85, 0, 86, 0, 41, 0, 86, 0, 45, 0, 41, 0, 86, 0, 49, 0, 45, 0, 86, 0, 87, 0, 88, 0, 86, 0, 88, 0, 89, 0, 86, 0, 89, 0, 90, 0, 86, 0, 90, 0, 49, 0, 90, 0, 53, 0, 49, 0, 90, 0, 57, 0, 53, 0, 90, 0, 91, 0, 92, 0, 90, 0, 92, 0, 93, 0, 90, 0, 93, 0, 94, 0, 90, 0, 94, 0, 57, 0, 94, 0, 61, 0, 57, 0, 94, 0, 63, 0, 61, 0, 94, 0, 0, 0, 63, 0, 0, 0, 1, 0, 63, 0, 94, 0, 95, 0, 0, 0, 0, 0, 95, 0, 64, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 5, 0, 53, 0, 61, 0, 53, 0, 45, 0, 49, 0, 53, 0, 37, 0, 45, 0, 5, 0, 37, 0, 53, 0, 45, 0, 37, 0, 41, 0, 37, 0, 33, 0, 35, 0, 37, 0, 29, 0, 33, 0, 37, 0, 21, 0, 29, 0, 37, 0, 5, 0, 21, 0, 29, 0, 21, 0, 25, 0, 21, 0, 5, 0, 13, 0, 13, 0, 5, 0, 9, 0, 21, 0, 13, 0, 17, 0, 112, 0, 111, 0, 113, 0, 109, 0, 111, 0, 110, 0, 108, 0, 111, 0, 109, 0, 107, 0, 111, 0, 108, 0, 107, 0, 104, 0, 111, 0, 106, 0, 104, 0, 107, 0, 105, 0, 104, 0, 106, 0, 102, 0, 104, 0, 103, 0, 101, 0, 104, 0, 102, 0, 101, 0, 99, 0, 104, 0, 100, 0, 99, 0, 101, 0, 104, 0, 160, 0, 157, 0, 104, 0, 163, 0, 160, 0, 104, 0, 157, 0, 154, 0, 99, 0, 165, 0, 163, 0, 99, 0, 168, 0, 165, 0, 104, 0, 99, 0, 163, 0, 111, 0, 104, 0, 154, 0, 99, 0, 170, 0, 168, 0, 170, 0, 171, 0, 168, 0, 97, 0, 170, 0, 99, 0, 97, 0, 99, 0, 98, 0, 96, 0, 170, 0, 97, 0, 111, 0, 154, 0, 152, 0, 111, 0, 152, 0, 151, 0, 111, 0, 151, 0, 150, 0, 111, 0, 150, 0, 191, 0, 113, 0, 111, 0, 191, 0, 113, 0, 191, 0, 190, 0, 113, 0, 190, 0, 189, 0, 118, 0, 113, 0, 189, 0, 118, 0, 189, 0, 188, 0, 118, 0, 188, 0, 186, 0, 118, 0, 186, 0, 185, 0, 118, 0, 185, 0, 183, 0, 114, 0, 113, 0, 115, 0, 115, 0, 113, 0, 118, 0, 115, 0, 118, 0, 116, 0, 116, 0, 118, 0, 117, 0, 122, 0, 118, 0, 183, 0, 119, 0, 118, 0, 122, 0, 122, 0, 183, 0, 182, 0, 119, 0, 122, 0, 120, 0, 120, 0, 122, 0, 121, 0, 122, 0, 182, 0, 180, 0, 122, 0, 180, 0, 179, 0, 122, 0, 179, 0, 177, 0, 123, 0, 122, 0, 177, 0, 123, 0, 177, 0, 176, 0, 125, 0, 123, 0, 176, 0, 124, 0, 123, 0, 125, 0, 125, 0, 176, 0, 175, 0, 125, 0, 175, 0, 174, 0, 127, 0, 125, 0, 174, 0, 126, 0, 125, 0, 127, 0, 127, 0, 174, 0, 172, 0, 170, 0, 127, 0, 172, 0, 127, 0, 170, 0, 96, 0, 170, 0, 172, 0, 171, 0, 152, 0, 150, 0, 151, 0, 150, 0, 190, 0, 191, 0, 152, 0, 190, 0, 150, 0, 190, 0, 188, 0, 189, 0, 190, 0, 185, 0, 188, 0, 152, 0, 185, 0, 190, 0, 188, 0, 185, 0, 186, 0, 157, 0, 152, 0, 154, 0, 163, 0, 152, 0, 157, 0, 163, 0, 157, 0, 160, 0, 152, 0, 174, 0, 185, 0, 174, 0, 152, 0, 163, 0, 168, 0, 163, 0, 165, 0, 174, 0, 163, 0, 168, 0, 174, 0, 168, 0, 171, 0, 174, 0, 171, 0, 172, 0, 185, 0, 182, 0, 183, 0, 185, 0, 179, 0, 182, 0, 185, 0, 174, 0, 179, 0, 182, 0, 179, 0, 180, 0, 179, 0, 174, 0, 176, 0, 176, 0, 174, 0, 175, 0, 179, 0, 176, 0, 177, 0), 0.154965, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 65, 0, 5, 0, 0, 0, 64, 0, 65, 0, 65, 0, 69, 0, 5, 0, 65, 0, 67, 0, 69, 0, 65, 0, 66, 0, 67, 0, 69, 0, 21, 0, 5, 0, 69, 0, 70, 0, 71, 0, 69, 0, 71, 0, 21, 0, 21, 0, 71, 0, 72, 0, 78, 0, 37, 0, 21, 0, 21, 0, 72, 0, 74, 0, 74, 0, 78, 0, 21, 0, 74, 0, 76, 0, 78, 0, 74, 0, 75, 0, 76, 0, 78, 0, 79, 0, 80, 0, 78, 0, 80, 0, 37, 0, 37, 0, 80, 0, 81, 0, 81, 0, 82, 0, 37, 0, 82, 0, 45, 0, 37, 0, 82, 0, 85, 0, 45, 0, 82, 0, 84, 0, 85, 0, 85, 0, 53, 0, 45, 0, 85, 0, 91, 0, 53, 0, 85, 0, 87, 0, 88, 0, 85, 0, 88, 0, 89, 0, 85, 0, 89, 0, 91, 0, 91, 0, 61, 0, 53, 0, 91, 0, 93, 0, 61, 0, 91, 0, 92, 0, 93, 0, 93, 0, 0, 0, 61, 0, 0, 0, 1, 0, 61, 0, 0, 0, 93, 0, 64, 0, 5, 0, 61, 0, 1, 0, 5, 0, 53, 0, 61, 0, 5, 0, 37, 0, 53, 0, 53, 0, 37, 0, 45, 0, 37, 0, 5, 0, 21, 0, 127, 0, 170, 0, 96, 0, 170, 0, 127, 0, 174, 0, 170, 0, 174, 0, 171, 0, 127, 0, 126, 0, 174, 0, 126, 0, 179, 0, 174, 0, 126, 0, 123, 0, 179, 0, 124, 0, 123, 0, 126, 0, 123, 0, 121, 0, 179, 0, 121, 0, 185, 0, 179, 0, 119, 0, 121, 0, 120, 0, 119, 0, 117, 0, 121, 0, 121, 0, 117, 0, 185, 0, 117, 0, 114, 0, 185, 0, 115, 0, 114, 0, 117, 0, 115, 0, 117, 0, 116, 0, 114, 0, 112, 0, 150, 0, 110, 0, 150, 0, 112, 0, 114, 0, 150, 0, 185, 0, 110, 0, 107, 0, 150, 0, 109, 0, 107, 0, 110, 0, 107, 0, 104, 0, 150, 0, 106, 0, 104, 0, 107, 0, 150, 0, 104, 0, 163, 0, 100, 0, 168, 0, 163, 0, 100, 0, 170, 0, 168, 0, 170, 0, 171, 0, 168, 0, 96, 0, 170, 0, 97, 0, 97, 0, 170, 0, 100, 0, 97, 0, 100, 0, 98, 0, 101, 0, 100, 0, 102, 0, 102, 0, 100, 0, 163, 0, 104, 0, 102, 0, 163, 0, 174, 0, 168, 0, 171, 0, 174, 0, 163, 0, 168, 0, 174, 0, 150, 0, 163, 0, 150, 0, 174, 0, 185, 0, 185, 0, 174, 0, 179, 0), 0.466953, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 66, 0, 5, 0, 0, 0, 64, 0, 66, 0, 66, 0, 70, 0, 5, 0, 5, 0, 70, 0, 72, 0, 72, 0, 80, 0, 5, 0, 80, 0, 37, 0, 5, 0, 80, 0, 84, 0, 45, 0, 84, 0, 89, 0, 93, 0, 93, 0, 61, 0, 45, 0, 0, 0, 1, 0, 61, 0, 93, 0, 0, 0, 61, 0, 0, 0, 93, 0, 64, 0, 80, 0, 45, 0, 37, 0, 84, 0, 93, 0, 45, 0, 5, 0, 61, 0, 1, 0, 5, 0, 45, 0, 61, 0, 5, 0, 37, 0, 45, 0, 127, 0, 170, 0, 96, 0, 127, 0, 124, 0, 179, 0, 124, 0, 120, 0, 179, 0, 120, 0, 185, 0, 179, 0, 120, 0, 116, 0, 185, 0, 116, 0, 114, 0, 185, 0, 114, 0, 150, 0, 185, 0, 170, 0, 179, 0, 171, 0, 170, 0, 127, 0, 179, 0, 110, 0, 106, 0, 150, 0, 150, 0, 106, 0, 163, 0, 114, 0, 110, 0, 150, 0, 170, 0, 171, 0, 163, 0, 101, 0, 170, 0, 163, 0, 98, 0, 170, 0, 101, 0, 96, 0, 170, 0, 98, 0, 106, 0, 101, 0, 163, 0, 179, 0, 163, 0, 171, 0, 179, 0, 150, 0, 163, 0, 150, 0, 179, 0, 185, 0), 0.972276, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 66, 0, 5, 0, 0, 0, 64, 0, 66, 0, 5, 0, 66, 0, 84, 0, 84, 0, 89, 0, 45, 0, 5, 0, 45, 0, 1, 0, 89, 0, 0, 0, 45, 0, 0, 0, 1, 0, 45, 0, 5, 0, 84, 0, 45, 0, 0, 0, 89, 0, 64, 0, 120, 0, 170, 0, 96, 0, 96, 0, 170, 0, 110, 0, 110, 0, 170, 0, 150, 0, 170, 0, 171, 0, 150, 0, 120, 0, 150, 0, 179, 0, 170, 0, 179, 0, 171, 0, 170, 0, 120, 0, 179, 0, 179, 0, 150, 0, 171, 0, 120, 0, 110, 0, 150, 0)], +"primitive": 3, +"vertex_count": 192, +"vertex_data": PackedByteArray(0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191) +}, { +"aabb": AABB(-1, 3.1, -1, 2, 0.3, 2.00001), +"format": 4097, +"index_count": 192, +"index_data": PackedByteArray(12, 0, 45, 0, 13, 0, 12, 0, 44, 0, 45, 0, 26, 0, 59, 0, 27, 0, 26, 0, 58, 0, 59, 0, 13, 0, 46, 0, 14, 0, 13, 0, 45, 0, 46, 0, 0, 0, 33, 0, 1, 0, 0, 0, 32, 0, 33, 0, 27, 0, 60, 0, 28, 0, 27, 0, 59, 0, 60, 0, 14, 0, 47, 0, 15, 0, 14, 0, 46, 0, 47, 0, 1, 0, 34, 0, 2, 0, 1, 0, 33, 0, 34, 0, 28, 0, 61, 0, 29, 0, 28, 0, 60, 0, 61, 0, 15, 0, 48, 0, 16, 0, 15, 0, 47, 0, 48, 0, 2, 0, 35, 0, 3, 0, 2, 0, 34, 0, 35, 0, 29, 0, 62, 0, 30, 0, 29, 0, 61, 0, 62, 0, 16, 0, 49, 0, 17, 0, 16, 0, 48, 0, 49, 0, 3, 0, 36, 0, 4, 0, 3, 0, 35, 0, 36, 0, 30, 0, 63, 0, 31, 0, 30, 0, 62, 0, 63, 0, 17, 0, 50, 0, 18, 0, 17, 0, 49, 0, 50, 0, 4, 0, 37, 0, 5, 0, 4, 0, 36, 0, 37, 0, 31, 0, 32, 0, 0, 0, 31, 0, 63, 0, 32, 0, 18, 0, 51, 0, 19, 0, 18, 0, 50, 0, 51, 0, 5, 0, 38, 0, 6, 0, 5, 0, 37, 0, 38, 0, 19, 0, 52, 0, 20, 0, 19, 0, 51, 0, 52, 0, 6, 0, 39, 0, 7, 0, 6, 0, 38, 0, 39, 0, 20, 0, 53, 0, 21, 0, 20, 0, 52, 0, 53, 0, 7, 0, 40, 0, 8, 0, 7, 0, 39, 0, 40, 0, 21, 0, 54, 0, 22, 0, 21, 0, 53, 0, 54, 0, 8, 0, 41, 0, 9, 0, 8, 0, 40, 0, 41, 0, 22, 0, 55, 0, 23, 0, 22, 0, 54, 0, 55, 0, 9, 0, 42, 0, 10, 0, 9, 0, 41, 0, 42, 0, 23, 0, 56, 0, 24, 0, 23, 0, 55, 0, 56, 0, 10, 0, 43, 0, 11, 0, 10, 0, 42, 0, 43, 0, 24, 0, 57, 0, 25, 0, 24, 0, 56, 0, 57, 0, 11, 0, 44, 0, 12, 0, 11, 0, 43, 0, 44, 0, 25, 0, 58, 0, 26, 0, 25, 0, 57, 0, 58, 0), +"lods": [0.0279969, PackedByteArray(0, 0, 35, 0, 2, 0, 0, 0, 32, 0, 35, 0, 2, 0, 35, 0, 37, 0, 2, 0, 37, 0, 6, 0, 6, 0, 37, 0, 39, 0, 6, 0, 39, 0, 8, 0, 8, 0, 39, 0, 41, 0, 8, 0, 41, 0, 10, 0, 10, 0, 41, 0, 43, 0, 10, 0, 43, 0, 11, 0, 11, 0, 43, 0, 46, 0, 11, 0, 46, 0, 13, 0, 13, 0, 46, 0, 48, 0, 13, 0, 48, 0, 17, 0, 17, 0, 48, 0, 50, 0, 17, 0, 50, 0, 19, 0, 19, 0, 50, 0, 52, 0, 19, 0, 52, 0, 21, 0, 21, 0, 52, 0, 54, 0, 21, 0, 54, 0, 23, 0, 23, 0, 54, 0, 56, 0, 23, 0, 56, 0, 25, 0, 25, 0, 56, 0, 60, 0, 25, 0, 60, 0, 27, 0, 27, 0, 60, 0, 62, 0, 27, 0, 62, 0, 31, 0, 31, 0, 62, 0, 32, 0, 31, 0, 32, 0, 0, 0), 0.105563, PackedByteArray(0, 0, 35, 0, 6, 0, 0, 0, 32, 0, 35, 0, 6, 0, 35, 0, 43, 0, 6, 0, 43, 0, 10, 0, 10, 0, 43, 0, 46, 0, 10, 0, 46, 0, 17, 0, 17, 0, 46, 0, 54, 0, 17, 0, 54, 0, 21, 0, 21, 0, 54, 0, 56, 0, 21, 0, 56, 0, 25, 0, 25, 0, 56, 0, 60, 0, 25, 0, 60, 0, 27, 0, 27, 0, 60, 0, 32, 0, 27, 0, 32, 0, 0, 0), 0.486893, PackedByteArray(0, 0, 35, 0, 6, 0, 0, 0, 32, 0, 35, 0, 6, 0, 35, 0, 46, 0, 6, 0, 46, 0, 27, 0, 27, 0, 46, 0, 60, 0, 27, 0, 60, 0, 32, 0, 27, 0, 32, 0, 0, 0)], +"primitive": 3, +"vertex_count": 64, +"vertex_data": PackedByteArray(63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_20bhj"] resource_name = "teleport_Cone001" -surfaces/0 = { -"aabb": AABB( -1, 2.9, -1, 2, 0.7, 2.00001 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 0, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 60, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 193, 121, 57, 0, 0, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 193, 115, 66, 0, 60, 0, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 130, 129, 28, 5, 54, 207, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 193, 121, 57, 0, 0, 102, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 193, 115, 66, 0, 60, 102, 56, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 11, 198, 126, 74, 0, 40, 0, 56, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 21, 0, 127, 52, 0, 40, 0, 56, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 0, 130, 129, 28, 190, 53, 154, 56, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 11, 198, 126, 74, 0, 40, 102, 56, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 21, 201, 126, 82, 0, 44, 0, 56, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 37, 0, 127, 44, 0, 44, 0, 56, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 0, 130, 129, 28, 141, 53, 95, 56, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 21, 201, 126, 82, 0, 44, 102, 56, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 29, 203, 126, 38, 0, 46, 0, 56, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 50, 0, 127, 38, 0, 46, 0, 56, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 0, 130, 129, 28, 116, 53, 32, 56, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 29, 203, 126, 38, 0, 46, 102, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 37, 204, 126, 31, 0, 48, 0, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 63, 0, 127, 31, 0, 48, 0, 56, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 0, 130, 129, 28, 116, 53, 191, 55, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 37, 204, 126, 31, 0, 48, 102, 56, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 44, 203, 126, 25, 0, 49, 0, 56, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 76, 0, 127, 25, 0, 49, 0, 56, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 0, 130, 129, 28, 141, 53, 65, 55, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 44, 203, 126, 25, 0, 49, 102, 56, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 50, 201, 126, 18, 0, 50, 0, 56, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 56, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 0, 130, 129, 28, 190, 53, 203, 54, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 50, 201, 126, 18, 0, 50, 102, 56, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 57, 198, 127, 10, 0, 51, 0, 56, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 105, 0, 127, 10, 0, 51, 0, 56, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 0, 130, 129, 28, 5, 54, 96, 54, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 57, 198, 127, 116, 0, 51, 102, 56, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 63, 193, 126, 126, 0, 52, 0, 56, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 126, 0, 127, 127, 0, 52, 0, 56, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 0, 130, 129, 28, 96, 54, 5, 54, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 63, 193, 126, 126, 0, 52, 102, 56, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 68, 187, 129, 116, 128, 52, 0, 56, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 126, 21, 129, 116, 128, 52, 0, 56, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 0, 130, 129, 28, 203, 54, 190, 53, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 68, 187, 130, 116, 128, 52, 102, 56, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 71, 180, 130, 108, 0, 53, 0, 56, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 56, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 0, 130, 129, 28, 65, 55, 141, 53, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 71, 180, 130, 108, 0, 53, 102, 56, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 73, 174, 130, 25, 128, 53, 0, 56, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 56, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 0, 130, 129, 28, 191, 55, 116, 53, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 73, 174, 130, 25, 128, 53, 102, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 74, 167, 130, 95, 0, 54, 0, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 126, 193, 129, 95, 0, 54, 0, 56, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 0, 130, 129, 28, 32, 56, 116, 53, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 74, 167, 129, 31, 0, 54, 102, 56, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 73, 159, 130, 38, 128, 54, 0, 56, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 126, 180, 129, 38, 128, 54, 0, 56, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 0, 130, 129, 28, 95, 56, 141, 53, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 73, 159, 130, 38, 128, 54, 102, 56, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 71, 151, 130, 44, 0, 55, 0, 56, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 126, 167, 129, 44, 0, 55, 0, 56, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 0, 130, 129, 28, 154, 56, 190, 53, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 71, 151, 130, 44, 0, 55, 102, 56, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 68, 141, 130, 52, 128, 55, 0, 56, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 126, 151, 129, 52, 128, 55, 0, 56, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 0, 130, 129, 28, 207, 56, 5, 54, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 68, 141, 130, 52, 128, 55, 102, 56, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 193, 130, 129, 63, 0, 56, 0, 56, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 129, 129, 129, 63, 0, 56, 0, 56, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 0, 130, 129, 28, 253, 56, 96, 54, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 193, 129, 129, 63, 0, 56, 102, 56, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 56, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 188, 141, 151, 63, 64, 56, 0, 56, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 188, 141, 151, 63, 64, 56, 102, 56, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 0, 130, 129, 28, 32, 57, 203, 54, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 56, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 185, 151, 167, 63, 128, 56, 0, 56, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 185, 151, 167, 63, 128, 56, 102, 56, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 0, 130, 129, 28, 57, 57, 65, 55, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 130, 180, 180, 63, 192, 56, 0, 56, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 183, 159, 180, 63, 192, 56, 0, 56, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 183, 159, 180, 63, 192, 56, 102, 56, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 0, 130, 129, 28, 69, 57, 191, 55, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 130, 193, 193, 63, 0, 57, 0, 56, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 182, 167, 193, 63, 0, 57, 0, 56, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 182, 167, 193, 63, 0, 57, 102, 56, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 0, 130, 129, 28, 69, 57, 32, 56, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 130, 206, 206, 63, 63, 57, 0, 56, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 183, 174, 206, 63, 63, 57, 0, 56, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 183, 174, 206, 63, 64, 57, 102, 56, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 0, 130, 129, 28, 57, 57, 95, 56, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 130, 219, 219, 63, 128, 57, 0, 56, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 185, 180, 219, 63, 128, 57, 0, 56, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 185, 180, 219, 63, 128, 57, 102, 56, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 0, 130, 129, 28, 32, 57, 154, 56, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 130, 235, 235, 63, 192, 57, 0, 56, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 188, 187, 235, 63, 192, 57, 0, 56, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 188, 187, 235, 63, 192, 57, 102, 56, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 0, 130, 129, 28, 253, 56, 207, 56, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 130, 0, 0, 63, 0, 58, 0, 56, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 193, 193, 0, 63, 0, 58, 0, 56, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 193, 193, 0, 63, 0, 58, 102, 56, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 0, 130, 129, 28, 207, 56, 253, 56, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 56, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 199, 198, 21, 63, 64, 58, 0, 56, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 199, 198, 21, 63, 64, 58, 102, 56, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 0, 130, 129, 28, 154, 56, 32, 57, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 56, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 206, 201, 37, 63, 128, 58, 0, 56, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 206, 201, 37, 63, 128, 58, 102, 56, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 0, 130, 129, 28, 95, 56, 57, 57, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 56, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 212, 203, 50, 63, 191, 58, 0, 56, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 212, 203, 50, 63, 191, 58, 102, 56, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 0, 130, 129, 28, 32, 56, 69, 57, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 56, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 219, 204, 63, 63, 255, 58, 0, 56, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 219, 204, 63, 63, 0, 59, 102, 56, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 0, 130, 129, 28, 191, 55, 69, 57, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 56, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 227, 203, 76, 63, 64, 59, 0, 56, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 227, 203, 76, 63, 64, 59, 102, 56, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 0, 130, 129, 28, 65, 55, 57, 57, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 56, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 235, 201, 89, 63, 128, 59, 0, 56, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 235, 201, 89, 63, 128, 59, 102, 56, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 0, 130, 129, 28, 203, 54, 32, 57, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 56, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 245, 198, 105, 63, 192, 59, 0, 56, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 245, 198, 105, 63, 192, 59, 102, 56, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 0, 130, 129, 28, 96, 54, 253, 56, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 0, 51, 55, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 60, 51, 55, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 21, 0, 127, 52, 0, 40, 51, 55, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 37, 0, 127, 44, 0, 44, 51, 55, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 50, 0, 127, 38, 0, 46, 51, 55, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 63, 0, 127, 31, 0, 48, 51, 55, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 0, 127, 25, 0, 49, 51, 55, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 89, 0, 127, 18, 0, 50, 51, 55, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 105, 0, 127, 10, 0, 51, 51, 55, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 126, 0, 129, 127, 0, 52, 51, 55, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 126, 21, 129, 116, 128, 52, 51, 55, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 126, 37, 129, 108, 0, 53, 51, 55, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 126, 50, 129, 101, 128, 53, 51, 55, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 126, 193, 129, 95, 0, 54, 51, 55, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 126, 180, 129, 88, 128, 54, 51, 55, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 126, 167, 129, 44, 0, 55, 51, 55, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 126, 151, 129, 74, 128, 55, 51, 55, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 51, 55, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 130, 151, 151, 63, 64, 56, 51, 55, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 130, 167, 167, 63, 128, 56, 51, 55, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 130, 180, 180, 63, 192, 56, 51, 55, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 130, 193, 193, 63, 0, 57, 51, 55, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 130, 206, 206, 63, 63, 57, 51, 55, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 130, 219, 219, 63, 128, 57, 51, 55, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 130, 235, 235, 63, 192, 57, 51, 55, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 130, 0, 0, 63, 0, 58, 51, 55, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 151, 0, 21, 63, 64, 58, 51, 55, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 167, 0, 37, 63, 128, 58, 51, 55, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 180, 0, 50, 63, 191, 58, 51, 55, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 193, 0, 63, 63, 255, 58, 51, 55, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 206, 0, 76, 63, 64, 59, 51, 55, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 51, 55, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 235, 0, 105, 63, 192, 59, 51, 55, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 0, 102, 56, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 60, 102, 56, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 21, 0, 127, 74, 0, 40, 102, 56, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 37, 0, 127, 44, 0, 44, 102, 56, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 50, 0, 127, 38, 0, 46, 102, 56, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 63, 0, 127, 31, 0, 48, 102, 56, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 76, 0, 127, 101, 0, 49, 102, 56, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 89, 0, 127, 18, 0, 50, 102, 56, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 105, 0, 127, 116, 0, 51, 102, 56, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 126, 0, 129, 1, 0, 52, 102, 56, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 126, 235, 129, 10, 128, 52, 102, 56, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 126, 37, 129, 108, 0, 53, 102, 56, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 127, 206, 129, 25, 128, 53, 102, 56, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 127, 193, 129, 95, 0, 54, 102, 56, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 102, 56, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 102, 56, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 102, 56, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 129, 130, 129, 63, 0, 56, 102, 56, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 102, 56, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 130, 167, 167, 63, 128, 56, 102, 56, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 129, 180, 180, 63, 192, 56, 102, 56, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 130, 63, 193, 63, 0, 57, 102, 56, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 102, 56, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 130, 37, 219, 63, 127, 57, 102, 56, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 130, 21, 235, 63, 192, 57, 102, 56, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 129, 0, 0, 63, 0, 58, 102, 56, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 151, 0, 21, 63, 64, 58, 102, 56, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 167, 0, 37, 63, 128, 58, 102, 56, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 102, 56, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 102, 56, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 102, 56, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 219, 0, 89, 63, 128, 59, 102, 56, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 102, 56, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 11, 58, 126, 74, 0, 40, 0, 56, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 21, 0, 127, 74, 0, 40, 0, 56, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 29, 53, 126, 88, 0, 46, 0, 56, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 50, 0, 127, 88, 0, 46, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 37, 52, 126, 95, 0, 48, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 63, 0, 127, 95, 0, 48, 0, 56, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 44, 53, 127, 25, 0, 49, 0, 56, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 76, 0, 127, 101, 0, 49, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 57, 58, 126, 10, 0, 51, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 105, 0, 127, 116, 0, 51, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 68, 69, 130, 10, 128, 52, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 126, 235, 129, 10, 128, 52, 0, 56, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 73, 82, 130, 25, 128, 53, 0, 56, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 74, 89, 130, 95, 0, 54, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 127, 63, 129, 95, 0, 54, 0, 56, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 73, 97, 130, 88, 128, 54, 0, 56, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 0, 56, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 71, 105, 129, 82, 0, 55, 0, 56, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 0, 56, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 68, 115, 130, 74, 128, 55, 0, 56, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 0, 56, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 0, 56, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 63, 126, 130, 63, 0, 56, 0, 56, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 56, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 188, 115, 151, 63, 64, 56, 0, 56, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 129, 89, 167, 63, 128, 56, 0, 56, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 185, 105, 167, 63, 128, 56, 0, 56, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 130, 76, 180, 63, 192, 56, 0, 56, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 183, 97, 180, 63, 192, 56, 0, 56, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 0, 56, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 183, 82, 206, 63, 63, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 130, 21, 235, 63, 192, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 188, 69, 235, 63, 192, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 199, 58, 21, 63, 64, 58, 0, 56, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 56, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 212, 53, 50, 63, 191, 58, 0, 56, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 56, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 219, 52, 63, 63, 255, 58, 0, 56, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 56, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 227, 53, 76, 63, 64, 59, 0, 56, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 56, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 245, 58, 105, 63, 192, 59, 0, 56, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 0, 126, 212, 63, 190, 53, 154, 56, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 63, 126, 130, 63, 0, 56, 51, 55, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 0, 126, 212, 63, 141, 53, 95, 56, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 68, 115, 130, 74, 128, 55, 51, 55, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 0, 126, 212, 63, 116, 53, 32, 56, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 71, 105, 130, 44, 0, 55, 51, 55, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 0, 126, 212, 63, 116, 53, 191, 55, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 73, 97, 130, 88, 127, 54, 51, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 0, 126, 212, 63, 141, 53, 65, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 74, 89, 130, 95, 0, 54, 51, 55, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 0, 126, 212, 63, 190, 53, 203, 54, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 73, 82, 130, 25, 128, 53, 51, 55, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 71, 76, 130, 18, 0, 53, 0, 56, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 56, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 0, 126, 212, 63, 5, 54, 96, 54, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 71, 76, 130, 18, 0, 53, 51, 55, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 0, 126, 212, 63, 96, 54, 5, 54, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 68, 69, 130, 10, 128, 52, 51, 55, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 63, 63, 130, 126, 255, 51, 0, 56, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 126, 0, 127, 1, 255, 51, 0, 56, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 0, 126, 212, 63, 203, 54, 190, 53, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 63, 63, 130, 126, 255, 51, 51, 55, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 0, 126, 212, 63, 65, 55, 141, 53, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 57, 58, 126, 10, 0, 51, 51, 55, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 50, 55, 126, 108, 0, 50, 0, 56, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 56, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 0, 126, 212, 63, 191, 55, 116, 53, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 50, 55, 126, 108, 0, 50, 51, 55, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 0, 126, 212, 63, 32, 56, 116, 53, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 44, 53, 126, 101, 0, 49, 51, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 0, 126, 212, 63, 95, 56, 141, 53, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 37, 52, 126, 95, 0, 48, 51, 55, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 0, 126, 212, 63, 154, 56, 190, 53, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 29, 53, 126, 88, 0, 46, 51, 55, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 21, 55, 126, 82, 0, 44, 0, 56, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 37, 0, 127, 44, 0, 44, 0, 56, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 0, 126, 212, 63, 207, 56, 5, 54, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 21, 55, 126, 82, 0, 44, 51, 55, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 0, 126, 212, 63, 253, 56, 96, 54, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 11, 58, 126, 74, 0, 40, 51, 55, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 63, 121, 69, 0, 0, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 63, 115, 60, 0, 60, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 0, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 60, 0, 56, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 126, 212, 63, 32, 57, 203, 54, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 63, 121, 69, 0, 0, 51, 55, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 63, 115, 60, 0, 60, 51, 55, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 245, 58, 105, 63, 192, 59, 51, 55, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 0, 126, 212, 63, 57, 57, 65, 55, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 56, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 235, 55, 89, 63, 128, 59, 0, 56, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 235, 55, 89, 63, 128, 59, 51, 55, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 0, 126, 212, 63, 69, 57, 191, 55, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 227, 53, 76, 63, 64, 59, 51, 55, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 0, 126, 212, 63, 69, 57, 32, 56, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 219, 52, 63, 63, 0, 59, 51, 55, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 0, 126, 212, 63, 57, 57, 95, 56, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 212, 53, 50, 63, 192, 58, 51, 55, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 0, 126, 212, 63, 32, 57, 154, 56, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 56, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 206, 55, 37, 63, 128, 58, 0, 56, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 206, 55, 37, 63, 128, 58, 51, 55, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 0, 126, 212, 63, 253, 56, 207, 56, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 199, 58, 21, 63, 64, 58, 51, 55, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 0, 126, 212, 63, 207, 56, 253, 56, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 129, 0, 0, 63, 0, 58, 0, 56, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 193, 63, 0, 63, 0, 58, 0, 56, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 193, 63, 0, 63, 0, 58, 51, 55, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 0, 126, 212, 63, 154, 56, 32, 57, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 188, 69, 235, 63, 192, 57, 51, 55, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 0, 126, 212, 63, 95, 56, 57, 57, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 130, 37, 219, 63, 128, 57, 0, 56, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 185, 76, 219, 63, 128, 57, 0, 56, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 185, 76, 219, 63, 128, 57, 51, 55, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 0, 126, 212, 63, 32, 56, 69, 57, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 183, 82, 206, 63, 64, 57, 51, 55, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 0, 126, 212, 63, 191, 55, 69, 57, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 130, 63, 193, 63, 0, 57, 0, 56, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 182, 89, 193, 63, 0, 57, 0, 56, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 182, 89, 193, 63, 0, 57, 51, 55, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 0, 126, 212, 63, 65, 55, 57, 57, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 183, 97, 180, 63, 192, 56, 51, 55, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 0, 126, 212, 63, 203, 54, 32, 57, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 185, 105, 167, 63, 128, 56, 51, 55, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 0, 126, 212, 63, 96, 54, 253, 56, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 188, 115, 151, 63, 64, 56, 51, 55, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 0, 126, 212, 63, 5, 54, 207, 56 ), -"array_index_data": PoolByteArray( 2, 0, 10, 0, 5, 0, 2, 0, 7, 0, 10, 0, 7, 0, 14, 0, 10, 0, 7, 0, 11, 0, 14, 0, 11, 0, 18, 0, 14, 0, 11, 0, 15, 0, 18, 0, 15, 0, 22, 0, 18, 0, 15, 0, 19, 0, 22, 0, 19, 0, 26, 0, 22, 0, 19, 0, 23, 0, 26, 0, 23, 0, 30, 0, 26, 0, 23, 0, 27, 0, 30, 0, 27, 0, 34, 0, 30, 0, 27, 0, 31, 0, 34, 0, 31, 0, 38, 0, 34, 0, 31, 0, 35, 0, 38, 0, 35, 0, 42, 0, 38, 0, 35, 0, 39, 0, 42, 0, 39, 0, 46, 0, 42, 0, 39, 0, 43, 0, 46, 0, 43, 0, 50, 0, 46, 0, 43, 0, 47, 0, 50, 0, 47, 0, 54, 0, 50, 0, 47, 0, 51, 0, 54, 0, 51, 0, 58, 0, 54, 0, 51, 0, 55, 0, 58, 0, 55, 0, 62, 0, 58, 0, 55, 0, 59, 0, 62, 0, 59, 0, 66, 0, 62, 0, 59, 0, 63, 0, 66, 0, 63, 0, 70, 0, 66, 0, 63, 0, 67, 0, 70, 0, 67, 0, 73, 0, 70, 0, 67, 0, 72, 0, 73, 0, 72, 0, 77, 0, 73, 0, 72, 0, 76, 0, 77, 0, 76, 0, 81, 0, 77, 0, 76, 0, 80, 0, 81, 0, 80, 0, 85, 0, 81, 0, 80, 0, 84, 0, 85, 0, 84, 0, 89, 0, 85, 0, 84, 0, 88, 0, 89, 0, 88, 0, 93, 0, 89, 0, 88, 0, 92, 0, 93, 0, 92, 0, 97, 0, 93, 0, 92, 0, 96, 0, 97, 0, 96, 0, 101, 0, 97, 0, 96, 0, 100, 0, 101, 0, 100, 0, 105, 0, 101, 0, 100, 0, 104, 0, 105, 0, 104, 0, 109, 0, 105, 0, 104, 0, 108, 0, 109, 0, 108, 0, 113, 0, 109, 0, 108, 0, 112, 0, 113, 0, 112, 0, 117, 0, 113, 0, 112, 0, 116, 0, 117, 0, 116, 0, 121, 0, 117, 0, 116, 0, 120, 0, 121, 0, 120, 0, 125, 0, 121, 0, 120, 0, 124, 0, 125, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 126, 0, 118, 0, 122, 0, 118, 0, 110, 0, 114, 0, 110, 0, 102, 0, 106, 0, 102, 0, 94, 0, 98, 0, 94, 0, 86, 0, 90, 0, 86, 0, 78, 0, 82, 0, 78, 0, 69, 0, 74, 0, 69, 0, 61, 0, 65, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 110, 0, 94, 0, 102, 0, 94, 0, 78, 0, 86, 0, 78, 0, 61, 0, 69, 0, 61, 0, 45, 0, 53, 0, 45, 0, 29, 0, 37, 0, 29, 0, 13, 0, 21, 0, 13, 0, 110, 0, 126, 0, 110, 0, 78, 0, 94, 0, 78, 0, 45, 0, 61, 0, 45, 0, 13, 0, 29, 0, 13, 0, 78, 0, 110, 0, 78, 0, 13, 0, 45, 0, 124, 0, 129, 0, 125, 0, 124, 0, 128, 0, 129, 0, 128, 0, 6, 0, 129, 0, 128, 0, 3, 0, 6, 0, 103, 0, 158, 0, 107, 0, 103, 0, 157, 0, 158, 0, 16, 0, 136, 0, 20, 0, 16, 0, 135, 0, 136, 0, 52, 0, 145, 0, 56, 0, 52, 0, 144, 0, 145, 0, 87, 0, 154, 0, 91, 0, 87, 0, 153, 0, 154, 0, 123, 0, 163, 0, 127, 0, 123, 0, 162, 0, 163, 0, 36, 0, 141, 0, 40, 0, 36, 0, 140, 0, 141, 0, 71, 0, 150, 0, 75, 0, 71, 0, 149, 0, 150, 0, 107, 0, 159, 0, 111, 0, 107, 0, 158, 0, 159, 0, 20, 0, 137, 0, 24, 0, 20, 0, 136, 0, 137, 0, 56, 0, 146, 0, 60, 0, 56, 0, 145, 0, 146, 0, 91, 0, 155, 0, 95, 0, 91, 0, 154, 0, 155, 0, 0, 0, 133, 0, 8, 0, 0, 0, 131, 0, 133, 0, 127, 0, 132, 0, 1, 0, 127, 0, 163, 0, 132, 0, 40, 0, 142, 0, 44, 0, 40, 0, 141, 0, 142, 0, 75, 0, 151, 0, 79, 0, 75, 0, 150, 0, 151, 0, 111, 0, 160, 0, 115, 0, 111, 0, 159, 0, 160, 0, 24, 0, 138, 0, 28, 0, 24, 0, 137, 0, 138, 0, 60, 0, 147, 0, 64, 0, 60, 0, 146, 0, 147, 0, 95, 0, 156, 0, 99, 0, 95, 0, 155, 0, 156, 0, 8, 0, 134, 0, 12, 0, 8, 0, 133, 0, 134, 0, 44, 0, 143, 0, 48, 0, 44, 0, 142, 0, 143, 0, 79, 0, 152, 0, 83, 0, 79, 0, 151, 0, 152, 0, 115, 0, 161, 0, 119, 0, 115, 0, 160, 0, 161, 0, 28, 0, 139, 0, 32, 0, 28, 0, 138, 0, 139, 0, 64, 0, 148, 0, 68, 0, 64, 0, 147, 0, 148, 0, 99, 0, 157, 0, 103, 0, 99, 0, 156, 0, 157, 0, 12, 0, 135, 0, 16, 0, 12, 0, 134, 0, 135, 0, 48, 0, 144, 0, 52, 0, 48, 0, 143, 0, 144, 0, 83, 0, 153, 0, 87, 0, 83, 0, 152, 0, 153, 0, 119, 0, 162, 0, 123, 0, 119, 0, 161, 0, 162, 0, 32, 0, 140, 0, 36, 0, 32, 0, 139, 0, 140, 0, 68, 0, 149, 0, 71, 0, 68, 0, 148, 0, 149, 0, 180, 0, 219, 0, 181, 0, 180, 0, 218, 0, 219, 0, 167, 0, 200, 0, 168, 0, 167, 0, 20, 1, 200, 0, 194, 0, 34, 1, 195, 0, 194, 0, 237, 0, 34, 1, 181, 0, 221, 0, 182, 0, 181, 0, 219, 0, 221, 0, 168, 0, 202, 0, 169, 0, 168, 0, 200, 0, 202, 0, 195, 0, 239, 0, 196, 0, 195, 0, 34, 1, 239, 0, 182, 0, 223, 0, 183, 0, 182, 0, 221, 0, 223, 0, 169, 0, 204, 0, 170, 0, 169, 0, 202, 0, 204, 0, 196, 0, 28, 1, 165, 0, 196, 0, 239, 0, 28, 1, 183, 0, 225, 0, 184, 0, 183, 0, 223, 0, 225, 0, 170, 0, 10, 1, 171, 0, 170, 0, 204, 0, 10, 1, 184, 0, 62, 1, 185, 0, 184, 0, 225, 0, 62, 1, 171, 0, 206, 0, 172, 0, 171, 0, 10, 1, 206, 0, 185, 0, 227, 0, 186, 0, 185, 0, 62, 1, 227, 0, 172, 0, 4, 1, 173, 0, 172, 0, 206, 0, 4, 1, 186, 0, 56, 1, 187, 0, 186, 0, 227, 0, 56, 1, 173, 0, 208, 0, 174, 0, 173, 0, 4, 1, 208, 0, 187, 0, 229, 0, 188, 0, 187, 0, 56, 1, 229, 0, 174, 0, 254, 0, 175, 0, 174, 0, 208, 0, 254, 0, 188, 0, 50, 1, 189, 0, 188, 0, 229, 0, 50, 1, 175, 0, 210, 0, 176, 0, 175, 0, 254, 0, 210, 0, 189, 0, 231, 0, 190, 0, 189, 0, 50, 1, 231, 0, 176, 0, 212, 0, 177, 0, 176, 0, 210, 0, 212, 0, 190, 0, 44, 1, 191, 0, 190, 0, 231, 0, 44, 1, 177, 0, 214, 0, 178, 0, 177, 0, 212, 0, 214, 0, 191, 0, 233, 0, 192, 0, 191, 0, 44, 1, 233, 0, 178, 0, 216, 0, 179, 0, 178, 0, 214, 0, 216, 0, 164, 0, 198, 0, 166, 0, 164, 0, 27, 1, 198, 0, 192, 0, 235, 0, 193, 0, 192, 0, 233, 0, 235, 0, 179, 0, 218, 0, 180, 0, 179, 0, 216, 0, 218, 0, 166, 0, 20, 1, 167, 0, 166, 0, 198, 0, 20, 1, 193, 0, 237, 0, 194, 0, 193, 0, 235, 0, 237, 0, 220, 0, 244, 0, 242, 0, 220, 0, 217, 0, 244, 0, 217, 0, 246, 0, 244, 0, 217, 0, 215, 0, 246, 0, 215, 0, 248, 0, 246, 0, 215, 0, 213, 0, 248, 0, 213, 0, 250, 0, 248, 0, 213, 0, 211, 0, 250, 0, 211, 0, 252, 0, 250, 0, 211, 0, 209, 0, 252, 0, 209, 0, 0, 1, 252, 0, 209, 0, 253, 0, 0, 1, 253, 0, 2, 1, 0, 1, 253, 0, 207, 0, 2, 1, 207, 0, 6, 1, 2, 1, 207, 0, 3, 1, 6, 1, 3, 1, 8, 1, 6, 1, 3, 1, 205, 0, 8, 1, 205, 0, 12, 1, 8, 1, 205, 0, 9, 1, 12, 1, 9, 1, 14, 1, 12, 1, 9, 1, 203, 0, 14, 1, 203, 0, 16, 1, 14, 1, 203, 0, 201, 0, 16, 1, 201, 0, 18, 1, 16, 1, 201, 0, 199, 0, 18, 1, 199, 0, 22, 1, 18, 1, 199, 0, 19, 1, 22, 1, 19, 1, 24, 1, 22, 1, 19, 1, 197, 0, 24, 1, 197, 0, 30, 1, 24, 1, 197, 0, 25, 1, 30, 1, 26, 1, 32, 1, 31, 1, 26, 1, 240, 0, 32, 1, 240, 0, 36, 1, 32, 1, 240, 0, 35, 1, 36, 1, 35, 1, 38, 1, 36, 1, 35, 1, 238, 0, 38, 1, 238, 0, 40, 1, 38, 1, 238, 0, 236, 0, 40, 1, 236, 0, 42, 1, 40, 1, 236, 0, 234, 0, 42, 1, 234, 0, 46, 1, 42, 1, 234, 0, 45, 1, 46, 1, 45, 1, 48, 1, 46, 1, 45, 1, 232, 0, 48, 1, 232, 0, 52, 1, 48, 1, 232, 0, 51, 1, 52, 1, 51, 1, 54, 1, 52, 1, 51, 1, 230, 0, 54, 1, 230, 0, 58, 1, 54, 1, 230, 0, 57, 1, 58, 1, 57, 1, 60, 1, 58, 1, 57, 1, 228, 0, 60, 1, 228, 0, 64, 1, 60, 1, 228, 0, 63, 1, 64, 1, 63, 1, 66, 1, 64, 1, 63, 1, 226, 0, 66, 1, 226, 0, 68, 1, 66, 1, 226, 0, 224, 0, 68, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 69, 1, 65, 1, 67, 1, 65, 1, 59, 1, 61, 1, 59, 1, 53, 1, 55, 1, 53, 1, 47, 1, 49, 1, 47, 1, 41, 1, 43, 1, 41, 1, 37, 1, 39, 1, 37, 1, 29, 1, 33, 1, 29, 1, 21, 1, 23, 1, 21, 1, 15, 1, 17, 1, 15, 1, 11, 1, 13, 1, 11, 1, 5, 1, 7, 1, 5, 1, 255, 0, 1, 1, 255, 0, 249, 0, 251, 0, 249, 0, 245, 0, 247, 0, 245, 0, 69, 1, 241, 0, 69, 1, 59, 1, 65, 1, 59, 1, 47, 1, 53, 1, 47, 1, 37, 1, 41, 1, 37, 1, 21, 1, 29, 1, 21, 1, 11, 1, 15, 1, 11, 1, 255, 0, 5, 1, 255, 0, 245, 0, 249, 0, 245, 0, 59, 1, 69, 1, 59, 1, 37, 1, 47, 1, 37, 1, 11, 1, 21, 1, 11, 1, 245, 0, 255, 0, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 224, 0, 70, 1, 68, 1, 224, 0, 222, 0, 70, 1, 222, 0, 242, 0, 70, 1, 222, 0, 220, 0, 242, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-1, 2.9, -1, 2, 0.7, 2.00001), +"attribute_data": PackedByteArray(0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 100, 180, 192, 62, 251, 248, 25, 63, 0, 0, 0, 0, 214, 204, 12, 63, 0, 0, 128, 63, 214, 204, 12, 63, 0, 0, 0, 61, 8, 0, 0, 63, 0, 0, 0, 61, 8, 0, 0, 63, 109, 201, 183, 62, 160, 76, 19, 63, 0, 0, 0, 61, 214, 204, 12, 63, 4, 0, 128, 61, 8, 0, 0, 63, 4, 0, 128, 61, 8, 0, 0, 63, 232, 164, 177, 62, 108, 226, 11, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 192, 61, 8, 0, 0, 63, 0, 0, 192, 61, 8, 0, 0, 63, 62, 131, 174, 62, 79, 3, 4, 63, 0, 0, 192, 61, 214, 204, 12, 63, 0, 0, 0, 62, 10, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 61, 131, 174, 62, 98, 249, 247, 62, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 228, 164, 177, 62, 44, 59, 232, 62, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 10, 0, 0, 63, 0, 0, 64, 62, 10, 0, 0, 63, 112, 201, 183, 62, 180, 102, 217, 62, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 94, 180, 192, 62, 12, 14, 204, 62, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 10, 0, 0, 63, 0, 0, 128, 62, 10, 0, 0, 63, 12, 14, 204, 62, 96, 180, 192, 62, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 186, 102, 217, 62, 110, 201, 183, 62, 0, 0, 144, 62, 216, 204, 12, 63, 0, 0, 160, 62, 10, 0, 0, 63, 0, 0, 160, 62, 10, 0, 0, 63, 34, 59, 232, 62, 232, 164, 177, 62, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 91, 249, 247, 62, 62, 131, 174, 62, 0, 0, 176, 62, 216, 204, 12, 63, 0, 0, 192, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 77, 3, 4, 63, 62, 131, 174, 62, 0, 0, 192, 62, 216, 204, 12, 63, 0, 0, 208, 62, 12, 0, 0, 63, 0, 0, 208, 62, 12, 0, 0, 63, 103, 226, 11, 63, 230, 164, 177, 62, 0, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 162, 76, 19, 63, 112, 201, 183, 62, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 245, 248, 25, 63, 94, 180, 192, 62, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 204, 165, 31, 63, 12, 14, 204, 62, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 216, 204, 12, 63, 68, 27, 36, 63, 176, 102, 217, 62, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 216, 204, 12, 63, 138, 45, 39, 63, 38, 59, 232, 62, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 216, 204, 12, 63, 96, 190, 40, 63, 104, 249, 247, 62, 0, 0, 32, 63, 10, 0, 0, 63, 0, 0, 32, 63, 10, 0, 0, 63, 0, 0, 32, 63, 216, 204, 12, 63, 96, 190, 40, 63, 78, 3, 4, 63, 255, 255, 39, 63, 10, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 0, 0, 40, 63, 216, 204, 12, 63, 141, 45, 39, 63, 102, 226, 11, 63, 0, 0, 48, 63, 10, 0, 0, 63, 0, 0, 48, 63, 10, 0, 0, 63, 0, 0, 48, 63, 216, 204, 12, 63, 71, 27, 36, 63, 163, 76, 19, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 216, 204, 12, 63, 204, 165, 31, 63, 251, 248, 25, 63, 0, 0, 64, 63, 10, 0, 0, 63, 0, 0, 64, 63, 10, 0, 0, 63, 0, 0, 64, 63, 214, 204, 12, 63, 246, 248, 25, 63, 208, 165, 31, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 214, 204, 12, 63, 157, 76, 19, 63, 74, 27, 36, 63, 0, 0, 80, 63, 10, 0, 0, 63, 0, 0, 80, 63, 10, 0, 0, 63, 0, 0, 80, 63, 214, 204, 12, 63, 107, 226, 11, 63, 140, 45, 39, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 214, 204, 12, 63, 77, 3, 4, 63, 96, 190, 40, 63, 255, 255, 95, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 0, 0, 96, 63, 214, 204, 12, 63, 95, 249, 247, 62, 97, 190, 40, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 214, 204, 12, 63, 27, 59, 232, 62, 138, 45, 39, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 214, 204, 12, 63, 182, 102, 217, 62, 72, 27, 36, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 214, 204, 12, 63, 7, 14, 204, 62, 205, 165, 31, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 0, 0, 0, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 144, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 1, 0, 208, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 24, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 48, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 80, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 112, 63, 120, 102, 230, 62, 0, 0, 120, 63, 120, 102, 230, 62, 0, 0, 0, 0, 212, 204, 12, 63, 0, 0, 128, 63, 212, 204, 12, 63, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 4, 0, 192, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 0, 0, 192, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 255, 255, 47, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 104, 63, 212, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 0, 61, 8, 0, 0, 63, 0, 0, 0, 61, 8, 0, 0, 63, 4, 0, 192, 61, 8, 0, 0, 63, 4, 0, 192, 61, 8, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 1, 0, 208, 62, 12, 0, 0, 63, 1, 0, 208, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 110, 201, 183, 62, 163, 76, 19, 63, 0, 0, 0, 63, 120, 102, 230, 62, 230, 164, 177, 62, 107, 226, 11, 63, 0, 0, 240, 62, 120, 102, 230, 62, 62, 131, 174, 62, 76, 3, 4, 63, 0, 0, 224, 62, 120, 102, 230, 62, 61, 131, 174, 62, 104, 249, 247, 62, 255, 255, 207, 62, 120, 102, 230, 62, 234, 164, 177, 62, 32, 59, 232, 62, 0, 0, 192, 62, 120, 102, 230, 62, 114, 201, 183, 62, 178, 102, 217, 62, 0, 0, 176, 62, 120, 102, 230, 62, 0, 0, 160, 62, 8, 0, 0, 63, 0, 0, 160, 62, 8, 0, 0, 63, 102, 180, 192, 62, 8, 14, 204, 62, 0, 0, 160, 62, 120, 102, 230, 62, 4, 14, 204, 62, 104, 180, 192, 62, 0, 0, 144, 62, 120, 102, 230, 62, 254, 255, 127, 62, 8, 0, 0, 63, 254, 255, 127, 62, 8, 0, 0, 63, 186, 102, 217, 62, 112, 201, 183, 62, 254, 255, 127, 62, 120, 102, 230, 62, 37, 59, 232, 62, 232, 164, 177, 62, 0, 0, 96, 62, 120, 102, 230, 62, 0, 0, 64, 62, 8, 0, 0, 63, 0, 0, 64, 62, 8, 0, 0, 63, 101, 249, 247, 62, 64, 131, 174, 62, 0, 0, 64, 62, 120, 102, 230, 62, 75, 3, 4, 63, 62, 131, 174, 62, 2, 0, 32, 62, 120, 102, 230, 62, 109, 226, 11, 63, 234, 164, 177, 62, 0, 0, 0, 62, 120, 102, 230, 62, 156, 76, 19, 63, 108, 201, 183, 62, 0, 0, 192, 61, 120, 102, 230, 62, 4, 0, 128, 61, 8, 0, 0, 63, 4, 0, 128, 61, 8, 0, 0, 63, 250, 248, 25, 63, 104, 180, 192, 62, 4, 0, 128, 61, 120, 102, 230, 62, 201, 165, 31, 63, 4, 14, 204, 62, 0, 0, 0, 61, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 71, 27, 36, 63, 188, 102, 217, 62, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 120, 63, 120, 102, 230, 62, 136, 45, 39, 63, 28, 59, 232, 62, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 120, 102, 230, 62, 96, 190, 40, 63, 106, 249, 247, 62, 0, 0, 104, 63, 120, 102, 230, 62, 96, 190, 40, 63, 81, 3, 4, 63, 0, 0, 96, 63, 120, 102, 230, 62, 138, 45, 39, 63, 111, 226, 11, 63, 1, 0, 88, 63, 120, 102, 230, 62, 71, 27, 36, 63, 163, 76, 19, 63, 0, 0, 80, 63, 8, 0, 0, 63, 0, 0, 80, 63, 8, 0, 0, 63, 0, 0, 80, 63, 120, 102, 230, 62, 204, 165, 31, 63, 252, 248, 25, 63, 0, 0, 72, 63, 120, 102, 230, 62, 248, 248, 25, 63, 207, 165, 31, 63, 0, 0, 64, 63, 8, 0, 0, 63, 0, 0, 64, 63, 8, 0, 0, 63, 0, 0, 64, 63, 120, 102, 230, 62, 157, 76, 19, 63, 75, 27, 36, 63, 0, 0, 56, 63, 120, 102, 230, 62, 103, 226, 11, 63, 141, 45, 39, 63, 0, 0, 48, 63, 8, 0, 0, 63, 0, 0, 48, 63, 8, 0, 0, 63, 0, 0, 48, 63, 120, 102, 230, 62, 75, 3, 4, 63, 96, 190, 40, 63, 0, 0, 40, 63, 120, 102, 230, 62, 98, 249, 247, 62, 97, 190, 40, 63, 0, 0, 32, 63, 8, 0, 0, 63, 0, 0, 32, 63, 8, 0, 0, 63, 0, 0, 32, 63, 120, 102, 230, 62, 28, 59, 232, 62, 139, 45, 39, 63, 0, 0, 24, 63, 120, 102, 230, 62, 183, 102, 217, 62, 72, 27, 36, 63, 0, 0, 16, 63, 120, 102, 230, 62, 7, 14, 204, 62, 205, 165, 31, 63, 0, 0, 8, 63, 120, 102, 230, 62, 98, 180, 192, 62, 250, 248, 25, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 0, 0, 212, 204, 12, 63, 0, 0, 128, 63, 212, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 4, 0, 128, 61, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 112, 63, 214, 204, 12, 63, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 4, 0, 128, 61, 212, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 32, 63, 216, 204, 12, 63, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 0, 0, 0, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 144, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 1, 0, 208, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 24, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 48, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 80, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 112, 63, 120, 102, 230, 62, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 4, 0, 192, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 0, 0, 192, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 255, 255, 47, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 104, 63, 212, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 192, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63), +"format": 4119, "index_count": 948, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 328 -} -surfaces/1 = { -"aabb": AABB( -1, 3.1, -1, 2, 0.3, 2.00001 ), -"array_data": PoolByteArray( 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 126, 63, 0, 0, 255, 59, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 60, 255, 59, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 21, 0, 126, 52, 0, 40, 255, 59, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 37, 0, 127, 44, 0, 44, 255, 59, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 50, 0, 126, 88, 0, 46, 255, 59, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 63, 0, 127, 95, 0, 48, 0, 60, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 0, 127, 25, 255, 48, 0, 60, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 60, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 105, 0, 127, 10, 0, 51, 0, 60, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 126, 0, 129, 1, 0, 52, 0, 60, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 126, 21, 129, 116, 128, 52, 0, 60, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 60, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 60, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 126, 193, 129, 31, 0, 54, 0, 60, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 126, 180, 130, 38, 128, 54, 0, 60, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 126, 167, 129, 44, 0, 55, 0, 60, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 126, 151, 129, 52, 128, 55, 0, 60, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 0, 60, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 60, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 60, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 130, 180, 180, 63, 192, 56, 0, 60, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 130, 193, 193, 63, 0, 57, 0, 60, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 130, 206, 206, 63, 64, 57, 0, 60, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 130, 219, 219, 63, 128, 57, 0, 60, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 130, 235, 235, 63, 192, 57, 0, 60, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 130, 0, 0, 63, 0, 58, 0, 60, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 60, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 60, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 180, 0, 50, 63, 192, 58, 0, 60, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 193, 0, 63, 63, 0, 59, 0, 60, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 206, 0, 76, 63, 64, 59, 255, 59, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 255, 59, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 235, 0, 105, 63, 192, 59, 255, 59, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 126, 63, 0, 0, 0, 0, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 60, 0, 0, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 21, 0, 126, 52, 0, 40, 0, 0, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 37, 0, 126, 44, 0, 44, 0, 0, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 50, 0, 126, 88, 0, 46, 0, 0, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 63, 0, 126, 95, 0, 48, 0, 0, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 76, 0, 127, 25, 0, 49, 0, 0, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 89, 0, 127, 108, 0, 50, 0, 0, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 105, 0, 127, 116, 0, 51, 0, 0, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 126, 0, 129, 126, 0, 52, 0, 0, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 126, 235, 129, 10, 128, 52, 0, 0, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 0, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 127, 206, 129, 25, 128, 53, 0, 0, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 127, 193, 130, 95, 0, 54, 0, 0, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 0, 0, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 0, 0, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 0, 0, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 129, 130, 129, 63, 0, 56, 0, 0, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 0, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 0, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 129, 180, 180, 63, 192, 56, 0, 0, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 130, 63, 193, 63, 0, 57, 0, 0, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 0, 0, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 130, 37, 219, 63, 128, 57, 0, 0, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 130, 21, 235, 63, 192, 57, 0, 0, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 129, 0, 0, 63, 0, 58, 0, 0, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 0, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 0, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 0, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 0, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 0, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 0, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 0 ), -"array_index_data": PoolByteArray( 13, 0, 47, 0, 14, 0, 13, 0, 46, 0, 47, 0, 27, 0, 61, 0, 28, 0, 27, 0, 60, 0, 61, 0, 14, 0, 48, 0, 15, 0, 14, 0, 47, 0, 48, 0, 0, 0, 35, 0, 2, 0, 0, 0, 33, 0, 35, 0, 28, 0, 62, 0, 29, 0, 28, 0, 61, 0, 62, 0, 15, 0, 49, 0, 16, 0, 15, 0, 48, 0, 49, 0, 2, 0, 36, 0, 3, 0, 2, 0, 35, 0, 36, 0, 29, 0, 63, 0, 30, 0, 29, 0, 62, 0, 63, 0, 16, 0, 50, 0, 17, 0, 16, 0, 49, 0, 50, 0, 3, 0, 37, 0, 4, 0, 3, 0, 36, 0, 37, 0, 30, 0, 64, 0, 31, 0, 30, 0, 63, 0, 64, 0, 17, 0, 51, 0, 18, 0, 17, 0, 50, 0, 51, 0, 4, 0, 38, 0, 5, 0, 4, 0, 37, 0, 38, 0, 31, 0, 65, 0, 32, 0, 31, 0, 64, 0, 65, 0, 18, 0, 52, 0, 19, 0, 18, 0, 51, 0, 52, 0, 5, 0, 39, 0, 6, 0, 5, 0, 38, 0, 39, 0, 32, 0, 34, 0, 1, 0, 32, 0, 65, 0, 34, 0, 19, 0, 53, 0, 20, 0, 19, 0, 52, 0, 53, 0, 6, 0, 40, 0, 7, 0, 6, 0, 39, 0, 40, 0, 20, 0, 54, 0, 21, 0, 20, 0, 53, 0, 54, 0, 7, 0, 41, 0, 8, 0, 7, 0, 40, 0, 41, 0, 21, 0, 55, 0, 22, 0, 21, 0, 54, 0, 55, 0, 8, 0, 42, 0, 9, 0, 8, 0, 41, 0, 42, 0, 22, 0, 56, 0, 23, 0, 22, 0, 55, 0, 56, 0, 9, 0, 43, 0, 10, 0, 9, 0, 42, 0, 43, 0, 23, 0, 57, 0, 24, 0, 23, 0, 56, 0, 57, 0, 10, 0, 44, 0, 11, 0, 10, 0, 43, 0, 44, 0, 24, 0, 58, 0, 25, 0, 24, 0, 57, 0, 58, 0, 11, 0, 45, 0, 12, 0, 11, 0, 44, 0, 45, 0, 25, 0, 59, 0, 26, 0, 25, 0, 58, 0, 59, 0, 12, 0, 46, 0, 13, 0, 12, 0, 45, 0, 46, 0, 26, 0, 60, 0, 27, 0, 26, 0, 59, 0, 60, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +"index_data": PackedByteArray(2, 0, 10, 0, 5, 0, 2, 0, 7, 0, 10, 0, 7, 0, 14, 0, 10, 0, 7, 0, 11, 0, 14, 0, 11, 0, 18, 0, 14, 0, 11, 0, 15, 0, 18, 0, 15, 0, 22, 0, 18, 0, 15, 0, 19, 0, 22, 0, 19, 0, 26, 0, 22, 0, 19, 0, 23, 0, 26, 0, 23, 0, 30, 0, 26, 0, 23, 0, 27, 0, 30, 0, 27, 0, 34, 0, 30, 0, 27, 0, 31, 0, 34, 0, 31, 0, 38, 0, 34, 0, 31, 0, 35, 0, 38, 0, 35, 0, 42, 0, 38, 0, 35, 0, 39, 0, 42, 0, 39, 0, 46, 0, 42, 0, 39, 0, 43, 0, 46, 0, 43, 0, 50, 0, 46, 0, 43, 0, 47, 0, 50, 0, 47, 0, 54, 0, 50, 0, 47, 0, 51, 0, 54, 0, 51, 0, 58, 0, 54, 0, 51, 0, 55, 0, 58, 0, 55, 0, 62, 0, 58, 0, 55, 0, 59, 0, 62, 0, 59, 0, 66, 0, 62, 0, 59, 0, 63, 0, 66, 0, 63, 0, 70, 0, 66, 0, 63, 0, 67, 0, 70, 0, 67, 0, 73, 0, 70, 0, 67, 0, 72, 0, 73, 0, 72, 0, 77, 0, 73, 0, 72, 0, 76, 0, 77, 0, 76, 0, 81, 0, 77, 0, 76, 0, 80, 0, 81, 0, 80, 0, 85, 0, 81, 0, 80, 0, 84, 0, 85, 0, 84, 0, 89, 0, 85, 0, 84, 0, 88, 0, 89, 0, 88, 0, 93, 0, 89, 0, 88, 0, 92, 0, 93, 0, 92, 0, 97, 0, 93, 0, 92, 0, 96, 0, 97, 0, 96, 0, 101, 0, 97, 0, 96, 0, 100, 0, 101, 0, 100, 0, 105, 0, 101, 0, 100, 0, 104, 0, 105, 0, 104, 0, 109, 0, 105, 0, 104, 0, 108, 0, 109, 0, 108, 0, 113, 0, 109, 0, 108, 0, 112, 0, 113, 0, 112, 0, 117, 0, 113, 0, 112, 0, 116, 0, 117, 0, 116, 0, 121, 0, 117, 0, 116, 0, 120, 0, 121, 0, 120, 0, 125, 0, 121, 0, 120, 0, 124, 0, 125, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 126, 0, 118, 0, 122, 0, 118, 0, 110, 0, 114, 0, 110, 0, 102, 0, 106, 0, 102, 0, 94, 0, 98, 0, 94, 0, 86, 0, 90, 0, 86, 0, 78, 0, 82, 0, 78, 0, 69, 0, 74, 0, 69, 0, 61, 0, 65, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 110, 0, 94, 0, 102, 0, 94, 0, 78, 0, 86, 0, 78, 0, 61, 0, 69, 0, 61, 0, 45, 0, 53, 0, 45, 0, 29, 0, 37, 0, 29, 0, 13, 0, 21, 0, 13, 0, 110, 0, 126, 0, 110, 0, 78, 0, 94, 0, 78, 0, 45, 0, 61, 0, 45, 0, 13, 0, 29, 0, 13, 0, 78, 0, 110, 0, 78, 0, 13, 0, 45, 0, 124, 0, 129, 0, 125, 0, 124, 0, 128, 0, 129, 0, 128, 0, 6, 0, 129, 0, 128, 0, 3, 0, 6, 0, 103, 0, 158, 0, 107, 0, 103, 0, 157, 0, 158, 0, 16, 0, 136, 0, 20, 0, 16, 0, 135, 0, 136, 0, 52, 0, 145, 0, 56, 0, 52, 0, 144, 0, 145, 0, 87, 0, 154, 0, 91, 0, 87, 0, 153, 0, 154, 0, 123, 0, 163, 0, 127, 0, 123, 0, 162, 0, 163, 0, 36, 0, 141, 0, 40, 0, 36, 0, 140, 0, 141, 0, 71, 0, 150, 0, 75, 0, 71, 0, 149, 0, 150, 0, 107, 0, 159, 0, 111, 0, 107, 0, 158, 0, 159, 0, 20, 0, 137, 0, 24, 0, 20, 0, 136, 0, 137, 0, 56, 0, 146, 0, 60, 0, 56, 0, 145, 0, 146, 0, 91, 0, 155, 0, 95, 0, 91, 0, 154, 0, 155, 0, 0, 0, 133, 0, 8, 0, 0, 0, 131, 0, 133, 0, 127, 0, 132, 0, 1, 0, 127, 0, 163, 0, 132, 0, 40, 0, 142, 0, 44, 0, 40, 0, 141, 0, 142, 0, 75, 0, 151, 0, 79, 0, 75, 0, 150, 0, 151, 0, 111, 0, 160, 0, 115, 0, 111, 0, 159, 0, 160, 0, 24, 0, 138, 0, 28, 0, 24, 0, 137, 0, 138, 0, 60, 0, 147, 0, 64, 0, 60, 0, 146, 0, 147, 0, 95, 0, 156, 0, 99, 0, 95, 0, 155, 0, 156, 0, 8, 0, 134, 0, 12, 0, 8, 0, 133, 0, 134, 0, 44, 0, 143, 0, 48, 0, 44, 0, 142, 0, 143, 0, 79, 0, 152, 0, 83, 0, 79, 0, 151, 0, 152, 0, 115, 0, 161, 0, 119, 0, 115, 0, 160, 0, 161, 0, 28, 0, 139, 0, 32, 0, 28, 0, 138, 0, 139, 0, 64, 0, 148, 0, 68, 0, 64, 0, 147, 0, 148, 0, 99, 0, 157, 0, 103, 0, 99, 0, 156, 0, 157, 0, 12, 0, 135, 0, 16, 0, 12, 0, 134, 0, 135, 0, 48, 0, 144, 0, 52, 0, 48, 0, 143, 0, 144, 0, 83, 0, 153, 0, 87, 0, 83, 0, 152, 0, 153, 0, 119, 0, 162, 0, 123, 0, 119, 0, 161, 0, 162, 0, 32, 0, 140, 0, 36, 0, 32, 0, 139, 0, 140, 0, 68, 0, 149, 0, 71, 0, 68, 0, 148, 0, 149, 0, 180, 0, 219, 0, 181, 0, 180, 0, 218, 0, 219, 0, 167, 0, 200, 0, 168, 0, 167, 0, 20, 1, 200, 0, 194, 0, 34, 1, 195, 0, 194, 0, 237, 0, 34, 1, 181, 0, 221, 0, 182, 0, 181, 0, 219, 0, 221, 0, 168, 0, 202, 0, 169, 0, 168, 0, 200, 0, 202, 0, 195, 0, 239, 0, 196, 0, 195, 0, 34, 1, 239, 0, 182, 0, 223, 0, 183, 0, 182, 0, 221, 0, 223, 0, 169, 0, 204, 0, 170, 0, 169, 0, 202, 0, 204, 0, 196, 0, 28, 1, 165, 0, 196, 0, 239, 0, 28, 1, 183, 0, 225, 0, 184, 0, 183, 0, 223, 0, 225, 0, 170, 0, 10, 1, 171, 0, 170, 0, 204, 0, 10, 1, 184, 0, 62, 1, 185, 0, 184, 0, 225, 0, 62, 1, 171, 0, 206, 0, 172, 0, 171, 0, 10, 1, 206, 0, 185, 0, 227, 0, 186, 0, 185, 0, 62, 1, 227, 0, 172, 0, 4, 1, 173, 0, 172, 0, 206, 0, 4, 1, 186, 0, 56, 1, 187, 0, 186, 0, 227, 0, 56, 1, 173, 0, 208, 0, 174, 0, 173, 0, 4, 1, 208, 0, 187, 0, 229, 0, 188, 0, 187, 0, 56, 1, 229, 0, 174, 0, 254, 0, 175, 0, 174, 0, 208, 0, 254, 0, 188, 0, 50, 1, 189, 0, 188, 0, 229, 0, 50, 1, 175, 0, 210, 0, 176, 0, 175, 0, 254, 0, 210, 0, 189, 0, 231, 0, 190, 0, 189, 0, 50, 1, 231, 0, 176, 0, 212, 0, 177, 0, 176, 0, 210, 0, 212, 0, 190, 0, 44, 1, 191, 0, 190, 0, 231, 0, 44, 1, 177, 0, 214, 0, 178, 0, 177, 0, 212, 0, 214, 0, 191, 0, 233, 0, 192, 0, 191, 0, 44, 1, 233, 0, 178, 0, 216, 0, 179, 0, 178, 0, 214, 0, 216, 0, 164, 0, 198, 0, 166, 0, 164, 0, 27, 1, 198, 0, 192, 0, 235, 0, 193, 0, 192, 0, 233, 0, 235, 0, 179, 0, 218, 0, 180, 0, 179, 0, 216, 0, 218, 0, 166, 0, 20, 1, 167, 0, 166, 0, 198, 0, 20, 1, 193, 0, 237, 0, 194, 0, 193, 0, 235, 0, 237, 0, 220, 0, 244, 0, 242, 0, 220, 0, 217, 0, 244, 0, 217, 0, 246, 0, 244, 0, 217, 0, 215, 0, 246, 0, 215, 0, 248, 0, 246, 0, 215, 0, 213, 0, 248, 0, 213, 0, 250, 0, 248, 0, 213, 0, 211, 0, 250, 0, 211, 0, 252, 0, 250, 0, 211, 0, 209, 0, 252, 0, 209, 0, 0, 1, 252, 0, 209, 0, 253, 0, 0, 1, 253, 0, 2, 1, 0, 1, 253, 0, 207, 0, 2, 1, 207, 0, 6, 1, 2, 1, 207, 0, 3, 1, 6, 1, 3, 1, 8, 1, 6, 1, 3, 1, 205, 0, 8, 1, 205, 0, 12, 1, 8, 1, 205, 0, 9, 1, 12, 1, 9, 1, 14, 1, 12, 1, 9, 1, 203, 0, 14, 1, 203, 0, 16, 1, 14, 1, 203, 0, 201, 0, 16, 1, 201, 0, 18, 1, 16, 1, 201, 0, 199, 0, 18, 1, 199, 0, 22, 1, 18, 1, 199, 0, 19, 1, 22, 1, 19, 1, 24, 1, 22, 1, 19, 1, 197, 0, 24, 1, 197, 0, 30, 1, 24, 1, 197, 0, 25, 1, 30, 1, 26, 1, 32, 1, 31, 1, 26, 1, 240, 0, 32, 1, 240, 0, 36, 1, 32, 1, 240, 0, 35, 1, 36, 1, 35, 1, 38, 1, 36, 1, 35, 1, 238, 0, 38, 1, 238, 0, 40, 1, 38, 1, 238, 0, 236, 0, 40, 1, 236, 0, 42, 1, 40, 1, 236, 0, 234, 0, 42, 1, 234, 0, 46, 1, 42, 1, 234, 0, 45, 1, 46, 1, 45, 1, 48, 1, 46, 1, 45, 1, 232, 0, 48, 1, 232, 0, 52, 1, 48, 1, 232, 0, 51, 1, 52, 1, 51, 1, 54, 1, 52, 1, 51, 1, 230, 0, 54, 1, 230, 0, 58, 1, 54, 1, 230, 0, 57, 1, 58, 1, 57, 1, 60, 1, 58, 1, 57, 1, 228, 0, 60, 1, 228, 0, 64, 1, 60, 1, 228, 0, 63, 1, 64, 1, 63, 1, 66, 1, 64, 1, 63, 1, 226, 0, 66, 1, 226, 0, 68, 1, 66, 1, 226, 0, 224, 0, 68, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 69, 1, 65, 1, 67, 1, 65, 1, 59, 1, 61, 1, 59, 1, 53, 1, 55, 1, 53, 1, 47, 1, 49, 1, 47, 1, 41, 1, 43, 1, 41, 1, 37, 1, 39, 1, 37, 1, 29, 1, 33, 1, 29, 1, 21, 1, 23, 1, 21, 1, 15, 1, 17, 1, 15, 1, 11, 1, 13, 1, 11, 1, 5, 1, 7, 1, 5, 1, 255, 0, 1, 1, 255, 0, 249, 0, 251, 0, 249, 0, 245, 0, 247, 0, 245, 0, 69, 1, 241, 0, 69, 1, 59, 1, 65, 1, 59, 1, 47, 1, 53, 1, 47, 1, 37, 1, 41, 1, 37, 1, 21, 1, 29, 1, 21, 1, 11, 1, 15, 1, 11, 1, 255, 0, 5, 1, 255, 0, 245, 0, 249, 0, 245, 0, 59, 1, 69, 1, 59, 1, 37, 1, 47, 1, 37, 1, 11, 1, 21, 1, 11, 1, 245, 0, 255, 0, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 224, 0, 70, 1, 68, 1, 224, 0, 222, 0, 70, 1, 222, 0, 242, 0, 70, 1, 222, 0, 220, 0, 242, 0), +"lods": [0.123754, PackedByteArray(206, 1, 10, 0, 5, 0, 206, 1, 210, 1, 10, 0, 206, 1, 131, 0, 210, 1, 210, 1, 14, 0, 10, 0, 210, 1, 211, 1, 212, 1, 210, 1, 212, 1, 213, 1, 210, 1, 213, 1, 14, 0, 213, 1, 22, 0, 14, 0, 213, 1, 30, 0, 22, 0, 213, 1, 208, 1, 30, 0, 213, 1, 214, 1, 215, 1, 213, 1, 215, 1, 216, 1, 213, 1, 216, 1, 217, 1, 213, 1, 217, 1, 218, 1, 213, 1, 218, 1, 208, 1, 218, 1, 46, 0, 208, 1, 218, 1, 54, 0, 46, 0, 218, 1, 219, 1, 220, 1, 218, 1, 220, 1, 221, 1, 218, 1, 221, 1, 54, 0, 54, 0, 221, 1, 222, 1, 54, 0, 222, 1, 223, 1, 54, 0, 223, 1, 225, 1, 225, 1, 223, 1, 224, 1, 54, 0, 225, 1, 62, 0, 225, 1, 70, 0, 62, 0, 225, 1, 73, 0, 70, 0, 225, 1, 226, 1, 73, 0, 226, 1, 77, 0, 73, 0, 226, 1, 228, 1, 77, 0, 226, 1, 227, 1, 228, 1, 228, 1, 209, 1, 77, 0, 228, 1, 230, 1, 209, 1, 228, 1, 229, 1, 230, 1, 230, 1, 231, 1, 209, 1, 231, 1, 93, 0, 209, 1, 231, 1, 101, 0, 93, 0, 231, 1, 232, 1, 233, 1, 231, 1, 233, 1, 234, 1, 231, 1, 234, 1, 235, 1, 231, 1, 235, 1, 101, 0, 235, 1, 109, 0, 101, 0, 235, 1, 117, 0, 109, 0, 235, 1, 236, 1, 237, 1, 235, 1, 237, 1, 238, 1, 235, 1, 238, 1, 239, 1, 235, 1, 239, 1, 117, 0, 239, 1, 125, 0, 117, 0, 239, 1, 129, 0, 125, 0, 239, 1, 207, 1, 129, 0, 207, 1, 6, 0, 129, 0, 239, 1, 163, 0, 207, 1, 207, 1, 163, 0, 132, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 13, 0, 110, 0, 126, 0, 110, 0, 94, 0, 102, 0, 110, 0, 78, 0, 94, 0, 13, 0, 78, 0, 110, 0, 94, 0, 78, 0, 86, 0, 78, 0, 69, 0, 74, 0, 78, 0, 61, 0, 69, 0, 78, 0, 45, 0, 61, 0, 78, 0, 13, 0, 45, 0, 61, 0, 45, 0, 53, 0, 45, 0, 13, 0, 29, 0, 29, 0, 13, 0, 21, 0, 45, 0, 29, 0, 37, 0, 255, 1, 254, 1, 0, 2, 252, 1, 254, 1, 253, 1, 251, 1, 254, 1, 252, 1, 250, 1, 254, 1, 251, 1, 250, 1, 247, 1, 254, 1, 249, 1, 247, 1, 250, 1, 248, 1, 247, 1, 249, 1, 245, 1, 247, 1, 246, 1, 244, 1, 247, 1, 245, 1, 244, 1, 242, 1, 247, 1, 243, 1, 242, 1, 244, 1, 247, 1, 6, 1, 0, 1, 247, 1, 16, 2, 6, 1, 247, 1, 0, 1, 15, 2, 242, 1, 16, 1, 16, 2, 242, 1, 22, 1, 16, 1, 173, 0, 168, 0, 16, 2, 180, 0, 173, 0, 15, 2, 242, 1, 17, 2, 22, 1, 17, 2, 30, 1, 22, 1, 240, 1, 17, 2, 168, 0, 240, 1, 242, 1, 241, 1, 164, 0, 17, 2, 240, 1, 254, 1, 15, 2, 246, 0, 254, 1, 246, 0, 244, 0, 254, 1, 244, 0, 242, 0, 254, 1, 242, 0, 70, 1, 0, 2, 254, 1, 70, 1, 0, 2, 70, 1, 68, 1, 0, 2, 68, 1, 66, 1, 5, 2, 0, 2, 66, 1, 5, 2, 66, 1, 64, 1, 5, 2, 64, 1, 60, 1, 5, 2, 60, 1, 58, 1, 5, 2, 58, 1, 54, 1, 1, 2, 0, 2, 2, 2, 2, 2, 0, 2, 5, 2, 2, 2, 5, 2, 3, 2, 3, 2, 5, 2, 4, 2, 9, 2, 5, 2, 54, 1, 6, 2, 5, 2, 9, 2, 9, 2, 54, 1, 52, 1, 6, 2, 9, 2, 7, 2, 7, 2, 9, 2, 8, 2, 9, 2, 52, 1, 48, 1, 9, 2, 48, 1, 46, 1, 9, 2, 46, 1, 42, 1, 10, 2, 9, 2, 42, 1, 10, 2, 42, 1, 40, 1, 12, 2, 10, 2, 40, 1, 11, 2, 10, 2, 12, 2, 12, 2, 40, 1, 38, 1, 12, 2, 38, 1, 36, 1, 14, 2, 12, 2, 36, 1, 13, 2, 12, 2, 14, 2, 14, 2, 36, 1, 32, 1, 18, 2, 14, 2, 32, 1, 14, 2, 18, 2, 165, 0, 18, 2, 32, 1, 31, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 245, 0, 69, 1, 241, 0, 69, 1, 65, 1, 67, 1, 69, 1, 59, 1, 65, 1, 245, 0, 59, 1, 69, 1, 65, 1, 59, 1, 61, 1, 255, 0, 245, 0, 249, 0, 11, 1, 245, 0, 255, 0, 11, 1, 255, 0, 5, 1, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 21, 1, 11, 1, 15, 1, 37, 1, 11, 1, 21, 1, 37, 1, 21, 1, 29, 1, 37, 1, 29, 1, 33, 1, 59, 1, 53, 1, 55, 1, 59, 1, 47, 1, 53, 1, 59, 1, 37, 1, 47, 1, 53, 1, 47, 1, 49, 1, 47, 1, 37, 1, 41, 1, 41, 1, 37, 1, 39, 1, 47, 1, 41, 1, 43, 1), 0.154965, PackedByteArray(142, 1, 14, 0, 5, 0, 142, 1, 149, 1, 14, 0, 142, 1, 131, 0, 149, 1, 149, 1, 152, 1, 14, 0, 149, 1, 151, 1, 152, 1, 149, 1, 150, 1, 151, 1, 153, 1, 145, 1, 144, 1, 153, 1, 155, 1, 156, 1, 154, 1, 156, 1, 145, 1, 145, 1, 156, 1, 157, 1, 162, 1, 147, 1, 145, 1, 146, 1, 157, 1, 158, 1, 158, 1, 161, 1, 146, 1, 158, 1, 160, 1, 161, 1, 158, 1, 159, 1, 160, 1, 161, 1, 164, 1, 165, 1, 163, 1, 165, 1, 147, 1, 147, 1, 165, 1, 166, 1, 166, 1, 167, 1, 77, 0, 167, 1, 93, 0, 147, 1, 167, 1, 169, 1, 93, 0, 167, 1, 168, 1, 169, 1, 169, 1, 148, 1, 93, 0, 169, 1, 173, 1, 148, 1, 169, 1, 170, 1, 171, 1, 169, 1, 171, 1, 172, 1, 169, 1, 172, 1, 174, 1, 174, 1, 125, 0, 148, 1, 173, 1, 176, 1, 125, 0, 173, 1, 175, 1, 176, 1, 176, 1, 143, 1, 125, 0, 143, 1, 6, 0, 125, 0, 143, 1, 176, 1, 132, 0, 13, 0, 126, 0, 4, 0, 13, 0, 110, 0, 126, 0, 13, 0, 78, 0, 110, 0, 110, 0, 78, 0, 94, 0, 78, 0, 13, 0, 45, 0, 196, 0, 203, 1, 165, 0, 203, 1, 196, 0, 36, 1, 203, 1, 36, 1, 31, 1, 196, 0, 197, 1, 36, 1, 197, 1, 46, 1, 36, 1, 197, 1, 195, 1, 46, 1, 196, 1, 195, 1, 197, 1, 195, 1, 194, 1, 46, 1, 194, 1, 204, 1, 46, 1, 192, 1, 194, 1, 193, 1, 192, 1, 191, 1, 194, 1, 194, 1, 191, 1, 204, 1, 191, 1, 188, 1, 204, 1, 189, 1, 188, 1, 191, 1, 189, 1, 191, 1, 190, 1, 188, 1, 181, 0, 199, 1, 187, 1, 199, 1, 181, 0, 188, 1, 198, 1, 205, 1, 187, 1, 185, 1, 198, 1, 186, 1, 185, 1, 187, 1, 185, 1, 183, 1, 198, 1, 184, 1, 183, 1, 185, 1, 198, 1, 183, 1, 200, 1, 179, 1, 22, 1, 200, 1, 179, 1, 202, 1, 22, 1, 202, 1, 30, 1, 22, 1, 164, 0, 202, 1, 177, 1, 177, 1, 202, 1, 180, 1, 177, 1, 179, 1, 178, 1, 181, 1, 179, 1, 182, 1, 182, 1, 179, 1, 201, 1, 173, 0, 182, 1, 201, 1, 37, 1, 21, 1, 29, 1, 37, 1, 11, 1, 21, 1, 37, 1, 241, 0, 11, 1, 241, 0, 37, 1, 59, 1, 59, 1, 37, 1, 47, 1), 0.466953, PackedByteArray(99, 1, 101, 1, 5, 0, 99, 1, 134, 0, 101, 1, 99, 1, 131, 0, 134, 0, 134, 0, 108, 1, 101, 1, 101, 1, 108, 1, 109, 1, 109, 1, 110, 1, 102, 1, 110, 1, 103, 1, 102, 1, 110, 1, 112, 1, 106, 1, 112, 1, 113, 1, 114, 1, 114, 1, 107, 1, 106, 1, 100, 1, 6, 0, 107, 1, 115, 1, 100, 1, 107, 1, 100, 1, 115, 1, 132, 0, 111, 1, 105, 1, 104, 1, 152, 0, 161, 0, 105, 1, 13, 0, 126, 0, 4, 0, 13, 0, 94, 0, 126, 0, 13, 0, 78, 0, 94, 0, 127, 1, 134, 1, 165, 0, 127, 1, 126, 1, 138, 1, 126, 1, 125, 1, 139, 1, 125, 1, 140, 1, 138, 1, 125, 1, 124, 1, 141, 1, 124, 1, 122, 1, 140, 1, 122, 1, 129, 1, 140, 1, 135, 1, 138, 1, 137, 1, 135, 1, 128, 1, 138, 1, 121, 1, 119, 1, 129, 1, 129, 1, 119, 1, 131, 1, 123, 1, 121, 1, 130, 1, 133, 1, 136, 1, 131, 1, 117, 1, 133, 1, 131, 1, 116, 1, 133, 1, 117, 1, 164, 0, 133, 1, 116, 1, 120, 1, 118, 1, 132, 1, 47, 1, 11, 1, 29, 1, 47, 1, 241, 0, 11, 1, 241, 0, 47, 1, 59, 1), 0.972276, PackedByteArray(72, 1, 14, 0, 5, 0, 72, 1, 134, 0, 14, 0, 72, 1, 131, 0, 134, 0, 76, 1, 134, 0, 152, 0, 79, 1, 81, 1, 77, 1, 13, 0, 94, 0, 4, 0, 82, 1, 73, 1, 78, 1, 73, 1, 74, 1, 78, 1, 75, 1, 80, 1, 78, 1, 1, 0, 83, 1, 132, 0, 88, 1, 94, 1, 85, 1, 84, 1, 92, 1, 86, 1, 87, 1, 93, 1, 91, 1, 93, 1, 96, 1, 91, 1, 89, 1, 91, 1, 98, 1, 95, 1, 98, 1, 97, 1, 26, 1, 189, 0, 46, 1, 47, 1, 241, 0, 29, 1, 90, 1, 179, 0, 242, 0)], +"material": SubResource("StandardMaterial3D_xtwro"), +"primitive": 3, +"vertex_count": 531, +"vertex_data": PackedByteArray(0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 63, 66, 250, 66, 186, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 63, 133, 244, 221, 194, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 0, 0, 0, 0, 216, 156, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 255, 63, 66, 250, 66, 186, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 255, 63, 133, 244, 221, 194, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 121, 139, 44, 69, 254, 255, 157, 202, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 59, 149, 255, 127, 255, 255, 97, 181, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 255, 127, 0, 0, 0, 0, 216, 156, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 121, 139, 44, 69, 254, 255, 157, 202, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 59, 149, 129, 72, 254, 255, 189, 210, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 0, 0, 216, 156, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 59, 149, 129, 72, 254, 255, 189, 210, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 201, 157, 96, 74, 254, 255, 92, 166, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 255, 127, 0, 0, 0, 0, 217, 156, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 201, 157, 96, 74, 254, 255, 92, 166, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 124, 165, 250, 74, 254, 255, 255, 159, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 255, 127, 0, 0, 0, 0, 216, 156, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 124, 165, 250, 74, 254, 255, 255, 159, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 149, 172, 96, 74, 254, 255, 161, 153, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 255, 127, 0, 0, 0, 0, 217, 156, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 149, 172, 96, 74, 254, 255, 161, 153, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 68, 179, 129, 72, 254, 255, 190, 146, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 255, 127, 0, 0, 0, 0, 216, 156, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 68, 179, 129, 72, 254, 255, 190, 146, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 177, 185, 44, 69, 255, 255, 157, 138, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 255, 127, 0, 0, 0, 0, 216, 156, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 177, 185, 44, 69, 255, 255, 96, 245, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 255, 191, 255, 63, 254, 255, 254, 255, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 254, 255, 255, 127, 255, 255, 255, 255, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 255, 127, 0, 0, 0, 0, 216, 156, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 255, 191, 255, 63, 254, 255, 254, 255, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 43, 197, 178, 57, 0, 0, 96, 245, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 255, 127, 0, 0, 0, 0, 216, 156, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 43, 197, 178, 57, 0, 0, 96, 245, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 128, 200, 68, 51, 0, 0, 64, 237, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 254, 255, 124, 165, 0, 0, 64, 237, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 255, 127, 0, 0, 0, 0, 216, 156, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 128, 200, 68, 51, 0, 0, 64, 237, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 95, 202, 149, 44, 0, 0, 161, 153, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 254, 255, 68, 179, 0, 0, 92, 230, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 255, 127, 0, 0, 0, 0, 216, 156, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 95, 202, 149, 44, 0, 0, 161, 153, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 250, 202, 125, 37, 0, 0, 255, 223, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 223, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 255, 127, 0, 0, 0, 0, 216, 156, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 250, 202, 125, 37, 0, 0, 255, 159, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 95, 202, 202, 29, 0, 0, 92, 166, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 254, 255, 68, 51, 0, 0, 92, 166, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 255, 127, 0, 0, 0, 0, 216, 156, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 95, 202, 202, 29, 0, 0, 92, 166, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 128, 200, 60, 21, 0, 0, 64, 173, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 0, 0, 216, 156, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 128, 200, 60, 21, 0, 0, 64, 173, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 43, 197, 121, 11, 0, 0, 97, 181, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 254, 255, 60, 21, 0, 0, 97, 181, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 255, 127, 0, 0, 0, 0, 216, 156, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 43, 197, 121, 11, 0, 0, 97, 181, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 255, 63, 0, 0, 0, 0, 255, 191, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 255, 127, 0, 0, 0, 0, 216, 156, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 255, 63, 0, 0, 0, 0, 255, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 211, 58, 121, 11, 60, 21, 255, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 211, 58, 121, 11, 60, 21, 255, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 255, 127, 0, 0, 0, 0, 217, 156, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 126, 55, 60, 21, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 126, 55, 60, 21, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 0, 0, 216, 156, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 159, 53, 202, 29, 68, 51, 255, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 159, 53, 202, 29, 68, 51, 255, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 255, 127, 0, 0, 0, 0, 216, 156, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 4, 53, 125, 37, 255, 63, 255, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 4, 53, 125, 37, 255, 63, 255, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 255, 127, 0, 0, 0, 0, 216, 156, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 159, 53, 149, 44, 186, 76, 255, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 159, 53, 149, 44, 186, 76, 255, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 255, 127, 0, 0, 0, 0, 217, 156, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 126, 55, 68, 51, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 126, 55, 68, 51, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 255, 127, 0, 0, 0, 0, 216, 156, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 211, 58, 178, 57, 195, 106, 255, 191, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 211, 58, 178, 57, 195, 106, 255, 191, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 255, 127, 0, 0, 0, 0, 216, 156, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 255, 63, 255, 63, 255, 127, 255, 191, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 255, 63, 255, 63, 255, 127, 255, 191, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 255, 127, 0, 0, 0, 0, 216, 156, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 77, 70, 44, 69, 59, 149, 255, 191, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 77, 70, 44, 69, 59, 149, 255, 191, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 255, 127, 0, 0, 0, 0, 216, 156, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 186, 76, 129, 72, 124, 165, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 186, 76, 129, 72, 124, 165, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 255, 127, 0, 0, 0, 0, 216, 156, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 105, 83, 96, 74, 68, 179, 255, 191, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 105, 83, 96, 74, 68, 179, 255, 191, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 255, 127, 0, 0, 0, 0, 216, 156, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 130, 90, 250, 74, 255, 191, 255, 191, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 130, 90, 250, 74, 255, 191, 255, 191, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 255, 127, 0, 0, 0, 0, 216, 156, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 53, 98, 96, 74, 186, 204, 255, 191, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 53, 98, 96, 74, 186, 204, 255, 191, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 255, 127, 0, 0, 0, 0, 216, 156, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 195, 106, 129, 72, 129, 218, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 195, 106, 129, 72, 129, 218, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 255, 127, 0, 0, 0, 0, 216, 156, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 133, 116, 44, 69, 194, 234, 255, 191, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 133, 116, 44, 69, 194, 234, 255, 191, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 255, 127, 0, 0, 0, 0, 216, 156, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 59, 149, 255, 127, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 254, 255, 255, 127, 0, 0, 255, 255, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 254, 255, 68, 51, 0, 0, 161, 217, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 254, 255, 60, 21, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 59, 149, 255, 127, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 254, 255, 255, 127, 0, 0, 255, 127, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 255, 255, 186, 76, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 255, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 121, 139, 210, 186, 254, 255, 157, 202, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 59, 149, 255, 127, 255, 255, 157, 202, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 201, 157, 158, 181, 254, 255, 161, 217, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 124, 165, 4, 181, 254, 255, 255, 223, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 149, 172, 158, 181, 255, 255, 161, 153, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 92, 230, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 177, 185, 210, 186, 254, 255, 157, 138, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 43, 197, 76, 198, 0, 0, 157, 138, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 95, 202, 105, 211, 0, 0, 161, 153, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 250, 202, 129, 218, 0, 0, 255, 223, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 255, 255, 255, 191, 0, 0, 255, 223, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 95, 202, 52, 226, 0, 0, 161, 217, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 128, 200, 194, 234, 0, 0, 189, 210, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 43, 197, 133, 244, 0, 0, 157, 202, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 255, 191, 254, 255, 0, 0, 255, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 211, 58, 133, 244, 60, 21, 255, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 0, 0, 129, 218, 125, 37, 255, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 126, 55, 194, 234, 125, 37, 255, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 0, 0, 186, 204, 68, 51, 255, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 159, 53, 52, 226, 68, 51, 255, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 159, 53, 105, 211, 186, 76, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 211, 58, 76, 198, 195, 106, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 77, 70, 210, 186, 59, 149, 255, 191, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 105, 83, 158, 181, 68, 179, 255, 191, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 130, 90, 4, 181, 255, 191, 255, 191, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 53, 98, 158, 181, 186, 204, 255, 191, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 133, 116, 210, 186, 194, 234, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 255, 191, 254, 255, 0, 0, 255, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 255, 127, 254, 255, 106, 83, 255, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 43, 197, 133, 244, 0, 0, 157, 202, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 255, 127, 254, 255, 105, 83, 255, 191, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 128, 200, 194, 234, 0, 0, 64, 173, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 255, 127, 254, 255, 104, 83, 255, 191, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 95, 202, 52, 226, 0, 0, 161, 217, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 255, 127, 254, 255, 105, 83, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 250, 202, 129, 218, 0, 0, 255, 223, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 255, 127, 254, 255, 106, 83, 255, 191, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 95, 202, 105, 211, 0, 0, 161, 153, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 128, 200, 186, 204, 0, 0, 190, 146, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 254, 255, 124, 165, 0, 0, 64, 237, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 255, 127, 254, 255, 105, 83, 255, 191, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 128, 200, 186, 204, 0, 0, 190, 146, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 43, 197, 76, 198, 0, 0, 157, 138, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 255, 191, 255, 191, 0, 0, 255, 255, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 254, 255, 255, 127, 255, 255, 255, 127, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 255, 127, 254, 255, 105, 83, 255, 191, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 255, 191, 255, 191, 0, 0, 254, 255, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 177, 185, 210, 186, 254, 255, 157, 138, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 68, 179, 125, 183, 255, 255, 64, 237, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 255, 127, 254, 255, 105, 83, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 68, 179, 125, 183, 254, 255, 64, 237, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 255, 127, 254, 255, 105, 83, 255, 191, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 149, 172, 158, 181, 255, 255, 92, 230, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 255, 127, 254, 255, 105, 83, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 124, 165, 4, 181, 254, 255, 255, 223, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 255, 127, 254, 255, 105, 83, 255, 191, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 201, 157, 158, 181, 254, 255, 161, 217, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 59, 149, 125, 183, 254, 255, 189, 210, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 255, 127, 254, 255, 105, 83, 255, 191, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 59, 149, 125, 183, 254, 255, 189, 210, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 255, 127, 254, 255, 104, 83, 255, 191, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 121, 139, 210, 186, 254, 255, 157, 202, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 191, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 191, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 254, 255, 105, 83, 255, 191, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 255, 191, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 255, 191, 133, 244, 32, 189, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 133, 116, 210, 186, 194, 234, 255, 191, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 255, 127, 254, 255, 103, 83, 255, 191, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 195, 106, 125, 183, 129, 218, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 195, 106, 125, 183, 129, 218, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 255, 127, 254, 255, 105, 83, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 53, 98, 158, 181, 186, 204, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 255, 127, 254, 255, 106, 83, 255, 191, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 130, 90, 4, 181, 255, 191, 255, 191, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 255, 127, 254, 255, 105, 83, 255, 191, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 105, 83, 158, 181, 68, 179, 255, 191, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 255, 127, 254, 255, 105, 83, 255, 191, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 186, 76, 125, 183, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 186, 76, 125, 183, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 77, 70, 210, 186, 59, 149, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 255, 63, 255, 191, 255, 127, 255, 191, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 255, 63, 255, 191, 255, 127, 255, 191, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 211, 58, 76, 198, 195, 106, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 255, 127, 254, 255, 105, 83, 255, 191, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 126, 55, 186, 204, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 126, 55, 186, 204, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 255, 127, 254, 255, 105, 83, 255, 191, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 159, 53, 105, 211, 186, 76, 255, 191, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 255, 127, 254, 255, 105, 83, 255, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 4, 53, 129, 218, 255, 63, 255, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 4, 53, 129, 218, 255, 63, 255, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 255, 127, 254, 255, 105, 83, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 159, 53, 52, 226, 68, 51, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 255, 127, 254, 255, 105, 83, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 126, 55, 194, 234, 125, 37, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 255, 127, 254, 255, 105, 83, 255, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 211, 58, 133, 244, 60, 21, 255, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 162, 138, 118, 93, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 224, 122, 31, 26, 255, 255, 255, 191, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 29, 126, 130, 29, 133, 244, 221, 194, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 254, 255, 189, 210, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 9, 213, 212, 99, 254, 255, 189, 210, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 85, 38, 105, 63, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 74, 126, 87, 5, 130, 90, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 25, 9, 244, 80, 255, 63, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 255, 127, 0, 0, 255, 63, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 178, 10, 50, 100, 59, 149, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 152, 107, 198, 27, 59, 149, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 176, 81, 255, 127, 59, 149, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 195, 190, 255, 127, 255, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 139, 90, 255, 127, 255, 255, 255, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 123, 203, 255, 127, 0, 0, 189, 210, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 101, 138, 118, 253, 0, 0, 189, 210, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 230, 75, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 223, 114, 236, 243, 255, 127, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 204, 59, 255, 127, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 250, 150, 159, 225, 0, 0, 255, 191, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 43, 192, 255, 127, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 153, 232, 210, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 20, 89, 255, 127, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 105, 122, 121, 206, 133, 244, 32, 189, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 61, 171, 45, 183, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 238, 124, 201, 225, 133, 244, 32, 189, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 162, 125, 63, 245, 124, 165, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 39, 140, 234, 88, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 77, 114, 34, 90, 255, 255, 255, 191, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 168, 152, 43, 73, 254, 255, 189, 210, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 254, 255, 189, 210, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 0, 0, 45, 44, 125, 37, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 0, 0, 14, 78, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 151, 95, 121, 16, 130, 90, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 50, 115, 207, 56, 129, 218, 255, 191, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 115, 177, 14, 88, 255, 255, 190, 146, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 87, 155, 232, 35, 0, 0, 255, 255, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 70, 98, 59, 11, 0, 0, 255, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 201, 44, 0, 0, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 167, 82, 221, 19, 255, 63, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 255, 127, 0, 0, 59, 149, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 190, 121, 108, 13, 186, 204, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 16, 100, 169, 113, 186, 204, 255, 191, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 86, 152, 67, 155, 255, 255, 64, 173, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 180, 166, 66, 172, 255, 255, 92, 230, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 242, 226, 167, 139, 255, 255, 92, 230, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 253, 170, 84, 237, 0, 0, 64, 237, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 102, 243, 161, 136, 0, 0, 64, 237, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 64, 224, 187, 235, 0, 0, 189, 210, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 189, 51, 163, 226, 125, 37, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 192, 12, 227, 247, 125, 37, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 222, 19, 160, 192, 255, 63, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 19, 26, 149, 155, 255, 127, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 254, 63, 2, 147, 255, 191, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 87, 102, 229, 149, 194, 234, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 34, 113, 160, 180, 194, 234, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 116, 162, 247, 251, 0, 0, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 79, 225, 194, 254, 0, 0, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 43, 147, 207, 220, 254, 255, 64, 237, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 123, 205, 208, 163, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 173, 145, 167, 178, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 28, 120, 255, 127, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 138, 120, 215, 213, 133, 244, 32, 189, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 38, 131, 133, 219, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 135, 126, 17, 247, 133, 244, 32, 189, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 23, 99, 98, 207, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 42, 54, 242, 153, 124, 165, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 4, 70, 139, 219, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 77, 11, 33, 174, 130, 90, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 49, 135, 183, 93, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 119, 111, 184, 98, 255, 255, 255, 191, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 253, 136, 78, 16, 254, 255, 189, 210, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 204, 163, 54, 38, 0, 0, 64, 237, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 223, 214, 111, 58, 0, 0, 64, 237, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 224, 65, 157, 13, 125, 37, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 65, 63, 17, 75, 124, 165, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 137, 150, 79, 97, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 134, 148, 37, 72, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 9, 155, 156, 73, 255, 255, 92, 166, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 29, 165, 129, 94, 255, 255, 161, 153, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 165, 2, 55, 255, 255, 161, 153, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 245, 190, 80, 83, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 3, 179, 108, 72, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 74, 193, 104, 78, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 118, 219, 170, 81, 0, 0, 255, 255, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 237, 217, 73, 56, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 97, 202, 191, 43, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 155, 202, 189, 39, 0, 0, 255, 223, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 98, 213, 136, 36, 0, 0, 64, 173, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 178, 138, 193, 0, 0, 0, 64, 173, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 206, 220, 7, 9, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 160, 197, 10, 13, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 248, 209, 49, 1, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 208, 26, 116, 20, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 28, 35, 141, 34, 125, 37, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 61, 53, 155, 35, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 14, 48, 113, 57, 186, 76, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 178, 57, 117, 55, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 45, 59, 144, 57, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 225, 70, 3, 59, 59, 149, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 203, 67, 62, 98, 68, 179, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 60, 84, 187, 66, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 121, 90, 234, 74, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 101, 92, 84, 102, 186, 204, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 239, 147, 39, 151, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 23, 152, 249, 182, 255, 255, 64, 173, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 154, 169, 233, 168, 255, 255, 255, 159, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 39, 162, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 153, 172, 220, 181, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 168, 194, 162, 158, 255, 255, 190, 146, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 1, 177, 32, 219, 0, 0, 255, 127, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 54, 200, 103, 204, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 230, 201, 77, 216, 0, 0, 161, 153, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 69, 202, 239, 224, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 41, 221, 201, 228, 0, 0, 189, 210, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 64, 44, 185, 227, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 156, 53, 17, 224, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 53, 53, 225, 218, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 141, 42, 185, 203, 186, 76, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 158, 61, 52, 195, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 167, 63, 142, 192, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 146, 46, 64, 170, 59, 149, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 43, 75, 232, 163, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 78, 92, 62, 181, 255, 191, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 88, 93, 179, 165, 129, 218, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 139, 162, 188, 249, 0, 0, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 227, 45, 61, 255, 0, 0, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 203, 151, 4, 215, 254, 255, 64, 237, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 60, 194, 113, 163, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 78, 144, 66, 156, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 200, 118, 192, 165, 133, 244, 32, 189, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 36, 45, 173, 194, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 169, 85, 208, 239, 130, 90, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 24, 133, 199, 86, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 124, 118, 231, 101, 255, 255, 255, 191, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 16, 202, 119, 83, 254, 255, 254, 255, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 23, 39, 125, 47, 255, 63, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 107, 146, 106, 90, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 205, 147, 250, 71, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 69, 150, 159, 72, 255, 255, 92, 166, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 112, 178, 124, 88, 255, 255, 255, 159, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 168, 171, 101, 74, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 53, 175, 116, 73, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 201, 179, 238, 71, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 180, 184, 31, 69, 0, 0, 255, 255, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 56, 213, 128, 68, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 152, 200, 186, 50, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 38, 201, 200, 48, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 236, 227, 231, 54, 0, 0, 255, 223, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 203, 233, 118, 45, 0, 0, 161, 217, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 194, 211, 10, 26, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 110, 197, 160, 12, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 230, 208, 17, 9, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 107, 30, 44, 20, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 120, 55, 181, 21, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 254, 34, 233, 36, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 32, 53, 135, 37, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 188, 26, 129, 55, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 2, 41, 131, 68, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 248, 58, 114, 57, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 183, 60, 206, 59, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 158, 63, 9, 63, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 162, 71, 103, 82, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 103, 83, 61, 74, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 105, 86, 136, 74, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 56, 92, 176, 74, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 211, 96, 222, 98, 129, 218, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 208, 146, 63, 151, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 145, 150, 61, 183, 255, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 72, 162, 242, 175, 255, 255, 92, 166, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 188, 165, 34, 181, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 196, 173, 237, 182, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 34, 182, 19, 185, 255, 255, 190, 146, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 213, 184, 135, 186, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 80, 195, 30, 190, 0, 0, 255, 127, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 192, 196, 22, 198, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 177, 198, 190, 201, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 79, 195, 122, 215, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 99, 202, 29, 223, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 52, 201, 29, 231, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 102, 200, 150, 234, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 209, 203, 195, 239, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 3, 192, 196, 255, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 143, 44, 77, 235, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 159, 55, 205, 234, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 87, 54, 168, 225, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 96, 53, 99, 215, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 188, 53, 31, 212, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 109, 41, 100, 199, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 251, 63, 202, 192, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 203, 67, 0, 189, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 71, 70, 10, 187, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 183, 58, 57, 169, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 105, 73, 213, 158, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 140, 90, 35, 181, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 165, 89, 151, 160, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 27, 106, 121, 183, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 189, 109, 76, 160, 194, 234, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 81, 222, 2, 208, 0, 0, 255, 223, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 120, 187, 26, 170, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 112, 141, 23, 159, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 112, 122, 204, 166, 133, 244, 32, 189) +}, { +"aabb": AABB(-1, 3.1, -1, 2, 0.3, 2.00001), +"attribute_data": PackedByteArray(0, 0, 0, 0, 242, 255, 127, 63, 0, 0, 128, 63, 242, 255, 127, 63, 0, 0, 0, 61, 242, 255, 127, 63, 4, 0, 128, 61, 242, 255, 127, 63, 0, 0, 192, 61, 242, 255, 127, 63, 0, 0, 0, 62, 0, 0, 128, 63, 254, 255, 31, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 96, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 144, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 208, 62, 6, 0, 128, 63, 0, 0, 224, 62, 6, 0, 128, 63, 0, 0, 240, 62, 6, 0, 128, 63, 0, 0, 0, 63, 6, 0, 128, 63, 0, 0, 8, 63, 6, 0, 128, 63, 0, 0, 16, 63, 6, 0, 128, 63, 0, 0, 24, 63, 6, 0, 128, 63, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 40, 63, 0, 0, 128, 63, 0, 0, 48, 63, 0, 0, 128, 63, 0, 0, 56, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 72, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 104, 63, 242, 255, 127, 63, 0, 0, 112, 63, 242, 255, 127, 63, 0, 0, 120, 63, 242, 255, 127, 63, 0, 0, 0, 0, 0, 0, 64, 181, 0, 0, 128, 63, 0, 0, 64, 181, 0, 0, 0, 61, 0, 0, 128, 180, 4, 0, 128, 61, 0, 0, 64, 181, 0, 0, 192, 61, 0, 0, 64, 181, 0, 0, 0, 62, 0, 0, 0, 52, 2, 0, 32, 62, 0, 0, 0, 52, 0, 0, 64, 62, 0, 0, 0, 52, 0, 0, 96, 62, 0, 0, 0, 52, 0, 0, 128, 62, 0, 0, 0, 52, 0, 0, 144, 62, 0, 0, 0, 52, 0, 0, 160, 62, 0, 0, 0, 52, 0, 0, 176, 62, 0, 0, 0, 52, 0, 0, 192, 62, 0, 0, 0, 52, 0, 0, 208, 62, 0, 0, 128, 53, 0, 0, 224, 62, 0, 0, 128, 53, 0, 0, 240, 62, 0, 0, 128, 53, 0, 0, 0, 63, 0, 0, 128, 53, 0, 0, 8, 63, 0, 0, 128, 53, 0, 0, 16, 63, 0, 0, 128, 53, 0, 0, 24, 63, 0, 0, 128, 53, 0, 0, 32, 63, 0, 0, 0, 52, 255, 255, 39, 63, 0, 0, 0, 52, 0, 0, 48, 63, 0, 0, 0, 52, 0, 0, 56, 63, 0, 0, 0, 52, 0, 0, 64, 63, 0, 0, 0, 52, 0, 0, 72, 63, 0, 0, 0, 52, 0, 0, 80, 63, 0, 0, 0, 52, 255, 255, 87, 63, 0, 0, 0, 52, 255, 255, 95, 63, 0, 0, 0, 52, 0, 0, 104, 63, 0, 0, 64, 181, 0, 0, 112, 63, 0, 0, 64, 181, 0, 0, 120, 63, 0, 0, 64, 181, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 128, 63), +"format": 4119, "index_count": 192, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 66 -} - -[sub_resource type="ConvexPolygonShape" id=5] -points = PoolVector3Array( -0.000195742, 2.99997, -1, -0.000195742, 3.49996, -1, 0.194988, 2.99997, -0.980814, -0.000195742, 2.9, -0.900157, -0.195184, 2.99997, -0.980814, -0.195184, 3.49996, -0.980814, 0, 3.6, -0.900157, 0.194988, 3.49996, -0.980814, 0.382537, 2.99997, -0.924041, 0.344362, 2.9, -0.831637, 0.175411, 2.9, -0.882733, -0.175607, 2.9, -0.882733, -0.344558, 2.9, -0.831637, -0.382733, 2.99997, -0.924041, -0.382733, 3.49996, -0.924041, -0.344558, 3.6, -0.831637, -0.175607, 3.6, -0.882733, 0.175411, 3.6, -0.882733, 0.344362, 3.6, -0.831637, 0.382537, 3.49996, -0.924041, 0.555403, 2.99997, -0.831637, 0.5, 2.9, -0.748434, -0.500196, 2.9, -0.748434, -0.555599, 2.99997, -0.831637, -0.555599, 3.49996, -0.831637, -0.500196, 3.6, -0.748434, 0.5, 3.6, -0.748434, 0.555403, 3.49996, -0.831637, 0.70693, 2.99997, -0.707126, 0.636257, 2.9, -0.636453, -0.636453, 2.9, -0.636453, -0.707126, 2.99997, -0.707126, -0.707126, 3.49996, -0.707126, -0.636453, 3.6, -0.636453, 0.636257, 3.6, -0.636453, 0.70693, 3.49996, -0.707126, 0.831441, 2.99997, -0.555599, 0.748238, 2.9, -0.500196, -0.748434, 2.9, -0.500196, -0.831637, 2.99997, -0.555599, -0.831637, 3.49996, -0.555599, -0.748434, 3.6, -0.500196, 0.748238, 3.6, -0.500196, 0.831441, 3.49996, -0.555599, 0.923845, 2.99997, -0.382733, 0.831441, 2.9, -0.344558, -0.831637, 2.9, -0.344558, -0.924041, 2.99997, -0.382733, -0.831637, 3.6, -0.344558, -0.924041, 3.49996, -0.382733, 0.831441, 3.6, -0.344558, 0.923845, 3.49996, -0.382733, 0.980619, 2.99997, -0.195184, 0.882537, 2.9, -0.175607, -0.882733, 2.9, -0.175607, -0.980814, 2.99997, -0.195184, -0.980814, 3.49996, -0.195184, -0.882733, 3.6, -0.175607, 0.882537, 3.6, -0.175607, 0.980619, 3.49996, -0.195184, 1, 2.99997, -0.000195742, 0.899961, 2.9, 0, -0.900157, 2.9, 0, -1, 2.99997, 0, -1, 3.09994, -0.000195742, -1, 3.39999, -0.000195742, -1, 3.49996, 0, -0.900157, 3.6, 0, 0.899961, 3.6, 0, 1, 3.49996, 0, 1, 3.39999, -0.000195742, 0.980619, 2.99997, 0.194988, 0.882537, 2.9, 0.175411, -0.882733, 2.9, 0.175411, -0.980814, 2.99997, 0.194988, -0.980814, 3.49996, 0.194988, -0.882733, 3.6, 0.175411, 0.882537, 3.6, 0.175411, 0.980619, 3.49996, 0.194988, 0.923845, 2.99997, 0.382537, 0.831441, 2.9, 0.344362, -0.831637, 2.9, 0.344362, -0.924041, 2.99997, 0.382537, -0.924041, 3.49996, 0.382537, -0.831637, 3.6, 0.344362, 0.831441, 3.6, 0.344362, 0.923845, 3.49996, 0.382537, 0.831441, 2.99997, 0.555403, 0.748238, 2.9, 0.5, -0.748434, 2.9, 0.5, -0.831637, 2.99997, 0.555403, -0.831637, 3.49996, 0.555403, -0.748434, 3.6, 0.5, 0.748238, 3.6, 0.5, 0.831441, 3.49996, 0.555403, 0.70693, 2.99997, 0.70693, 0.636257, 2.9, 0.636257, -0.707126, 2.99997, 0.70693, -0.636453, 2.9, 0.636257, -0.707126, 3.49996, 0.70693, -0.636453, 3.6, 0.636257, 0.70693, 3.49996, 0.70693, 0.636257, 3.6, 0.636257, 0.555403, 2.99997, 0.831441, 0.5, 2.9, 0.748238, -0.500196, 2.9, 0.748238, -0.555599, 2.99997, 0.831441, -0.555599, 3.49996, 0.831441, -0.500196, 3.6, 0.748238, 0.5, 3.6, 0.748238, 0.555403, 3.49996, 0.831441, 0.382537, 2.99997, 0.923845, 0.344362, 2.9, 0.831441, -0.344558, 2.9, 0.831441, -0.382733, 2.99997, 0.923845, -0.382733, 3.49996, 0.923845, -0.344558, 3.6, 0.831441, 0.344362, 3.6, 0.831441, 0.382537, 3.49996, 0.923845, 0.194988, 2.99997, 0.980619, 0.175411, 2.9, 0.882537, -0.175607, 2.9, 0.882537, -0.195184, 2.99997, 0.980619, -0.195184, 3.49996, 0.980619, -0.175607, 3.6, 0.882537, 0.175411, 3.6, 0.882537, 0.194988, 3.49996, 0.980619, 0, 2.99997, 1, 0, 2.9, 0.899961, -0.000195742, 3.09994, 1, -0.000195742, 3.49996, 1, -0.000195742, 3.6, 0.899961 ) - -[sub_resource type="ArrayMesh" id=3] +"index_data": PackedByteArray(13, 0, 47, 0, 14, 0, 13, 0, 46, 0, 47, 0, 27, 0, 61, 0, 28, 0, 27, 0, 60, 0, 61, 0, 14, 0, 48, 0, 15, 0, 14, 0, 47, 0, 48, 0, 0, 0, 35, 0, 2, 0, 0, 0, 33, 0, 35, 0, 28, 0, 62, 0, 29, 0, 28, 0, 61, 0, 62, 0, 15, 0, 49, 0, 16, 0, 15, 0, 48, 0, 49, 0, 2, 0, 36, 0, 3, 0, 2, 0, 35, 0, 36, 0, 29, 0, 63, 0, 30, 0, 29, 0, 62, 0, 63, 0, 16, 0, 50, 0, 17, 0, 16, 0, 49, 0, 50, 0, 3, 0, 37, 0, 4, 0, 3, 0, 36, 0, 37, 0, 30, 0, 64, 0, 31, 0, 30, 0, 63, 0, 64, 0, 17, 0, 51, 0, 18, 0, 17, 0, 50, 0, 51, 0, 4, 0, 38, 0, 5, 0, 4, 0, 37, 0, 38, 0, 31, 0, 65, 0, 32, 0, 31, 0, 64, 0, 65, 0, 18, 0, 52, 0, 19, 0, 18, 0, 51, 0, 52, 0, 5, 0, 39, 0, 6, 0, 5, 0, 38, 0, 39, 0, 32, 0, 34, 0, 1, 0, 32, 0, 65, 0, 34, 0, 19, 0, 53, 0, 20, 0, 19, 0, 52, 0, 53, 0, 6, 0, 40, 0, 7, 0, 6, 0, 39, 0, 40, 0, 20, 0, 54, 0, 21, 0, 20, 0, 53, 0, 54, 0, 7, 0, 41, 0, 8, 0, 7, 0, 40, 0, 41, 0, 21, 0, 55, 0, 22, 0, 21, 0, 54, 0, 55, 0, 8, 0, 42, 0, 9, 0, 8, 0, 41, 0, 42, 0, 22, 0, 56, 0, 23, 0, 22, 0, 55, 0, 56, 0, 9, 0, 43, 0, 10, 0, 9, 0, 42, 0, 43, 0, 23, 0, 57, 0, 24, 0, 23, 0, 56, 0, 57, 0, 10, 0, 44, 0, 11, 0, 10, 0, 43, 0, 44, 0, 24, 0, 58, 0, 25, 0, 24, 0, 57, 0, 58, 0, 11, 0, 45, 0, 12, 0, 11, 0, 44, 0, 45, 0, 25, 0, 59, 0, 26, 0, 25, 0, 58, 0, 59, 0, 12, 0, 46, 0, 13, 0, 12, 0, 45, 0, 46, 0, 26, 0, 60, 0, 27, 0, 26, 0, 59, 0, 60, 0), +"lods": [0.0279969, PackedByteArray(0, 0, 37, 0, 3, 0, 0, 0, 33, 0, 37, 0, 3, 0, 37, 0, 39, 0, 3, 0, 39, 0, 7, 0, 7, 0, 39, 0, 41, 0, 7, 0, 41, 0, 9, 0, 9, 0, 41, 0, 43, 0, 9, 0, 43, 0, 11, 0, 11, 0, 43, 0, 45, 0, 11, 0, 45, 0, 12, 0, 12, 0, 45, 0, 48, 0, 12, 0, 48, 0, 14, 0, 14, 0, 48, 0, 50, 0, 14, 0, 50, 0, 18, 0, 18, 0, 50, 0, 52, 0, 18, 0, 52, 0, 20, 0, 20, 0, 52, 0, 54, 0, 20, 0, 54, 0, 22, 0, 22, 0, 54, 0, 56, 0, 22, 0, 56, 0, 24, 0, 24, 0, 56, 0, 58, 0, 24, 0, 58, 0, 26, 0, 26, 0, 58, 0, 62, 0, 26, 0, 62, 0, 28, 0, 28, 0, 62, 0, 64, 0, 28, 0, 64, 0, 32, 0, 32, 0, 64, 0, 34, 0, 32, 0, 34, 0, 1, 0), 0.105563, PackedByteArray(0, 0, 37, 0, 7, 0, 0, 0, 33, 0, 37, 0, 7, 0, 37, 0, 45, 0, 7, 0, 45, 0, 11, 0, 11, 0, 45, 0, 48, 0, 11, 0, 48, 0, 18, 0, 18, 0, 48, 0, 56, 0, 18, 0, 56, 0, 22, 0, 22, 0, 56, 0, 58, 0, 22, 0, 58, 0, 26, 0, 26, 0, 58, 0, 62, 0, 26, 0, 62, 0, 28, 0, 28, 0, 62, 0, 34, 0, 28, 0, 34, 0, 1, 0), 0.486893, PackedByteArray(0, 0, 37, 0, 66, 0, 0, 0, 33, 0, 37, 0, 66, 0, 37, 0, 48, 0, 7, 0, 48, 0, 28, 0, 28, 0, 48, 0, 62, 0, 67, 0, 62, 0, 34, 0, 67, 0, 34, 0, 1, 0)], +"material": SubResource("StandardMaterial3D_2ke00"), +"primitive": 3, +"vertex_count": 68, +"vertex_data": PackedByteArray(63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 254, 255, 255, 191, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 59, 149, 255, 127, 254, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 254, 255, 255, 127, 0, 0, 255, 127, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 159, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 254, 255, 68, 51, 0, 0, 92, 166, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 254, 255, 60, 21, 0, 0, 97, 181, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 254, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 59, 149, 255, 127, 254, 255, 97, 181, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 124, 165, 255, 127, 254, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 129, 218, 255, 127, 255, 255, 64, 237, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 254, 255, 255, 127, 0, 0, 255, 255, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 255, 255, 186, 76, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 255, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 208, 203, 255, 127, 255, 255, 190, 146, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 138, 75, 255, 127, 68, 179, 255, 191) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_kdkqu") + +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_dma6l"] +points = PackedVector3Array(-0.000195742, 2.99997, -1, -0.000195742, 3.49996, -1, 0.194988, 2.99997, -0.980814, -0.000195742, 2.9, -0.900157, -0.195184, 2.99997, -0.980814, -0.195184, 3.49996, -0.980814, 0, 3.6, -0.900157, 0.194988, 3.49996, -0.980814, 0.382537, 2.99997, -0.924041, 0.344362, 2.9, -0.831637, 0.175411, 2.9, -0.882733, -0.175607, 2.9, -0.882733, -0.344558, 2.9, -0.831637, -0.382733, 2.99997, -0.924041, -0.175607, 3.6, -0.882733, -0.382733, 3.49996, -0.924041, -0.344558, 3.6, -0.831637, 0.175411, 3.6, -0.882733, 0.344362, 3.6, -0.831637, 0.382537, 3.49996, -0.924041, 0.555403, 2.99997, -0.831637, 0.5, 2.9, -0.748434, -0.500196, 2.9, -0.748434, -0.555599, 2.99997, -0.831637, -0.555599, 3.49996, -0.831637, -0.500196, 3.6, -0.748434, 0.5, 3.6, -0.748434, 0.555403, 3.49996, -0.831637, 0.70693, 2.99997, -0.707126, 0.636257, 2.9, -0.636453, -0.636453, 2.9, -0.636453, -0.707126, 2.99997, -0.707126, -0.707126, 3.49996, -0.707126, -0.636453, 3.6, -0.636453, 0.636257, 3.6, -0.636453, 0.70693, 3.49996, -0.707126, 0.831441, 2.99997, -0.555599, 0.748238, 2.9, -0.500196, -0.748434, 2.9, -0.500196, -0.831637, 2.99997, -0.555599, -0.831637, 3.49996, -0.555599, -0.748434, 3.6, -0.500196, 0.748238, 3.6, -0.500196, 0.831441, 3.49996, -0.555599, 0.923845, 2.99997, -0.382733, 0.831441, 2.9, -0.344558, -0.831637, 2.9, -0.344558, -0.924041, 2.99997, -0.382733, -0.831637, 3.6, -0.344558, -0.924041, 3.49996, -0.382733, 0.831441, 3.6, -0.344558, 0.923845, 3.49996, -0.382733, 0.980619, 2.99997, -0.195184, 0.882537, 2.9, -0.175607, -0.882733, 2.9, -0.175607, -0.980814, 2.99997, -0.195184, -0.980814, 3.49996, -0.195184, -0.882733, 3.6, -0.175607, 0.882537, 3.6, -0.175607, 0.980619, 3.49996, -0.195184, 1, 2.99997, -0.000195742, 0.899961, 2.9, 0, -0.900157, 2.9, 0, -1, 2.99997, 0, -1, 3.09994, -0.000195742, -1, 3.39999, -0.000195742, -1, 3.49996, 0, -0.900157, 3.6, 0, 0.899961, 3.6, 0, 1, 3.49996, 0, 1, 3.39999, -0.000195742, 0.980619, 2.99997, 0.194988, 0.882537, 2.9, 0.175411, -0.882733, 2.9, 0.175411, -0.980814, 2.99997, 0.194988, -0.980814, 3.49996, 0.194988, -0.882733, 3.6, 0.175411, 0.882537, 3.6, 0.175411, 0.980619, 3.49996, 0.194988, 0.923845, 2.99997, 0.382537, 0.831441, 2.9, 0.344362, -0.831637, 2.9, 0.344362, -0.924041, 2.99997, 0.382537, -0.924041, 3.49996, 0.382537, -0.831637, 3.6, 0.344362, 0.831441, 3.6, 0.344362, 0.923845, 3.49996, 0.382537, 0.831441, 2.99997, 0.555403, 0.748238, 2.9, 0.5, -0.748434, 2.9, 0.5, -0.831637, 2.99997, 0.555403, -0.831637, 3.49996, 0.555403, -0.748434, 3.6, 0.5, 0.748238, 3.6, 0.5, 0.831441, 3.49996, 0.555403, 0.70693, 2.99997, 0.70693, 0.636257, 2.9, 0.636257, -0.707126, 2.99997, 0.70693, -0.636453, 2.9, 0.636257, -0.707126, 3.49996, 0.70693, -0.636453, 3.6, 0.636257, 0.70693, 3.49996, 0.70693, 0.636257, 3.6, 0.636257, 0.555403, 2.99997, 0.831441, 0.5, 2.9, 0.748238, -0.500196, 2.9, 0.748238, -0.555599, 2.99997, 0.831441, -0.555599, 3.49996, 0.831441, -0.500196, 3.6, 0.748238, 0.5, 3.6, 0.748238, 0.555403, 3.49996, 0.831441, 0.382537, 2.99997, 0.923845, 0.344362, 2.9, 0.831441, -0.344558, 2.9, 0.831441, -0.382733, 2.99997, 0.923845, -0.382733, 3.49996, 0.923845, -0.344558, 3.6, 0.831441, 0.344362, 3.6, 0.831441, 0.382537, 3.49996, 0.923845, 0.194988, 2.99997, 0.980619, 0.175411, 2.9, 0.882537, -0.175607, 2.9, 0.882537, -0.195184, 2.99997, 0.980619, -0.195184, 3.49996, 0.980619, -0.175607, 3.6, 0.882537, 0.175411, 3.6, 0.882537, 0.194988, 3.49996, 0.980619, 0, 2.99997, 1, 0, 2.9, 0.899961, -0.000195742, 3.09994, 1, -0.000195742, 3.49996, 1, -0.000195742, 3.6, 0.899961) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_37d4w"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_4xmya"] +_surfaces = [{ +"aabb": AABB(-0.85, -1.4, -0.85, 1.7, 2.8, 1.7), +"format": 4097, +"index_count": 192, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0), +"lods": [0.0371179, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 62, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 62, 0, 5, 0, 63, 0, 10, 0, 14, 0, 13, 0, 60, 0, 62, 0, 63, 0, 14, 0, 17, 0, 13, 0, 60, 0, 63, 0, 59, 0, 14, 0, 18, 0, 17, 0, 56, 0, 60, 0, 59, 0, 18, 0, 21, 0, 17, 0, 56, 0, 59, 0, 55, 0, 18, 0, 22, 0, 21, 0, 52, 0, 56, 0, 55, 0, 22, 0, 25, 0, 21, 0, 52, 0, 55, 0, 51, 0, 22, 0, 26, 0, 25, 0, 48, 0, 52, 0, 51, 0, 26, 0, 29, 0, 25, 0, 48, 0, 51, 0, 47, 0, 26, 0, 30, 0, 29, 0, 30, 0, 33, 0, 29, 0, 30, 0, 32, 0, 33, 0, 44, 0, 48, 0, 47, 0, 44, 0, 47, 0, 43, 0, 40, 0, 44, 0, 43, 0, 40, 0, 43, 0, 39, 0, 36, 0, 40, 0, 39, 0, 36, 0, 39, 0, 35, 0, 32, 0, 36, 0, 35, 0, 32, 0, 35, 0, 33, 0), 0.139951, PackedByteArray(10, 0, 21, 0, 5, 0, 10, 0, 18, 0, 21, 0, 18, 0, 29, 0, 21, 0, 18, 0, 26, 0, 29, 0, 26, 0, 33, 0, 29, 0, 26, 0, 32, 0, 33, 0, 60, 0, 10, 0, 5, 0, 60, 0, 5, 0, 63, 0, 52, 0, 60, 0, 63, 0, 52, 0, 63, 0, 55, 0, 44, 0, 52, 0, 55, 0, 44, 0, 55, 0, 47, 0, 36, 0, 44, 0, 47, 0, 36, 0, 47, 0, 39, 0, 32, 0, 36, 0, 39, 0, 32, 0, 39, 0, 33, 0), 0.399284, PackedByteArray(10, 0, 21, 0, 5, 0, 10, 0, 26, 0, 21, 0, 26, 0, 32, 0, 33, 0, 26, 0, 33, 0, 21, 0, 32, 0, 39, 0, 33, 0, 32, 0, 44, 0, 39, 0, 44, 0, 5, 0, 39, 0, 44, 0, 10, 0, 5, 0), 0.844305, PackedByteArray(10, 0, 33, 0, 39, 0, 10, 0, 32, 0, 33, 0, 32, 0, 39, 0, 33, 0, 32, 0, 10, 0, 39, 0)], +"primitive": 3, +"vertex_count": 64, +"vertex_data": PackedByteArray(0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_b4xkm"] resource_name = "teleport_Cylinder" -surfaces/0 = { -"aabb": AABB( -0.85, -1.4, -0.85, 1.7, 2.8, 1.7 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 127, 126, 129, 63, 0, 56, 0, 0, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 127, 105, 129, 74, 128, 55, 0, 60, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 127, 105, 129, 74, 128, 55, 0, 0, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 127, 89, 129, 82, 0, 55, 0, 60, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 127, 89, 129, 82, 0, 55, 0, 0, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 127, 76, 129, 88, 128, 54, 0, 60, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 127, 76, 129, 88, 128, 54, 0, 0, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 127, 63, 129, 95, 0, 54, 0, 60, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 127, 63, 129, 95, 0, 54, 0, 0, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 127, 50, 129, 101, 128, 53, 0, 60, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 127, 50, 129, 101, 128, 53, 0, 0, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 127, 37, 129, 108, 0, 53, 0, 60, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 127, 37, 129, 108, 0, 53, 0, 0, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 127, 21, 129, 116, 128, 52, 0, 60, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 127, 21, 129, 116, 128, 52, 0, 0, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 127, 0, 127, 127, 0, 52, 0, 60, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 127, 0, 127, 127, 0, 52, 0, 0, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 105, 0, 127, 116, 0, 51, 0, 60, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 105, 0, 127, 116, 0, 51, 0, 0, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 89, 0, 127, 108, 0, 50, 0, 60, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 89, 0, 127, 108, 0, 50, 0, 0, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 76, 0, 127, 101, 0, 49, 0, 60, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 76, 0, 127, 101, 0, 49, 0, 0, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 63, 0, 127, 95, 0, 48, 0, 60, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 63, 0, 127, 95, 0, 48, 0, 0, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 50, 0, 127, 88, 0, 46, 0, 60, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 50, 0, 127, 88, 0, 46, 0, 0, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 37, 0, 127, 82, 0, 44, 0, 60, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 37, 0, 127, 82, 0, 44, 0, 0, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 21, 0, 127, 74, 0, 40, 0, 60, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 21, 0, 127, 74, 0, 40, 0, 0, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 127, 63, 0, 0, 0, 60, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 126, 63, 0, 60, 0, 60, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 0, 0, 127, 63, 0, 0, 0, 0, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 0, 0, 126, 63, 0, 60, 0, 0, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 235, 0, 105, 63, 192, 59, 0, 60, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 235, 0, 105, 63, 192, 59, 0, 0, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 219, 0, 89, 63, 128, 59, 0, 60, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 219, 0, 89, 63, 128, 59, 0, 0, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 206, 0, 76, 63, 64, 59, 0, 60, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 206, 0, 76, 63, 64, 59, 0, 0, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 193, 0, 63, 63, 0, 59, 0, 60, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 193, 0, 63, 63, 0, 59, 0, 0, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 180, 0, 50, 63, 192, 58, 0, 60, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 180, 0, 50, 63, 192, 58, 0, 0, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 167, 0, 37, 63, 128, 58, 0, 60, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 167, 0, 37, 63, 128, 58, 0, 0, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 151, 0, 21, 63, 64, 58, 0, 60, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 151, 0, 21, 63, 64, 58, 0, 0, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 129, 0, 0, 63, 0, 58, 0, 60, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 129, 0, 0, 63, 0, 58, 0, 0, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 129, 21, 235, 63, 192, 57, 0, 60, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 129, 21, 235, 63, 192, 57, 0, 0, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 129, 37, 219, 63, 127, 57, 0, 60, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 129, 37, 219, 63, 127, 57, 0, 0, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 129, 50, 206, 63, 64, 57, 0, 60, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 129, 50, 206, 63, 64, 57, 0, 0, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 129, 63, 193, 63, 0, 57, 0, 60, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 129, 63, 193, 63, 0, 57, 0, 0, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 129, 76, 180, 63, 192, 56, 0, 60, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 129, 76, 180, 63, 192, 56, 0, 0, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 129, 89, 167, 63, 128, 56, 0, 60, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 129, 89, 167, 63, 128, 56, 0, 0, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 129, 105, 151, 63, 64, 56, 0, 60, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191, 129, 105, 151, 63, 64, 56, 0, 0 ), -"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 32, 0, 34, 0, 33, 0, 37, 0, 35, 0, 33, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 65, 0, 63, 0, 62, 0, 64, 0, 65, 0, 64, 0, 1, 0, 65, 0, 64, 0, 0, 0, 1, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.85, -1.4, -0.85, 1.7, 2.8, 1.7), +"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 240, 62, 0, 0, 128, 63, 0, 0, 240, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 208, 62, 0, 0, 128, 63, 0, 0, 208, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 144, 62, 0, 0, 128, 63, 0, 0, 144, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 96, 62, 0, 0, 128, 63, 0, 0, 96, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 2, 0, 32, 62, 0, 0, 128, 63, 2, 0, 32, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 192, 61, 0, 0, 128, 63, 0, 0, 192, 61, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 128, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 120, 63, 0, 0, 128, 63, 0, 0, 120, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 128, 63, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 88, 63, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 72, 63, 0, 0, 128, 63, 0, 0, 72, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 56, 63, 0, 0, 128, 63, 0, 0, 56, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 40, 63, 0, 0, 128, 63, 0, 0, 40, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 128, 63, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 8, 63, 0, 0, 128, 63, 0, 0, 8, 63, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 192, 61, 0, 0, 128, 63, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0), +"format": 4119, "index_count": 192, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 66 -} - -[sub_resource type="CylinderShape" id=6] +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 32, 0, 34, 0, 33, 0, 37, 0, 35, 0, 33, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 65, 0, 63, 0, 62, 0, 64, 0, 65, 0, 64, 0, 1, 0, 65, 0, 64, 0, 0, 0, 1, 0), +"lods": [0.0371179, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 64, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 64, 0, 5, 0, 65, 0, 10, 0, 14, 0, 13, 0, 62, 0, 64, 0, 65, 0, 14, 0, 17, 0, 13, 0, 62, 0, 65, 0, 61, 0, 14, 0, 18, 0, 17, 0, 58, 0, 62, 0, 61, 0, 18, 0, 21, 0, 17, 0, 58, 0, 61, 0, 57, 0, 18, 0, 22, 0, 21, 0, 54, 0, 58, 0, 57, 0, 22, 0, 25, 0, 21, 0, 54, 0, 57, 0, 53, 0, 22, 0, 26, 0, 25, 0, 50, 0, 54, 0, 53, 0, 26, 0, 29, 0, 25, 0, 50, 0, 53, 0, 49, 0, 26, 0, 30, 0, 29, 0, 30, 0, 34, 0, 29, 0, 30, 0, 32, 0, 34, 0, 46, 0, 50, 0, 49, 0, 46, 0, 49, 0, 45, 0, 42, 0, 46, 0, 45, 0, 42, 0, 45, 0, 41, 0, 38, 0, 42, 0, 41, 0, 38, 0, 41, 0, 37, 0, 33, 0, 38, 0, 37, 0, 33, 0, 37, 0, 35, 0), 0.139951, PackedByteArray(88, 0, 90, 0, 86, 0, 88, 0, 18, 0, 90, 0, 18, 0, 29, 0, 90, 0, 18, 0, 26, 0, 29, 0, 26, 0, 34, 0, 29, 0, 26, 0, 32, 0, 34, 0, 62, 0, 89, 0, 86, 0, 62, 0, 87, 0, 65, 0, 54, 0, 62, 0, 65, 0, 54, 0, 65, 0, 57, 0, 46, 0, 54, 0, 57, 0, 46, 0, 57, 0, 49, 0, 38, 0, 46, 0, 49, 0, 38, 0, 49, 0, 41, 0, 33, 0, 38, 0, 41, 0, 33, 0, 41, 0, 35, 0), 0.399284, PackedByteArray(77, 0, 79, 0, 74, 0, 77, 0, 81, 0, 79, 0, 81, 0, 32, 0, 34, 0, 81, 0, 34, 0, 80, 0, 33, 0, 41, 0, 35, 0, 33, 0, 83, 0, 41, 0, 84, 0, 75, 0, 82, 0, 85, 0, 78, 0, 76, 0), 0.844305, PackedByteArray(10, 0, 70, 0, 72, 0, 66, 0, 68, 0, 71, 0, 33, 0, 41, 0, 35, 0, 69, 0, 67, 0, 73, 0)], +"material": SubResource("StandardMaterial3D_37d4w"), +"primitive": 3, +"vertex_count": 91, +"vertex_data": PackedByteArray(0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 255, 255, 254, 255, 0, 0, 255, 191, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 255, 255, 254, 255, 0, 0, 255, 191, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 255, 255, 194, 234, 0, 0, 157, 202, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 255, 255, 194, 234, 0, 0, 157, 202, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 255, 255, 129, 218, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 129, 218, 0, 0, 189, 210, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 255, 255, 186, 204, 0, 0, 161, 217, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 255, 255, 186, 204, 0, 0, 161, 217, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 255, 255, 255, 191, 0, 0, 255, 223, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 255, 255, 255, 191, 0, 0, 255, 223, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 68, 179, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 255, 255, 68, 179, 0, 0, 92, 230, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 255, 255, 124, 165, 0, 0, 64, 237, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 255, 255, 124, 165, 0, 0, 64, 237, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 255, 255, 59, 149, 0, 0, 96, 245, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 255, 255, 59, 149, 0, 0, 96, 245, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 255, 255, 255, 127, 255, 255, 255, 255, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 255, 255, 255, 127, 255, 255, 255, 255, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 194, 234, 255, 127, 255, 255, 96, 245, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 194, 234, 255, 127, 255, 255, 96, 245, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 129, 218, 255, 127, 255, 255, 64, 237, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 129, 218, 255, 127, 255, 255, 64, 237, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 186, 204, 255, 127, 255, 255, 92, 230, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 186, 204, 255, 127, 255, 255, 92, 230, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 255, 191, 255, 127, 255, 255, 255, 223, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 255, 191, 255, 127, 255, 255, 255, 223, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 68, 179, 255, 127, 255, 255, 161, 217, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 68, 179, 255, 127, 255, 255, 161, 217, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 124, 165, 255, 127, 255, 255, 189, 210, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 124, 165, 255, 127, 255, 255, 189, 210, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 59, 149, 255, 127, 255, 255, 157, 202, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 59, 149, 255, 127, 255, 255, 157, 202, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 255, 127, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 255, 127, 255, 127, 254, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 127, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 127, 255, 127, 254, 255, 255, 191, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 195, 106, 255, 127, 194, 234, 255, 191, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 195, 106, 255, 127, 194, 234, 255, 191, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 130, 90, 255, 127, 129, 218, 255, 191, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 130, 90, 255, 127, 129, 218, 255, 191, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 186, 76, 255, 127, 186, 204, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 186, 76, 255, 127, 186, 204, 255, 191, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 255, 63, 255, 127, 255, 191, 255, 191, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 255, 63, 255, 127, 255, 191, 255, 191, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 68, 51, 255, 127, 68, 179, 255, 191, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 68, 51, 255, 127, 68, 179, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 125, 37, 255, 127, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 125, 37, 255, 127, 124, 165, 255, 191, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 60, 21, 255, 127, 59, 149, 255, 191, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 60, 21, 255, 127, 59, 149, 255, 191, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 0, 0, 255, 127, 255, 127, 255, 191, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 0, 0, 255, 127, 255, 127, 255, 191, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 0, 0, 59, 149, 195, 106, 255, 191, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 0, 0, 59, 149, 195, 106, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 0, 0, 124, 165, 130, 90, 255, 191, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 0, 0, 124, 165, 130, 90, 255, 191, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 0, 0, 68, 179, 186, 76, 255, 191, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 0, 0, 68, 179, 186, 76, 255, 191, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 0, 0, 255, 191, 255, 63, 255, 191, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 0, 0, 255, 191, 255, 63, 255, 191, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 0, 0, 186, 204, 68, 51, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 0, 0, 186, 204, 68, 51, 255, 191, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 0, 0, 129, 218, 125, 37, 255, 191, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 0, 0, 129, 218, 125, 37, 255, 191, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 0, 0, 194, 234, 60, 21, 255, 191, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191, 0, 0, 194, 234, 60, 21, 255, 191, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 59, 212, 255, 127, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 0, 0, 98, 155, 0, 0, 92, 230, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 139, 185, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 180, 137, 254, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 255, 113, 198, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 250, 181, 255, 127, 255, 255, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 255, 255, 93, 201, 186, 204, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 0, 0, 47, 135, 186, 204, 255, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 109, 179, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 200, 167, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 83, 234, 0, 0, 189, 210, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 168, 154, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 0, 0, 4, 244, 0, 0, 92, 230, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 255, 255, 64, 131, 255, 255, 64, 237, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 115, 188, 255, 127, 255, 255, 64, 237, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 132, 186, 255, 127, 255, 255, 161, 217, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 0, 0, 8, 133, 186, 204, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 219, 69, 255, 127, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 0, 0, 201, 132, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 0, 0, 177, 207, 124, 165, 255, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 65, 204, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 206, 248, 0, 0, 189, 210, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 204, 153, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 46, 224, 0, 0, 92, 230, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 85, 241, 255, 127, 255, 255, 64, 237) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_4xmya") + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_bekon"] height = 2.8 radius = 0.85 -[node name="Teleport" type="Spatial"] -script = ExtResource( 1 ) +[node name="Teleport" type="Node3D"] +script = ExtResource("1_mkuv0") -[node name="TeleportBody" type="StaticBody" parent="."] +[node name="TeleportBody" type="StaticBody3D" parent="."] -[node name="Base" type="MeshInstance" parent="TeleportBody"] -mesh = SubResource( 1 ) -skeleton = NodePath("../..") -material/0 = ExtResource( 3 ) +[node name="Base" type="MeshInstance3D" parent="TeleportBody"] +gi_mode = 0 +mesh = SubResource("ArrayMesh_6x10k") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("2_0kehv") -[node name="BaseCollisionShape" type="CollisionShape" parent="TeleportBody"] -shape = SubResource( 7 ) +[node name="BaseCollisionShape" type="CollisionShape3D" parent="TeleportBody"] +shape = SubResource("ConvexPolygonShape3D_4fsqc") -[node name="Top" type="MeshInstance" parent="TeleportBody"] -mesh = SubResource( 2 ) -skeleton = NodePath("../..") -material/0 = ExtResource( 3 ) -material/1 = ExtResource( 4 ) +[node name="Top" type="MeshInstance3D" parent="TeleportBody"] +gi_mode = 0 +mesh = SubResource("ArrayMesh_20bhj") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("2_0kehv") +surface_material_override/1 = ExtResource("3_sl3q4") -[node name="TopCollisionShape" type="CollisionShape" parent="TeleportBody"] -shape = SubResource( 5 ) +[node name="TopCollisionShape" type="CollisionShape3D" parent="TeleportBody"] +shape = SubResource("ConvexPolygonShape3D_dma6l") -[node name="TeleportArea" type="Area" parent="."] +[node name="TeleportArea" type="Area3D" parent="."] collision_layer = 0 collision_mask = 524288 -[node name="Cylinder" type="MeshInstance" parent="TeleportArea"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0 ) -mesh = SubResource( 3 ) -skeleton = NodePath("../..") -material/0 = ExtResource( 2 ) +[node name="Cylinder" type="MeshInstance3D" parent="TeleportArea"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) +gi_mode = 0 +mesh = SubResource("ArrayMesh_b4xkm") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("4_2bbe5") -[node name="CollisionShape" type="CollisionShape" parent="TeleportArea"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0 ) -shape = SubResource( 6 ) +[node name="CollisionShape3d" type="CollisionShape3D" parent="TeleportArea"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) +shape = SubResource("CylinderShape3D_bekon") [connection signal="body_entered" from="TeleportArea" to="." method="_on_TeleportArea_body_entered"] diff --git a/assets/meshes/teleport/teleport_area_shader.tres b/assets/meshes/teleport/teleport_area_shader.tres index 1547b15a..9ac17c1b 100644 --- a/assets/meshes/teleport/teleport_area_shader.tres +++ b/assets/meshes/teleport/teleport_area_shader.tres @@ -1,146 +1,152 @@ -[gd_resource type="ShaderMaterial" load_steps=14 format=2] +[gd_resource type="ShaderMaterial" load_steps=14 format=3 uid="uid://d4nr1joloeff8"] -[sub_resource type="VisualShaderNodeScalarFunc" id=8] +[sub_resource type="VisualShaderNodeFloatFunc" id="8"] output_port_for_preview = 0 function = 17 -[sub_resource type="VisualShaderNodeColorConstant" id=13] -constant = Color( 0.169944, 0.249712, 0.97294, 1 ) +[sub_resource type="VisualShaderNodeColorConstant" id="13"] +constant = Color(0.169944, 0.249712, 0.97294, 1) -[sub_resource type="VisualShaderNodeInput" id=14] +[sub_resource type="VisualShaderNodeInput" id="14"] input_name = "time" -[sub_resource type="VisualShaderNodeScalarOp" id=19] -default_input_values = [ 0, 0.0, 1, 0.8 ] +[sub_resource type="VisualShaderNodeFloatOp" id="19"] +default_input_values = [0, 0.0, 1, 0.8] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=23] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 4, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="23"] +default_input_values = [0, Vector2(0, 0), 1, Vector2(1.25, 0)] +op_type = 0 operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=24] +[sub_resource type="VisualShaderNodeFloatOp" id="24"] -[sub_resource type="VisualShaderNodeVectorOp" id=25] +[sub_resource type="VisualShaderNodeVectorOp" id="25"] operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=31] -default_input_values = [ 0, 0.0, 1, 0.8 ] -operator = 2 - -[sub_resource type="VisualShaderNodeInput" id=21] +[sub_resource type="VisualShaderNodeSmoothStep" id="28"] output_port_for_preview = 0 -input_name = "uv" +default_input_values = [0, 0.4, 1, 0.5, 2, 0.0] -[sub_resource type="VisualShaderNodeScalarSmoothStep" id=32] +[sub_resource type="VisualShaderNodeSmoothStep" id="29"] output_port_for_preview = 0 -default_input_values = [ 0, 0.4, 1, 0.5, 2, 0.0 ] +default_input_values = [0, 1.0, 1, 0.4, 2, 0.0] -[sub_resource type="VisualShaderNodeScalarSmoothStep" id=33] -output_port_for_preview = 0 -default_input_values = [ 0, 1.0, 1, 0.4, 2, 0.0 ] - -[sub_resource type="VisualShaderNodeScalarOp" id=34] +[sub_resource type="VisualShaderNodeFloatOp" id="30"] output_port_for_preview = 0 operator = 7 -[sub_resource type="VisualShader" id=22] -code = "shader_type spatial; -render_mode blend_add, cull_disabled, specular_schlick_ggx, unshaded; +[sub_resource type="VisualShaderNodeFloatOp" id="31"] +default_input_values = [0, 0.0, 1, 0.8] +operator = 2 +[sub_resource type="VisualShaderNodeInput" id="21"] +output_port_for_preview = 0 +expanded_output_ports = [0] +input_name = "uv" +[sub_resource type="VisualShader" id="22"] +code = "shader_type spatial; +render_mode blend_add, cull_disabled, unshaded; -void vertex() { -// Output:0 -} void fragment() { -// Color:19 - vec3 n_out19p0 = vec3(0.169944, 0.249712, 0.972940); - float n_out19p1 = 1.000000; +// ColorConstant:19 + vec4 n_out19p0 = vec4(0.169944, 0.249712, 0.972940, 1.000000); + // Input:2 float n_out2p0 = TIME; -// ScalarOp:25 + +// FloatOp:25 float n_in25p1 = 0.80000; float n_out25p0 = n_out2p0 * n_in25p1; + // Input:5 - vec3 n_out5p0 = vec3(UV, 0.0); + vec2 n_out5p0 = UV; + float n_out5p2 = n_out5p0.g; + // VectorOp:26 - vec3 n_in26p1 = vec3(0.00000, 4.00000, 0.00000); - vec3 n_out26p0 = n_out5p0 * n_in26p1; + vec2 n_in26p1 = vec2(1.25000, 0.00000); + vec2 n_out26p0 = vec2(n_out5p2) * n_in26p1; + + +// FloatOp:27 + float n_out27p0 = n_out25p0 + n_out26p0.x; -// ScalarOp:27 - float n_out27p0 = n_out25p0 + dot(n_out26p0, vec3(0.333333, 0.333333, 0.333333)); -// ScalarFunc:12 +// FloatFunc:12 float n_out12p0 = fract(n_out27p0); -// ScalarSmoothStep:50 - float n_in50p0 = 0.40000; - float n_in50p1 = 0.50000; - float n_out50p0 = smoothstep(n_in50p0, n_in50p1, n_out12p0); -// ScalarSmoothStep:51 - float n_in51p0 = 1.00000; - float n_in51p1 = 0.40000; - float n_out51p0 = smoothstep(n_in51p0, n_in51p1, n_out12p0); +// SmoothStep:46 + float n_in46p0 = 0.40000; + float n_in46p1 = 0.50000; + float n_out46p0 = smoothstep(n_in46p0, n_in46p1, n_out12p0); + + +// SmoothStep:47 + float n_in47p0 = 1.00000; + float n_in47p1 = 0.40000; + float n_out47p0 = smoothstep(n_in47p0, n_in47p1, n_out12p0); + -// ScalarOp:52 - float n_out52p0 = min(n_out50p0, n_out51p0); +// FloatOp:48 + float n_out48p0 = min(n_out46p0, n_out47p0); -// ScalarOp:49 + +// FloatOp:49 float n_in49p1 = 0.80000; - float n_out49p0 = n_out52p0 * n_in49p1; + float n_out49p0 = n_out48p0 * n_in49p1; + // VectorOp:40 - vec3 n_out40p0 = n_out19p0 * vec3(n_out49p0); + vec3 n_out40p0 = vec3(n_out19p0.xyz) * vec3(n_out49p0); + // Output:0 ALBEDO = n_out40p0; ALPHA = n_out49p0; -} - -void light() { -// Output:0 } " -graph_offset = Vector2( 736.672, -32.0883 ) +graph_offset = Vector2(-491.978, 45.2689) modes/blend = 1 modes/cull = 2 flags/unshaded = true -nodes/fragment/0/position = Vector2( 1820, 0 ) -nodes/fragment/2/node = SubResource( 14 ) -nodes/fragment/2/position = Vector2( -360, 0 ) -nodes/fragment/5/node = SubResource( 21 ) -nodes/fragment/5/position = Vector2( -360, 160 ) -nodes/fragment/12/node = SubResource( 8 ) -nodes/fragment/12/position = Vector2( 340, 60 ) -nodes/fragment/19/node = SubResource( 13 ) -nodes/fragment/19/position = Vector2( 1365, -84 ) -nodes/fragment/25/node = SubResource( 19 ) -nodes/fragment/25/position = Vector2( -140, -20 ) -nodes/fragment/26/node = SubResource( 23 ) -nodes/fragment/26/position = Vector2( -140, 140 ) -nodes/fragment/27/node = SubResource( 24 ) -nodes/fragment/27/position = Vector2( 100, 40 ) -nodes/fragment/40/node = SubResource( 25 ) -nodes/fragment/40/position = Vector2( 1617, -84 ) -nodes/fragment/49/node = SubResource( 31 ) -nodes/fragment/49/position = Vector2( 1302, 84 ) -nodes/fragment/50/node = SubResource( 32 ) -nodes/fragment/50/position = Vector2( 640, -100 ) -nodes/fragment/51/node = SubResource( 33 ) -nodes/fragment/51/position = Vector2( 640, 140 ) -nodes/fragment/52/node = SubResource( 34 ) -nodes/fragment/52/position = Vector2( 980, 40 ) -nodes/fragment/connections = PoolIntArray( 2, 0, 25, 0, 5, 0, 26, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 12, 0, 50, 2, 12, 0, 51, 2, 50, 0, 52, 0, 51, 0, 52, 1, 52, 0, 49, 0 ) +nodes/fragment/0/position = Vector2(1820, 0) +nodes/fragment/2/node = SubResource("14") +nodes/fragment/2/position = Vector2(-520, 40) +nodes/fragment/5/node = SubResource("21") +nodes/fragment/5/position = Vector2(-580, 280) +nodes/fragment/12/node = SubResource("8") +nodes/fragment/12/position = Vector2(360, 160) +nodes/fragment/19/node = SubResource("13") +nodes/fragment/19/position = Vector2(1365, -84) +nodes/fragment/25/node = SubResource("19") +nodes/fragment/25/position = Vector2(-80, 20) +nodes/fragment/26/node = SubResource("23") +nodes/fragment/26/position = Vector2(-220, 280) +nodes/fragment/27/node = SubResource("24") +nodes/fragment/27/position = Vector2(126, 105) +nodes/fragment/40/node = SubResource("25") +nodes/fragment/40/position = Vector2(1617, -84) +nodes/fragment/46/node = SubResource("28") +nodes/fragment/46/position = Vector2(800, -100) +nodes/fragment/47/node = SubResource("29") +nodes/fragment/47/position = Vector2(800, 400) +nodes/fragment/48/node = SubResource("30") +nodes/fragment/48/position = Vector2(1071, 42) +nodes/fragment/49/node = SubResource("31") +nodes/fragment/49/position = Vector2(1302, 84) +nodes/fragment/connections = PackedInt32Array(2, 0, 25, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 12, 0, 47, 2, 46, 0, 48, 0, 47, 0, 48, 1, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 5, 2, 26, 0, 12, 0, 46, 2) [resource] -shader = SubResource( 22 ) +render_priority = 0 +shader = SubResource("22") diff --git a/assets/meshes/teleport/teleport_body_material.tres b/assets/meshes/teleport/teleport_body_material.tres index 1db0001f..106efa22 100644 --- a/assets/meshes/teleport/teleport_body_material.tres +++ b/assets/meshes/teleport/teleport_body_material.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=1] +[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture2D" id=1] [resource] albedo_texture = ExtResource( 1 ) diff --git a/assets/meshes/teleport/teleport_title_material.tres b/assets/meshes/teleport/teleport_title_material.tres index df105e2a..c30c5047 100644 --- a/assets/meshes/teleport/teleport_title_material.tres +++ b/assets/meshes/teleport/teleport_title_material.tres @@ -1,103 +1,124 @@ -[gd_resource type="ShaderMaterial" load_steps=9 format=2] +[gd_resource type="ShaderMaterial" load_steps=13 format=3 uid="uid://c26e12f2whdrj"] -[sub_resource type="VisualShaderNodeTextureUniform" id=5] -uniform_name = "Title" +[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_t4y4m"] +size = Vector2(690.6, 253) +title = "Scroll UV Generator" +description = "These nodes generate a UV offset which scrolls to the left over 5 seconds then repeats" + +[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_f47k3"] +size = Vector2(579, 259.6) +title = "2x Image UV Scale" +description = "These nodes scale the UV by 2 in the X axis, which results in the texture to tile twice in the X axis." + +[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_ptj6p"] +size = Vector2(752.088, 525.832) +title = "Scrolling Texture" +description = "These nodes add the image and scrolling UVs to sample the title texture. The output is the color of the scrolling texture." + +[sub_resource type="VisualShaderNodeTexture2DParameter" id="5"] +parameter_name = "Title" texture_type = 1 +texture_repeat = 1 -[sub_resource type="VisualShaderNodeInput" id=7] +[sub_resource type="VisualShaderNodeInput" id="7"] input_name = "uv" -[sub_resource type="VisualShaderNodeInput" id=8] +[sub_resource type="VisualShaderNodeInput" id="8"] input_name = "time" -[sub_resource type="VisualShaderNodeVectorOp" id=9] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.2, 0, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="9"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.2, 0, 0)] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=10] +[sub_resource type="VisualShaderNodeVectorOp" id="10"] output_port_for_preview = 0 -[sub_resource type="VisualShaderNodeVectorOp" id=11] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 2, 1, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="11"] +default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 1, 0)] operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=12] -default_input_values = [ 0, 0.0, 1, 5.0 ] +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_3qe54"] +source = 5 + +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_spdkt"] +default_input_values = [0, 0.0, 1, 5.0] operator = 4 -[sub_resource type="VisualShader" id=6] +[sub_resource type="VisualShader" id="6"] code = "shader_type spatial; -render_mode specular_schlick_ggx, unshaded; +render_mode unshaded; -uniform sampler2D Title : hint_albedo; +uniform sampler2D Title : source_color, repeat_enable; -void vertex() { -// Output:0 - -} - void fragment() { // Input:4 float n_out4p0 = TIME; -// ScalarOp:8 - float n_in8p1 = 5.00000; - float n_out8p0 = mod(n_out4p0, n_in8p1); + +// FloatOp:9 + float n_in9p1 = 5.00000; + float n_out9p0 = mod(n_out4p0, n_in9p1); + // VectorOp:5 vec3 n_in5p1 = vec3(0.20000, 0.00000, 0.00000); - vec3 n_out5p0 = vec3(n_out8p0) * n_in5p1; + vec3 n_out5p0 = vec3(n_out9p0) * n_in5p1; + // Input:3 - vec3 n_out3p0 = vec3(UV, 0.0); + vec2 n_out3p0 = UV; + // VectorOp:7 vec3 n_in7p1 = vec3(2.00000, 1.00000, 0.00000); - vec3 n_out7p0 = n_out3p0 * n_in7p1; + vec3 n_out7p0 = vec3(n_out3p0, 0.0) * n_in7p1; + // VectorOp:6 vec3 n_out6p0 = n_out5p0 + n_out7p0; -// TextureUniform:2 - vec3 n_out2p0; - float n_out2p1; - { - vec4 n_tex_read = texture(Title, n_out6p0.xy); - n_out2p0 = n_tex_read.rgb; - n_out2p1 = n_tex_read.a; - } -// Output:0 - ALBEDO = n_out2p0; + vec4 n_out8p0; +// Texture2D:8 + n_out8p0 = texture(Title, vec2(n_out6p0.xy)); -} -void light() { // Output:0 + ALBEDO = vec3(n_out8p0.xyz); + } " -graph_offset = Vector2( -921.082, 269.413 ) +graph_offset = Vector2(-508.681, 463.806) flags/unshaded = true -nodes/fragment/0/position = Vector2( 798, 252 ) -nodes/fragment/2/node = SubResource( 5 ) -nodes/fragment/2/position = Vector2( 378, 315 ) -nodes/fragment/3/node = SubResource( 7 ) -nodes/fragment/3/position = Vector2( -378, 567 ) -nodes/fragment/4/node = SubResource( 8 ) -nodes/fragment/4/position = Vector2( -640, 320 ) -nodes/fragment/5/node = SubResource( 9 ) -nodes/fragment/5/position = Vector2( -189, 294 ) -nodes/fragment/6/node = SubResource( 10 ) -nodes/fragment/6/position = Vector2( 84, 378 ) -nodes/fragment/7/node = SubResource( 11 ) -nodes/fragment/7/position = Vector2( -189, 546 ) -nodes/fragment/8/node = SubResource( 12 ) -nodes/fragment/8/position = Vector2( -400, 300 ) -nodes/fragment/connections = PoolIntArray( 5, 0, 6, 0, 6, 0, 2, 0, 3, 0, 7, 0, 7, 0, 6, 1, 2, 0, 0, 0, 8, 0, 5, 0, 4, 0, 8, 0 ) +nodes/fragment/0/position = Vector2(798, 252) +nodes/fragment/2/node = SubResource("5") +nodes/fragment/2/position = Vector2(120, 500) +nodes/fragment/3/node = SubResource("7") +nodes/fragment/3/position = Vector2(-1080, 640) +nodes/fragment/4/node = SubResource("8") +nodes/fragment/4/position = Vector2(-1120, 260) +nodes/fragment/5/node = SubResource("9") +nodes/fragment/5/position = Vector2(-600, 220) +nodes/fragment/6/node = SubResource("10") +nodes/fragment/6/position = Vector2(-120, 340) +nodes/fragment/7/node = SubResource("11") +nodes/fragment/7/position = Vector2(-620, 600) +nodes/fragment/8/node = SubResource("VisualShaderNodeTexture_3qe54") +nodes/fragment/8/position = Vector2(500, 360) +nodes/fragment/9/node = SubResource("VisualShaderNodeFloatOp_spdkt") +nodes/fragment/9/position = Vector2(-780, 240) +nodes/fragment/10/node = SubResource("VisualShaderNodeComment_t4y4m") +nodes/fragment/10/position = Vector2(-1140, 140) +nodes/fragment/11/node = SubResource("VisualShaderNodeComment_f47k3") +nodes/fragment/11/position = Vector2(-1120, 520) +nodes/fragment/12/node = SubResource("VisualShaderNodeComment_ptj6p") +nodes/fragment/12/position = Vector2(-140, 240) +nodes/fragment/connections = PackedInt32Array(5, 0, 6, 0, 3, 0, 7, 0, 7, 0, 6, 1, 2, 0, 8, 2, 8, 0, 0, 0, 6, 0, 8, 0, 4, 0, 9, 0, 9, 0, 5, 0) [resource] resource_local_to_scene = true -shader = SubResource( 6 ) +render_priority = 0 +shader = SubResource("6") diff --git a/assets/meshes/tube/tube.glb.import b/assets/meshes/tube/tube.glb.import index 0e6e902f..5203212d 100644 --- a/assets/meshes/tube/tube.glb.import +++ b/assets/meshes/tube/tube.glb.import @@ -1,1065 +1,32 @@ [remap] importer="scene" +importer_version=1 type="PackedScene" -path="res://.import/tube.glb-e622891a55884bdb253119e7ceb148f0.scn" +uid="uid://b6ooxhmtqv5hs" +path="res://.godot/imported/tube.glb-e622891a55884bdb253119e7ceb148f0.scn" [deps] source_file="res://assets/meshes/tube/tube.glb" -dest_files=[ "res://.import/tube.glb-e622891a55884bdb253119e7ceb148f0.scn" ] +dest_files=["res://.godot/imported/tube.glb-e622891a55884bdb253119e7ceb148f0.scn"] [params] nodes/root_type="Spatial" nodes/root_name="Scene Root" +nodes/apply_root_scale=true nodes/root_scale=1.0 -nodes/custom_script="" -nodes/storage=0 -nodes/use_legacy_names=false -materials/location=1 -materials/storage=1 -materials/keep_on_reimport=true -meshes/octahedral_compression=true -meshes/compress=4286 meshes/ensure_tangents=true -meshes/storage=0 +meshes/generate_lods=true +meshes/create_shadow_meshes=true meshes/light_baking=0 meshes/lightmap_texel_size=0.1 skins/use_named_skins=true -external_files/store_in_subdir=false animation/import=true animation/fps=15 -animation/filter_script="" -animation/storage=false -animation/keep_custom_tracks=false -animation/optimizer/enabled=true -animation/optimizer/max_linear_error=0.05 -animation/optimizer/max_angular_error=0.01 -animation/optimizer/max_angle=22 -animation/optimizer/remove_unused_tracks=true -animation/clips/amount=0 -animation/clip_1/name="" -animation/clip_1/start_frame=0 -animation/clip_1/end_frame=0 -animation/clip_1/loops=false -animation/clip_2/name="" -animation/clip_2/start_frame=0 -animation/clip_2/end_frame=0 -animation/clip_2/loops=false -animation/clip_3/name="" -animation/clip_3/start_frame=0 -animation/clip_3/end_frame=0 -animation/clip_3/loops=false -animation/clip_4/name="" -animation/clip_4/start_frame=0 -animation/clip_4/end_frame=0 -animation/clip_4/loops=false -animation/clip_5/name="" -animation/clip_5/start_frame=0 -animation/clip_5/end_frame=0 -animation/clip_5/loops=false -animation/clip_6/name="" -animation/clip_6/start_frame=0 -animation/clip_6/end_frame=0 -animation/clip_6/loops=false -animation/clip_7/name="" -animation/clip_7/start_frame=0 -animation/clip_7/end_frame=0 -animation/clip_7/loops=false -animation/clip_8/name="" -animation/clip_8/start_frame=0 -animation/clip_8/end_frame=0 -animation/clip_8/loops=false -animation/clip_9/name="" -animation/clip_9/start_frame=0 -animation/clip_9/end_frame=0 -animation/clip_9/loops=false -animation/clip_10/name="" -animation/clip_10/start_frame=0 -animation/clip_10/end_frame=0 -animation/clip_10/loops=false -animation/clip_11/name="" -animation/clip_11/start_frame=0 -animation/clip_11/end_frame=0 -animation/clip_11/loops=false -animation/clip_12/name="" -animation/clip_12/start_frame=0 -animation/clip_12/end_frame=0 -animation/clip_12/loops=false -animation/clip_13/name="" -animation/clip_13/start_frame=0 -animation/clip_13/end_frame=0 -animation/clip_13/loops=false -animation/clip_14/name="" -animation/clip_14/start_frame=0 -animation/clip_14/end_frame=0 -animation/clip_14/loops=false -animation/clip_15/name="" -animation/clip_15/start_frame=0 -animation/clip_15/end_frame=0 -animation/clip_15/loops=false -animation/clip_16/name="" -animation/clip_16/start_frame=0 -animation/clip_16/end_frame=0 -animation/clip_16/loops=false -animation/clip_17/name="" -animation/clip_17/start_frame=0 -animation/clip_17/end_frame=0 -animation/clip_17/loops=false -animation/clip_18/name="" -animation/clip_18/start_frame=0 -animation/clip_18/end_frame=0 -animation/clip_18/loops=false -animation/clip_19/name="" -animation/clip_19/start_frame=0 -animation/clip_19/end_frame=0 -animation/clip_19/loops=false -animation/clip_20/name="" -animation/clip_20/start_frame=0 -animation/clip_20/end_frame=0 -animation/clip_20/loops=false -animation/clip_21/name="" -animation/clip_21/start_frame=0 -animation/clip_21/end_frame=0 -animation/clip_21/loops=false -animation/clip_22/name="" -animation/clip_22/start_frame=0 -animation/clip_22/end_frame=0 -animation/clip_22/loops=false -animation/clip_23/name="" -animation/clip_23/start_frame=0 -animation/clip_23/end_frame=0 -animation/clip_23/loops=false -animation/clip_24/name="" -animation/clip_24/start_frame=0 -animation/clip_24/end_frame=0 -animation/clip_24/loops=false -animation/clip_25/name="" -animation/clip_25/start_frame=0 -animation/clip_25/end_frame=0 -animation/clip_25/loops=false -animation/clip_26/name="" -animation/clip_26/start_frame=0 -animation/clip_26/end_frame=0 -animation/clip_26/loops=false -animation/clip_27/name="" -animation/clip_27/start_frame=0 -animation/clip_27/end_frame=0 -animation/clip_27/loops=false -animation/clip_28/name="" -animation/clip_28/start_frame=0 -animation/clip_28/end_frame=0 -animation/clip_28/loops=false -animation/clip_29/name="" -animation/clip_29/start_frame=0 -animation/clip_29/end_frame=0 -animation/clip_29/loops=false -animation/clip_30/name="" -animation/clip_30/start_frame=0 -animation/clip_30/end_frame=0 -animation/clip_30/loops=false -animation/clip_31/name="" -animation/clip_31/start_frame=0 -animation/clip_31/end_frame=0 -animation/clip_31/loops=false -animation/clip_32/name="" -animation/clip_32/start_frame=0 -animation/clip_32/end_frame=0 -animation/clip_32/loops=false -animation/clip_33/name="" -animation/clip_33/start_frame=0 -animation/clip_33/end_frame=0 -animation/clip_33/loops=false -animation/clip_34/name="" -animation/clip_34/start_frame=0 -animation/clip_34/end_frame=0 -animation/clip_34/loops=false -animation/clip_35/name="" -animation/clip_35/start_frame=0 -animation/clip_35/end_frame=0 -animation/clip_35/loops=false -animation/clip_36/name="" -animation/clip_36/start_frame=0 -animation/clip_36/end_frame=0 -animation/clip_36/loops=false -animation/clip_37/name="" -animation/clip_37/start_frame=0 -animation/clip_37/end_frame=0 -animation/clip_37/loops=false -animation/clip_38/name="" -animation/clip_38/start_frame=0 -animation/clip_38/end_frame=0 -animation/clip_38/loops=false -animation/clip_39/name="" -animation/clip_39/start_frame=0 -animation/clip_39/end_frame=0 -animation/clip_39/loops=false -animation/clip_40/name="" -animation/clip_40/start_frame=0 -animation/clip_40/end_frame=0 -animation/clip_40/loops=false -animation/clip_41/name="" -animation/clip_41/start_frame=0 -animation/clip_41/end_frame=0 -animation/clip_41/loops=false -animation/clip_42/name="" -animation/clip_42/start_frame=0 -animation/clip_42/end_frame=0 -animation/clip_42/loops=false -animation/clip_43/name="" -animation/clip_43/start_frame=0 -animation/clip_43/end_frame=0 -animation/clip_43/loops=false -animation/clip_44/name="" -animation/clip_44/start_frame=0 -animation/clip_44/end_frame=0 -animation/clip_44/loops=false -animation/clip_45/name="" -animation/clip_45/start_frame=0 -animation/clip_45/end_frame=0 -animation/clip_45/loops=false -animation/clip_46/name="" -animation/clip_46/start_frame=0 -animation/clip_46/end_frame=0 -animation/clip_46/loops=false -animation/clip_47/name="" -animation/clip_47/start_frame=0 -animation/clip_47/end_frame=0 -animation/clip_47/loops=false -animation/clip_48/name="" -animation/clip_48/start_frame=0 -animation/clip_48/end_frame=0 -animation/clip_48/loops=false -animation/clip_49/name="" -animation/clip_49/start_frame=0 -animation/clip_49/end_frame=0 -animation/clip_49/loops=false -animation/clip_50/name="" -animation/clip_50/start_frame=0 -animation/clip_50/end_frame=0 -animation/clip_50/loops=false -animation/clip_51/name="" -animation/clip_51/start_frame=0 -animation/clip_51/end_frame=0 -animation/clip_51/loops=false -animation/clip_52/name="" -animation/clip_52/start_frame=0 -animation/clip_52/end_frame=0 -animation/clip_52/loops=false -animation/clip_53/name="" -animation/clip_53/start_frame=0 -animation/clip_53/end_frame=0 -animation/clip_53/loops=false -animation/clip_54/name="" -animation/clip_54/start_frame=0 -animation/clip_54/end_frame=0 -animation/clip_54/loops=false -animation/clip_55/name="" -animation/clip_55/start_frame=0 -animation/clip_55/end_frame=0 -animation/clip_55/loops=false -animation/clip_56/name="" -animation/clip_56/start_frame=0 -animation/clip_56/end_frame=0 -animation/clip_56/loops=false -animation/clip_57/name="" -animation/clip_57/start_frame=0 -animation/clip_57/end_frame=0 -animation/clip_57/loops=false -animation/clip_58/name="" -animation/clip_58/start_frame=0 -animation/clip_58/end_frame=0 -animation/clip_58/loops=false -animation/clip_59/name="" -animation/clip_59/start_frame=0 -animation/clip_59/end_frame=0 -animation/clip_59/loops=false -animation/clip_60/name="" -animation/clip_60/start_frame=0 -animation/clip_60/end_frame=0 -animation/clip_60/loops=false -animation/clip_61/name="" -animation/clip_61/start_frame=0 -animation/clip_61/end_frame=0 -animation/clip_61/loops=false -animation/clip_62/name="" -animation/clip_62/start_frame=0 -animation/clip_62/end_frame=0 -animation/clip_62/loops=false -animation/clip_63/name="" -animation/clip_63/start_frame=0 -animation/clip_63/end_frame=0 -animation/clip_63/loops=false -animation/clip_64/name="" -animation/clip_64/start_frame=0 -animation/clip_64/end_frame=0 -animation/clip_64/loops=false -animation/clip_65/name="" -animation/clip_65/start_frame=0 -animation/clip_65/end_frame=0 -animation/clip_65/loops=false -animation/clip_66/name="" -animation/clip_66/start_frame=0 -animation/clip_66/end_frame=0 -animation/clip_66/loops=false -animation/clip_67/name="" -animation/clip_67/start_frame=0 -animation/clip_67/end_frame=0 -animation/clip_67/loops=false -animation/clip_68/name="" -animation/clip_68/start_frame=0 -animation/clip_68/end_frame=0 -animation/clip_68/loops=false -animation/clip_69/name="" -animation/clip_69/start_frame=0 -animation/clip_69/end_frame=0 -animation/clip_69/loops=false -animation/clip_70/name="" -animation/clip_70/start_frame=0 -animation/clip_70/end_frame=0 -animation/clip_70/loops=false -animation/clip_71/name="" -animation/clip_71/start_frame=0 -animation/clip_71/end_frame=0 -animation/clip_71/loops=false -animation/clip_72/name="" -animation/clip_72/start_frame=0 -animation/clip_72/end_frame=0 -animation/clip_72/loops=false -animation/clip_73/name="" -animation/clip_73/start_frame=0 -animation/clip_73/end_frame=0 -animation/clip_73/loops=false -animation/clip_74/name="" -animation/clip_74/start_frame=0 -animation/clip_74/end_frame=0 -animation/clip_74/loops=false -animation/clip_75/name="" -animation/clip_75/start_frame=0 -animation/clip_75/end_frame=0 -animation/clip_75/loops=false -animation/clip_76/name="" -animation/clip_76/start_frame=0 -animation/clip_76/end_frame=0 -animation/clip_76/loops=false -animation/clip_77/name="" -animation/clip_77/start_frame=0 -animation/clip_77/end_frame=0 -animation/clip_77/loops=false -animation/clip_78/name="" -animation/clip_78/start_frame=0 -animation/clip_78/end_frame=0 -animation/clip_78/loops=false -animation/clip_79/name="" -animation/clip_79/start_frame=0 -animation/clip_79/end_frame=0 -animation/clip_79/loops=false -animation/clip_80/name="" -animation/clip_80/start_frame=0 -animation/clip_80/end_frame=0 -animation/clip_80/loops=false -animation/clip_81/name="" -animation/clip_81/start_frame=0 -animation/clip_81/end_frame=0 -animation/clip_81/loops=false -animation/clip_82/name="" -animation/clip_82/start_frame=0 -animation/clip_82/end_frame=0 -animation/clip_82/loops=false -animation/clip_83/name="" -animation/clip_83/start_frame=0 -animation/clip_83/end_frame=0 -animation/clip_83/loops=false -animation/clip_84/name="" -animation/clip_84/start_frame=0 -animation/clip_84/end_frame=0 -animation/clip_84/loops=false -animation/clip_85/name="" -animation/clip_85/start_frame=0 -animation/clip_85/end_frame=0 -animation/clip_85/loops=false -animation/clip_86/name="" -animation/clip_86/start_frame=0 -animation/clip_86/end_frame=0 -animation/clip_86/loops=false -animation/clip_87/name="" -animation/clip_87/start_frame=0 -animation/clip_87/end_frame=0 -animation/clip_87/loops=false -animation/clip_88/name="" -animation/clip_88/start_frame=0 -animation/clip_88/end_frame=0 -animation/clip_88/loops=false -animation/clip_89/name="" -animation/clip_89/start_frame=0 -animation/clip_89/end_frame=0 -animation/clip_89/loops=false -animation/clip_90/name="" -animation/clip_90/start_frame=0 -animation/clip_90/end_frame=0 -animation/clip_90/loops=false -animation/clip_91/name="" -animation/clip_91/start_frame=0 -animation/clip_91/end_frame=0 -animation/clip_91/loops=false -animation/clip_92/name="" -animation/clip_92/start_frame=0 -animation/clip_92/end_frame=0 -animation/clip_92/loops=false -animation/clip_93/name="" -animation/clip_93/start_frame=0 -animation/clip_93/end_frame=0 -animation/clip_93/loops=false -animation/clip_94/name="" -animation/clip_94/start_frame=0 -animation/clip_94/end_frame=0 -animation/clip_94/loops=false -animation/clip_95/name="" -animation/clip_95/start_frame=0 -animation/clip_95/end_frame=0 -animation/clip_95/loops=false -animation/clip_96/name="" -animation/clip_96/start_frame=0 -animation/clip_96/end_frame=0 -animation/clip_96/loops=false -animation/clip_97/name="" -animation/clip_97/start_frame=0 -animation/clip_97/end_frame=0 -animation/clip_97/loops=false -animation/clip_98/name="" -animation/clip_98/start_frame=0 -animation/clip_98/end_frame=0 -animation/clip_98/loops=false -animation/clip_99/name="" -animation/clip_99/start_frame=0 -animation/clip_99/end_frame=0 -animation/clip_99/loops=false -animation/clip_100/name="" -animation/clip_100/start_frame=0 -animation/clip_100/end_frame=0 -animation/clip_100/loops=false -animation/clip_101/name="" -animation/clip_101/start_frame=0 -animation/clip_101/end_frame=0 -animation/clip_101/loops=false -animation/clip_102/name="" -animation/clip_102/start_frame=0 -animation/clip_102/end_frame=0 -animation/clip_102/loops=false -animation/clip_103/name="" -animation/clip_103/start_frame=0 -animation/clip_103/end_frame=0 -animation/clip_103/loops=false -animation/clip_104/name="" -animation/clip_104/start_frame=0 -animation/clip_104/end_frame=0 -animation/clip_104/loops=false -animation/clip_105/name="" -animation/clip_105/start_frame=0 -animation/clip_105/end_frame=0 -animation/clip_105/loops=false -animation/clip_106/name="" -animation/clip_106/start_frame=0 -animation/clip_106/end_frame=0 -animation/clip_106/loops=false -animation/clip_107/name="" -animation/clip_107/start_frame=0 -animation/clip_107/end_frame=0 -animation/clip_107/loops=false -animation/clip_108/name="" -animation/clip_108/start_frame=0 -animation/clip_108/end_frame=0 -animation/clip_108/loops=false -animation/clip_109/name="" -animation/clip_109/start_frame=0 -animation/clip_109/end_frame=0 -animation/clip_109/loops=false -animation/clip_110/name="" -animation/clip_110/start_frame=0 -animation/clip_110/end_frame=0 -animation/clip_110/loops=false -animation/clip_111/name="" -animation/clip_111/start_frame=0 -animation/clip_111/end_frame=0 -animation/clip_111/loops=false -animation/clip_112/name="" -animation/clip_112/start_frame=0 -animation/clip_112/end_frame=0 -animation/clip_112/loops=false -animation/clip_113/name="" -animation/clip_113/start_frame=0 -animation/clip_113/end_frame=0 -animation/clip_113/loops=false -animation/clip_114/name="" -animation/clip_114/start_frame=0 -animation/clip_114/end_frame=0 -animation/clip_114/loops=false -animation/clip_115/name="" -animation/clip_115/start_frame=0 -animation/clip_115/end_frame=0 -animation/clip_115/loops=false -animation/clip_116/name="" -animation/clip_116/start_frame=0 -animation/clip_116/end_frame=0 -animation/clip_116/loops=false -animation/clip_117/name="" -animation/clip_117/start_frame=0 -animation/clip_117/end_frame=0 -animation/clip_117/loops=false -animation/clip_118/name="" -animation/clip_118/start_frame=0 -animation/clip_118/end_frame=0 -animation/clip_118/loops=false -animation/clip_119/name="" -animation/clip_119/start_frame=0 -animation/clip_119/end_frame=0 -animation/clip_119/loops=false -animation/clip_120/name="" -animation/clip_120/start_frame=0 -animation/clip_120/end_frame=0 -animation/clip_120/loops=false -animation/clip_121/name="" -animation/clip_121/start_frame=0 -animation/clip_121/end_frame=0 -animation/clip_121/loops=false -animation/clip_122/name="" -animation/clip_122/start_frame=0 -animation/clip_122/end_frame=0 -animation/clip_122/loops=false -animation/clip_123/name="" -animation/clip_123/start_frame=0 -animation/clip_123/end_frame=0 -animation/clip_123/loops=false -animation/clip_124/name="" -animation/clip_124/start_frame=0 -animation/clip_124/end_frame=0 -animation/clip_124/loops=false -animation/clip_125/name="" -animation/clip_125/start_frame=0 -animation/clip_125/end_frame=0 -animation/clip_125/loops=false -animation/clip_126/name="" -animation/clip_126/start_frame=0 -animation/clip_126/end_frame=0 -animation/clip_126/loops=false -animation/clip_127/name="" -animation/clip_127/start_frame=0 -animation/clip_127/end_frame=0 -animation/clip_127/loops=false -animation/clip_128/name="" -animation/clip_128/start_frame=0 -animation/clip_128/end_frame=0 -animation/clip_128/loops=false -animation/clip_129/name="" -animation/clip_129/start_frame=0 -animation/clip_129/end_frame=0 -animation/clip_129/loops=false -animation/clip_130/name="" -animation/clip_130/start_frame=0 -animation/clip_130/end_frame=0 -animation/clip_130/loops=false -animation/clip_131/name="" -animation/clip_131/start_frame=0 -animation/clip_131/end_frame=0 -animation/clip_131/loops=false -animation/clip_132/name="" -animation/clip_132/start_frame=0 -animation/clip_132/end_frame=0 -animation/clip_132/loops=false -animation/clip_133/name="" -animation/clip_133/start_frame=0 -animation/clip_133/end_frame=0 -animation/clip_133/loops=false -animation/clip_134/name="" -animation/clip_134/start_frame=0 -animation/clip_134/end_frame=0 -animation/clip_134/loops=false -animation/clip_135/name="" -animation/clip_135/start_frame=0 -animation/clip_135/end_frame=0 -animation/clip_135/loops=false -animation/clip_136/name="" -animation/clip_136/start_frame=0 -animation/clip_136/end_frame=0 -animation/clip_136/loops=false -animation/clip_137/name="" -animation/clip_137/start_frame=0 -animation/clip_137/end_frame=0 -animation/clip_137/loops=false -animation/clip_138/name="" -animation/clip_138/start_frame=0 -animation/clip_138/end_frame=0 -animation/clip_138/loops=false -animation/clip_139/name="" -animation/clip_139/start_frame=0 -animation/clip_139/end_frame=0 -animation/clip_139/loops=false -animation/clip_140/name="" -animation/clip_140/start_frame=0 -animation/clip_140/end_frame=0 -animation/clip_140/loops=false -animation/clip_141/name="" -animation/clip_141/start_frame=0 -animation/clip_141/end_frame=0 -animation/clip_141/loops=false -animation/clip_142/name="" -animation/clip_142/start_frame=0 -animation/clip_142/end_frame=0 -animation/clip_142/loops=false -animation/clip_143/name="" -animation/clip_143/start_frame=0 -animation/clip_143/end_frame=0 -animation/clip_143/loops=false -animation/clip_144/name="" -animation/clip_144/start_frame=0 -animation/clip_144/end_frame=0 -animation/clip_144/loops=false -animation/clip_145/name="" -animation/clip_145/start_frame=0 -animation/clip_145/end_frame=0 -animation/clip_145/loops=false -animation/clip_146/name="" -animation/clip_146/start_frame=0 -animation/clip_146/end_frame=0 -animation/clip_146/loops=false -animation/clip_147/name="" -animation/clip_147/start_frame=0 -animation/clip_147/end_frame=0 -animation/clip_147/loops=false -animation/clip_148/name="" -animation/clip_148/start_frame=0 -animation/clip_148/end_frame=0 -animation/clip_148/loops=false -animation/clip_149/name="" -animation/clip_149/start_frame=0 -animation/clip_149/end_frame=0 -animation/clip_149/loops=false -animation/clip_150/name="" -animation/clip_150/start_frame=0 -animation/clip_150/end_frame=0 -animation/clip_150/loops=false -animation/clip_151/name="" -animation/clip_151/start_frame=0 -animation/clip_151/end_frame=0 -animation/clip_151/loops=false -animation/clip_152/name="" -animation/clip_152/start_frame=0 -animation/clip_152/end_frame=0 -animation/clip_152/loops=false -animation/clip_153/name="" -animation/clip_153/start_frame=0 -animation/clip_153/end_frame=0 -animation/clip_153/loops=false -animation/clip_154/name="" -animation/clip_154/start_frame=0 -animation/clip_154/end_frame=0 -animation/clip_154/loops=false -animation/clip_155/name="" -animation/clip_155/start_frame=0 -animation/clip_155/end_frame=0 -animation/clip_155/loops=false -animation/clip_156/name="" -animation/clip_156/start_frame=0 -animation/clip_156/end_frame=0 -animation/clip_156/loops=false -animation/clip_157/name="" -animation/clip_157/start_frame=0 -animation/clip_157/end_frame=0 -animation/clip_157/loops=false -animation/clip_158/name="" -animation/clip_158/start_frame=0 -animation/clip_158/end_frame=0 -animation/clip_158/loops=false -animation/clip_159/name="" -animation/clip_159/start_frame=0 -animation/clip_159/end_frame=0 -animation/clip_159/loops=false -animation/clip_160/name="" -animation/clip_160/start_frame=0 -animation/clip_160/end_frame=0 -animation/clip_160/loops=false -animation/clip_161/name="" -animation/clip_161/start_frame=0 -animation/clip_161/end_frame=0 -animation/clip_161/loops=false -animation/clip_162/name="" -animation/clip_162/start_frame=0 -animation/clip_162/end_frame=0 -animation/clip_162/loops=false -animation/clip_163/name="" -animation/clip_163/start_frame=0 -animation/clip_163/end_frame=0 -animation/clip_163/loops=false -animation/clip_164/name="" -animation/clip_164/start_frame=0 -animation/clip_164/end_frame=0 -animation/clip_164/loops=false -animation/clip_165/name="" -animation/clip_165/start_frame=0 -animation/clip_165/end_frame=0 -animation/clip_165/loops=false -animation/clip_166/name="" -animation/clip_166/start_frame=0 -animation/clip_166/end_frame=0 -animation/clip_166/loops=false -animation/clip_167/name="" -animation/clip_167/start_frame=0 -animation/clip_167/end_frame=0 -animation/clip_167/loops=false -animation/clip_168/name="" -animation/clip_168/start_frame=0 -animation/clip_168/end_frame=0 -animation/clip_168/loops=false -animation/clip_169/name="" -animation/clip_169/start_frame=0 -animation/clip_169/end_frame=0 -animation/clip_169/loops=false -animation/clip_170/name="" -animation/clip_170/start_frame=0 -animation/clip_170/end_frame=0 -animation/clip_170/loops=false -animation/clip_171/name="" -animation/clip_171/start_frame=0 -animation/clip_171/end_frame=0 -animation/clip_171/loops=false -animation/clip_172/name="" -animation/clip_172/start_frame=0 -animation/clip_172/end_frame=0 -animation/clip_172/loops=false -animation/clip_173/name="" -animation/clip_173/start_frame=0 -animation/clip_173/end_frame=0 -animation/clip_173/loops=false -animation/clip_174/name="" -animation/clip_174/start_frame=0 -animation/clip_174/end_frame=0 -animation/clip_174/loops=false -animation/clip_175/name="" -animation/clip_175/start_frame=0 -animation/clip_175/end_frame=0 -animation/clip_175/loops=false -animation/clip_176/name="" -animation/clip_176/start_frame=0 -animation/clip_176/end_frame=0 -animation/clip_176/loops=false -animation/clip_177/name="" -animation/clip_177/start_frame=0 -animation/clip_177/end_frame=0 -animation/clip_177/loops=false -animation/clip_178/name="" -animation/clip_178/start_frame=0 -animation/clip_178/end_frame=0 -animation/clip_178/loops=false -animation/clip_179/name="" -animation/clip_179/start_frame=0 -animation/clip_179/end_frame=0 -animation/clip_179/loops=false -animation/clip_180/name="" -animation/clip_180/start_frame=0 -animation/clip_180/end_frame=0 -animation/clip_180/loops=false -animation/clip_181/name="" -animation/clip_181/start_frame=0 -animation/clip_181/end_frame=0 -animation/clip_181/loops=false -animation/clip_182/name="" -animation/clip_182/start_frame=0 -animation/clip_182/end_frame=0 -animation/clip_182/loops=false -animation/clip_183/name="" -animation/clip_183/start_frame=0 -animation/clip_183/end_frame=0 -animation/clip_183/loops=false -animation/clip_184/name="" -animation/clip_184/start_frame=0 -animation/clip_184/end_frame=0 -animation/clip_184/loops=false -animation/clip_185/name="" -animation/clip_185/start_frame=0 -animation/clip_185/end_frame=0 -animation/clip_185/loops=false -animation/clip_186/name="" -animation/clip_186/start_frame=0 -animation/clip_186/end_frame=0 -animation/clip_186/loops=false -animation/clip_187/name="" -animation/clip_187/start_frame=0 -animation/clip_187/end_frame=0 -animation/clip_187/loops=false -animation/clip_188/name="" -animation/clip_188/start_frame=0 -animation/clip_188/end_frame=0 -animation/clip_188/loops=false -animation/clip_189/name="" -animation/clip_189/start_frame=0 -animation/clip_189/end_frame=0 -animation/clip_189/loops=false -animation/clip_190/name="" -animation/clip_190/start_frame=0 -animation/clip_190/end_frame=0 -animation/clip_190/loops=false -animation/clip_191/name="" -animation/clip_191/start_frame=0 -animation/clip_191/end_frame=0 -animation/clip_191/loops=false -animation/clip_192/name="" -animation/clip_192/start_frame=0 -animation/clip_192/end_frame=0 -animation/clip_192/loops=false -animation/clip_193/name="" -animation/clip_193/start_frame=0 -animation/clip_193/end_frame=0 -animation/clip_193/loops=false -animation/clip_194/name="" -animation/clip_194/start_frame=0 -animation/clip_194/end_frame=0 -animation/clip_194/loops=false -animation/clip_195/name="" -animation/clip_195/start_frame=0 -animation/clip_195/end_frame=0 -animation/clip_195/loops=false -animation/clip_196/name="" -animation/clip_196/start_frame=0 -animation/clip_196/end_frame=0 -animation/clip_196/loops=false -animation/clip_197/name="" -animation/clip_197/start_frame=0 -animation/clip_197/end_frame=0 -animation/clip_197/loops=false -animation/clip_198/name="" -animation/clip_198/start_frame=0 -animation/clip_198/end_frame=0 -animation/clip_198/loops=false -animation/clip_199/name="" -animation/clip_199/start_frame=0 -animation/clip_199/end_frame=0 -animation/clip_199/loops=false -animation/clip_200/name="" -animation/clip_200/start_frame=0 -animation/clip_200/end_frame=0 -animation/clip_200/loops=false -animation/clip_201/name="" -animation/clip_201/start_frame=0 -animation/clip_201/end_frame=0 -animation/clip_201/loops=false -animation/clip_202/name="" -animation/clip_202/start_frame=0 -animation/clip_202/end_frame=0 -animation/clip_202/loops=false -animation/clip_203/name="" -animation/clip_203/start_frame=0 -animation/clip_203/end_frame=0 -animation/clip_203/loops=false -animation/clip_204/name="" -animation/clip_204/start_frame=0 -animation/clip_204/end_frame=0 -animation/clip_204/loops=false -animation/clip_205/name="" -animation/clip_205/start_frame=0 -animation/clip_205/end_frame=0 -animation/clip_205/loops=false -animation/clip_206/name="" -animation/clip_206/start_frame=0 -animation/clip_206/end_frame=0 -animation/clip_206/loops=false -animation/clip_207/name="" -animation/clip_207/start_frame=0 -animation/clip_207/end_frame=0 -animation/clip_207/loops=false -animation/clip_208/name="" -animation/clip_208/start_frame=0 -animation/clip_208/end_frame=0 -animation/clip_208/loops=false -animation/clip_209/name="" -animation/clip_209/start_frame=0 -animation/clip_209/end_frame=0 -animation/clip_209/loops=false -animation/clip_210/name="" -animation/clip_210/start_frame=0 -animation/clip_210/end_frame=0 -animation/clip_210/loops=false -animation/clip_211/name="" -animation/clip_211/start_frame=0 -animation/clip_211/end_frame=0 -animation/clip_211/loops=false -animation/clip_212/name="" -animation/clip_212/start_frame=0 -animation/clip_212/end_frame=0 -animation/clip_212/loops=false -animation/clip_213/name="" -animation/clip_213/start_frame=0 -animation/clip_213/end_frame=0 -animation/clip_213/loops=false -animation/clip_214/name="" -animation/clip_214/start_frame=0 -animation/clip_214/end_frame=0 -animation/clip_214/loops=false -animation/clip_215/name="" -animation/clip_215/start_frame=0 -animation/clip_215/end_frame=0 -animation/clip_215/loops=false -animation/clip_216/name="" -animation/clip_216/start_frame=0 -animation/clip_216/end_frame=0 -animation/clip_216/loops=false -animation/clip_217/name="" -animation/clip_217/start_frame=0 -animation/clip_217/end_frame=0 -animation/clip_217/loops=false -animation/clip_218/name="" -animation/clip_218/start_frame=0 -animation/clip_218/end_frame=0 -animation/clip_218/loops=false -animation/clip_219/name="" -animation/clip_219/start_frame=0 -animation/clip_219/end_frame=0 -animation/clip_219/loops=false -animation/clip_220/name="" -animation/clip_220/start_frame=0 -animation/clip_220/end_frame=0 -animation/clip_220/loops=false -animation/clip_221/name="" -animation/clip_221/start_frame=0 -animation/clip_221/end_frame=0 -animation/clip_221/loops=false -animation/clip_222/name="" -animation/clip_222/start_frame=0 -animation/clip_222/end_frame=0 -animation/clip_222/loops=false -animation/clip_223/name="" -animation/clip_223/start_frame=0 -animation/clip_223/end_frame=0 -animation/clip_223/loops=false -animation/clip_224/name="" -animation/clip_224/start_frame=0 -animation/clip_224/end_frame=0 -animation/clip_224/loops=false -animation/clip_225/name="" -animation/clip_225/start_frame=0 -animation/clip_225/end_frame=0 -animation/clip_225/loops=false -animation/clip_226/name="" -animation/clip_226/start_frame=0 -animation/clip_226/end_frame=0 -animation/clip_226/loops=false -animation/clip_227/name="" -animation/clip_227/start_frame=0 -animation/clip_227/end_frame=0 -animation/clip_227/loops=false -animation/clip_228/name="" -animation/clip_228/start_frame=0 -animation/clip_228/end_frame=0 -animation/clip_228/loops=false -animation/clip_229/name="" -animation/clip_229/start_frame=0 -animation/clip_229/end_frame=0 -animation/clip_229/loops=false -animation/clip_230/name="" -animation/clip_230/start_frame=0 -animation/clip_230/end_frame=0 -animation/clip_230/loops=false -animation/clip_231/name="" -animation/clip_231/start_frame=0 -animation/clip_231/end_frame=0 -animation/clip_231/loops=false -animation/clip_232/name="" -animation/clip_232/start_frame=0 -animation/clip_232/end_frame=0 -animation/clip_232/loops=false -animation/clip_233/name="" -animation/clip_233/start_frame=0 -animation/clip_233/end_frame=0 -animation/clip_233/loops=false -animation/clip_234/name="" -animation/clip_234/start_frame=0 -animation/clip_234/end_frame=0 -animation/clip_234/loops=false -animation/clip_235/name="" -animation/clip_235/start_frame=0 -animation/clip_235/end_frame=0 -animation/clip_235/loops=false -animation/clip_236/name="" -animation/clip_236/start_frame=0 -animation/clip_236/end_frame=0 -animation/clip_236/loops=false -animation/clip_237/name="" -animation/clip_237/start_frame=0 -animation/clip_237/end_frame=0 -animation/clip_237/loops=false -animation/clip_238/name="" -animation/clip_238/start_frame=0 -animation/clip_238/end_frame=0 -animation/clip_238/loops=false -animation/clip_239/name="" -animation/clip_239/start_frame=0 -animation/clip_239/end_frame=0 -animation/clip_239/loops=false -animation/clip_240/name="" -animation/clip_240/start_frame=0 -animation/clip_240/end_frame=0 -animation/clip_240/loops=false -animation/clip_241/name="" -animation/clip_241/start_frame=0 -animation/clip_241/end_frame=0 -animation/clip_241/loops=false -animation/clip_242/name="" -animation/clip_242/start_frame=0 -animation/clip_242/end_frame=0 -animation/clip_242/loops=false -animation/clip_243/name="" -animation/clip_243/start_frame=0 -animation/clip_243/end_frame=0 -animation/clip_243/loops=false -animation/clip_244/name="" -animation/clip_244/start_frame=0 -animation/clip_244/end_frame=0 -animation/clip_244/loops=false -animation/clip_245/name="" -animation/clip_245/start_frame=0 -animation/clip_245/end_frame=0 -animation/clip_245/loops=false -animation/clip_246/name="" -animation/clip_246/start_frame=0 -animation/clip_246/end_frame=0 -animation/clip_246/loops=false -animation/clip_247/name="" -animation/clip_247/start_frame=0 -animation/clip_247/end_frame=0 -animation/clip_247/loops=false -animation/clip_248/name="" -animation/clip_248/start_frame=0 -animation/clip_248/end_frame=0 -animation/clip_248/loops=false -animation/clip_249/name="" -animation/clip_249/start_frame=0 -animation/clip_249/end_frame=0 -animation/clip_249/loops=false -animation/clip_250/name="" -animation/clip_250/start_frame=0 -animation/clip_250/end_frame=0 -animation/clip_250/loops=false -animation/clip_251/name="" -animation/clip_251/start_frame=0 -animation/clip_251/end_frame=0 -animation/clip_251/loops=false -animation/clip_252/name="" -animation/clip_252/start_frame=0 -animation/clip_252/end_frame=0 -animation/clip_252/loops=false -animation/clip_253/name="" -animation/clip_253/start_frame=0 -animation/clip_253/end_frame=0 -animation/clip_253/loops=false -animation/clip_254/name="" -animation/clip_254/start_frame=0 -animation/clip_254/end_frame=0 -animation/clip_254/loops=false -animation/clip_255/name="" -animation/clip_255/start_frame=0 -animation/clip_255/end_frame=0 -animation/clip_255/loops=false -animation/clip_256/name="" -animation/clip_256/start_frame=0 -animation/clip_256/end_frame=0 -animation/clip_256/loops=false +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={} +gltf/embedded_image_handling=1 diff --git a/assets/meshes/tube/tube.tscn b/assets/meshes/tube/tube.tscn new file mode 100644 index 00000000..65cb71f5 --- /dev/null +++ b/assets/meshes/tube/tube.tscn @@ -0,0 +1,5 @@ +[gd_scene load_steps=2 format=3 uid="uid://dv5fw4334rjng"] + +[ext_resource type="PackedScene" uid="uid://b6ooxhmtqv5hs" path="res://assets/meshes/tube/tube.glb" id="1_2ic3o"] + +[node name="Tube" instance=ExtResource("1_2ic3o")] diff --git a/assets/meshes/tube/tube_mesh.tres b/assets/meshes/tube/tube_mesh.tres index 0f960f2d..c0fa0a05 100644 --- a/assets/meshes/tube/tube_mesh.tres +++ b/assets/meshes/tube/tube_mesh.tres @@ -1,15 +1,33 @@ -[gd_resource type="ArrayMesh" format=2] +[gd_resource type="ArrayMesh" load_steps=3 format=3 uid="uid://u5c1y27oj00t"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_63gm4"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_hgony"] +_surfaces = [{ +"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1), +"format": 4097, +"index_count": 96, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 1, 0, 31, 0, 30, 0, 0, 0, 1, 0), +"lods": [0.0672776, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 30, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 30, 0, 5, 0, 31, 0, 10, 0, 14, 0, 13, 0, 14, 0, 17, 0, 13, 0, 14, 0, 16, 0, 17, 0, 28, 0, 30, 0, 31, 0, 28, 0, 31, 0, 27, 0, 24, 0, 28, 0, 27, 0, 24, 0, 27, 0, 23, 0, 20, 0, 24, 0, 23, 0, 20, 0, 23, 0, 19, 0, 16, 0, 20, 0, 19, 0, 16, 0, 19, 0, 17, 0), 0.164049, PackedByteArray(2, 0, 13, 0, 5, 0, 2, 0, 10, 0, 13, 0, 10, 0, 17, 0, 13, 0, 10, 0, 16, 0, 17, 0, 16, 0, 23, 0, 17, 0, 16, 0, 20, 0, 23, 0, 20, 0, 2, 0, 23, 0, 2, 0, 5, 0, 23, 0), 0.399072, PackedByteArray(20, 0, 17, 0, 5, 0, 20, 0, 16, 0, 17, 0, 16, 0, 5, 0, 17, 0, 16, 0, 20, 0, 5, 0)], +"primitive": 3, +"vertex_count": 32, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190) +}] +blend_shape_mode = 0 [resource] resource_name = "tube_Cylinder" -surfaces/0 = { -"aabb": AABB( -0.5, -0.5, -0.5, 1, 1, 1 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 0, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 60, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 0, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 60, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 60, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 0, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 60, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 0, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 60, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 0, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 60, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 60, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 0, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 60, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 0, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 60, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 60, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 0, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 60, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 0, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 60, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 0 ), -"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1), +"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0), +"format": 4119, "index_count": 96, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 34 -} +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0), +"lods": [0.0672776, PackedByteArray(57, 0, 59, 0, 58, 0, 57, 0, 10, 0, 59, 0, 32, 0, 57, 0, 58, 0, 10, 0, 13, 0, 59, 0, 32, 0, 58, 0, 33, 0, 10, 0, 14, 0, 13, 0, 14, 0, 18, 0, 13, 0, 14, 0, 16, 0, 18, 0, 30, 0, 32, 0, 33, 0, 30, 0, 33, 0, 29, 0, 26, 0, 30, 0, 29, 0, 26, 0, 29, 0, 25, 0, 22, 0, 26, 0, 25, 0, 22, 0, 25, 0, 21, 0, 17, 0, 22, 0, 21, 0, 17, 0, 21, 0, 19, 0), 0.164049, PackedByteArray(42, 0, 49, 0, 45, 0, 42, 0, 47, 0, 49, 0, 48, 0, 52, 0, 13, 0, 48, 0, 50, 0, 52, 0, 51, 0, 54, 0, 19, 0, 51, 0, 22, 0, 54, 0, 53, 0, 43, 0, 55, 0, 44, 0, 46, 0, 56, 0), 0.399072, PackedByteArray(40, 0, 38, 0, 34, 0, 22, 0, 16, 0, 18, 0, 37, 0, 35, 0, 39, 0, 17, 0, 41, 0, 36, 0)], +"material": SubResource("StandardMaterial3D_63gm4"), +"primitive": 3, +"vertex_count": 60, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 173, 197, 255, 127, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 15, 173, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 79, 101, 255, 127, 0, 0, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 166, 12, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 84, 173, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 116, 29, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 250, 172, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 40, 95, 255, 127, 255, 191, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 126, 167, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 71, 174, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 74, 239, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 202, 156, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 163, 241, 0, 0, 255, 223, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 255, 255, 114, 131, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 0, 186, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 255, 235, 135, 255, 255, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 52, 163, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 172, 91, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 144, 170, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 117, 3, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 180, 71, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 123, 133, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 130, 215, 124, 165, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 47, 195, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 25, 214, 0, 0, 255, 223, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 117, 147, 0, 0, 255, 255) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_hgony") diff --git a/assets/nasa/starmap_and_constellation_figures_4k.jpg.import b/assets/nasa/starmap_and_constellation_figures_4k.jpg.import index 849f7bb2..c0f13893 100644 --- a/assets/nasa/starmap_and_constellation_figures_4k.jpg.import +++ b/assets/nasa/starmap_and_constellation_figures_4k.jpg.import @@ -1,35 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.stex" +type="CompressedTexture2D" +uid="uid://2tmlveuwlpbw" +path.bptc="res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.bptc.ctex" +path.astc="res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.astc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true } [deps] source_file="res://assets/nasa/starmap_and_constellation_figures_4k.jpg" -dest_files=[ "res://.import/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.stex" ] +dest_files=["res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.bptc.ctex", "res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.astc.ctex"] [params] -compress/mode=0 +compress/mode=2 +compress/high_quality=true compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/wahooney.itch.io/blue_grid.png.import b/assets/wahooney.itch.io/blue_grid.png.import index c8a67f5e..132ddc82 100644 --- a/assets/wahooney.itch.io/blue_grid.png.import +++ b/assets/wahooney.itch.io/blue_grid.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.stex" -path.etc="res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.etc.stex" +type="CompressedTexture2D" +uid="uid://l8veg5s02oeb" +path.s3tc="res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.ctex" +path.etc2="res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/wahooney.itch.io/blue_grid.png" -dest_files=[ "res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.stex", "res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.etc.stex" ] +dest_files=["res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.ctex", "res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/wahooney.itch.io/blue_grid.tres b/assets/wahooney.itch.io/blue_grid.tres index aaea2650..6d9a728c 100644 --- a/assets/wahooney.itch.io/blue_grid.tres +++ b/assets/wahooney.itch.io/blue_grid.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.png" type="Texture" id=1] +[ext_resource path="res://assets/wahooney.itch.io/blue_grid.png" type="Texture2D" id=1] [resource] albedo_texture = ExtResource( 1 ) diff --git a/assets/wahooney.itch.io/brown_grid.png.import b/assets/wahooney.itch.io/brown_grid.png.import index 0bc3db88..d7cc5bea 100644 --- a/assets/wahooney.itch.io/brown_grid.png.import +++ b/assets/wahooney.itch.io/brown_grid.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.stex" -path.etc="res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc.stex" +type="CompressedTexture2D" +uid="uid://bskwc0drdadnd" +path.s3tc="res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.ctex" +path.etc2="res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/wahooney.itch.io/brown_grid.png" -dest_files=[ "res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.stex", "res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc.stex" ] +dest_files=["res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.ctex", "res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/wahooney.itch.io/brown_grid_triplanar.tres b/assets/wahooney.itch.io/brown_grid_triplanar.tres index 993409f5..e6825e55 100644 --- a/assets/wahooney.itch.io/brown_grid_triplanar.tres +++ b/assets/wahooney.itch.io/brown_grid_triplanar.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1] +[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture2D" id=1] [resource] albedo_texture = ExtResource( 1 ) diff --git a/assets/wahooney.itch.io/green_grid.png.import b/assets/wahooney.itch.io/green_grid.png.import index 084607b8..04d75660 100644 --- a/assets/wahooney.itch.io/green_grid.png.import +++ b/assets/wahooney.itch.io/green_grid.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.stex" -path.etc="res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc.stex" +type="CompressedTexture2D" +uid="uid://cg0bm6gkv7jr8" +path.s3tc="res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.ctex" +path.etc2="res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/wahooney.itch.io/green_grid.png" -dest_files=[ "res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.stex", "res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc.stex" ] +dest_files=["res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.ctex", "res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/wahooney.itch.io/green_grid_triplanar.tres b/assets/wahooney.itch.io/green_grid_triplanar.tres index a7418282..2b0cd62a 100644 --- a/assets/wahooney.itch.io/green_grid_triplanar.tres +++ b/assets/wahooney.itch.io/green_grid_triplanar.tres @@ -1,6 +1,6 @@ -[gd_resource type="SpatialMaterial" load_steps=2 format=2] +[gd_resource type="StandardMaterial3D" load_steps=2 format=2] -[ext_resource path="res://assets/wahooney.itch.io/green_grid.png" type="Texture" id=1] +[ext_resource path="res://assets/wahooney.itch.io/green_grid.png" type="Texture2D" id=1] [resource] params_diffuse_mode = 1 diff --git a/assets/wahooney.itch.io/white_grid.png.import b/assets/wahooney.itch.io/white_grid.png.import index 28bc9159..1d1aa160 100644 --- a/assets/wahooney.itch.io/white_grid.png.import +++ b/assets/wahooney.itch.io/white_grid.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.stex" -path.etc="res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc.stex" +type="CompressedTexture2D" +uid="uid://cqgdloakbawp" +path.s3tc="res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.ctex" +path.etc2="res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/wahooney.itch.io/white_grid.png" -dest_files=[ "res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.stex", "res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc.stex" ] +dest_files=["res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.ctex", "res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/default_env.tres b/default_env.tres index 0b01f43c..32503fd8 100644 --- a/default_env.tres +++ b/default_env.tres @@ -1,13 +1,16 @@ -[gd_resource type="Environment" load_steps=3 format=2] +[gd_resource type="Environment" load_steps=4 format=3 uid="uid://c75hc5t2ml5re"] -[ext_resource path="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg" type="Texture" id=1] +[ext_resource type="Texture2D" uid="uid://dqoe1c5yn5dnv" path="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg" id="1_hmp2i"] -[sub_resource type="PanoramaSky" id=1] -panorama = ExtResource( 1 ) +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_5ed67"] +panorama = ExtResource("1_hmp2i") + +[sub_resource type="Sky" id="1"] +sky_material = SubResource("PanoramaSkyMaterial_5ed67") [resource] background_mode = 2 -background_sky = SubResource( 1 ) -background_sky_orientation = Basis( 0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025 ) -ambient_light_color = Color( 0.247059, 0.247059, 0.247059, 1 ) -ambient_light_sky_contribution = 0.5 +sky = SubResource("1") +sky_rotation = Vector3(0, 0.523599, 0) +ambient_light_color = Color(0.247059, 0.247059, 0.247059, 1) +ambient_light_sky_contribution = 0.0 diff --git a/demo_staging.gd b/demo_staging.gd index 2bcf35e6..19b52b63 100644 --- a/demo_staging.gd +++ b/demo_staging.gd @@ -1,4 +1,4 @@ -tool +@tool extends XRToolsStaging ## Introduction @@ -24,6 +24,12 @@ extends XRToolsStaging var scene_is_loaded : bool = false + +func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + + func _on_Staging_scene_loaded(_scene): # We only show the press to continue the first time we load a scene # to give the player time to put their headset on. diff --git a/demo_staging.tscn b/demo_staging.tscn index 081ac838..393e1ee2 100644 --- a/demo_staging.tscn +++ b/demo_staging.tscn @@ -1,16 +1,12 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=3 format=3 uid="uid://dkr1jkk3jerux"] -[ext_resource path="res://addons/godot-xr-tools/staging/staging.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/godot/splash.png" type="Texture" id=2] -[ext_resource path="res://demo_staging.gd" type="Script" id=3] +[ext_resource type="PackedScene" uid="uid://bnqnnnet4dw12" path="res://addons/godot-xr-tools/staging/staging.tscn" id="1"] +[ext_resource type="Script" path="res://demo_staging.gd" id="2"] -[node name="DemoStaging" instance=ExtResource( 1 )] -script = ExtResource( 3 ) +[node name="DemoStaging" instance=ExtResource("1")] +script = ExtResource("2") main_scene = "res://scenes/main_menu/main_menu_level.tscn" -[node name="LoadingScreen" parent="." index="2"] -splash_screen = ExtResource( 2 ) - [connection signal="scene_exiting" from="." to="." method="_on_Staging_scene_exiting"] [connection signal="scene_loaded" from="." to="." method="_on_Staging_scene_loaded"] [connection signal="xr_ended" from="." to="." method="_on_Staging_xr_ended"] diff --git a/export_presets.cfg b/export_presets.cfg index 62578984..19a299f6 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -3,25 +3,29 @@ name="Windows Desktop" platform="Windows Desktop" runnable=true +dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="addons/godot-openxr/bin/android/*,addons/godot-openxr/linux/*" +exclude_filter="" export_path="" -script_export_mode=1 +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false script_encryption_key="" [preset.0.options] custom_template/debug="" custom_template/release="" -binary_format/64_bits=true +debug/export_console_script=1 binary_format/embed_pck=false texture_format/bptc=false texture_format/s3tc=true texture_format/etc=false texture_format/etc2=false -texture_format/no_bptc_fallbacks=true +binary_format/architecture="x86_64" codesign/enable=false codesign/identity_type=0 codesign/identity="" @@ -30,9 +34,11 @@ codesign/timestamp=true codesign/timestamp_server_url="" codesign/digest_algorithm=1 codesign/description="" -codesign/custom_options=PoolStringArray( ) +codesign/custom_options=PackedStringArray() application/modify_resources=true application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 application/file_version="" application/product_version="" application/company_name="" @@ -40,53 +46,94 @@ application/product_name="" application/file_description="" application/copyright="" application/trademarks="" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" [preset.1] name="Linux/X11" platform="Linux/X11" runnable=true +dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="addons/godot-openxr/bin/android/*,addons/godot-openxr/windows/*" +exclude_filter="" export_path="" -script_export_mode=1 +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false script_encryption_key="" [preset.1.options] custom_template/debug="" custom_template/release="" -binary_format/64_bits=true +debug/export_console_script=1 binary_format/embed_pck=false texture_format/bptc=false texture_format/s3tc=true texture_format/etc=false texture_format/etc2=false -texture_format/no_bptc_fallbacks=true +binary_format/architecture="x86_64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" [preset.2] -name="Android" +name="Android Quest" platform="Android" runnable=true +dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="addons/godot-openxr/bin/windows/*,addons/godot-openxr/linux/*" +exclude_filter="" export_path="" -script_export_mode=1 +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false script_encryption_key="" [preset.2.options] custom_template/debug="" custom_template/release="" -custom_build/use_custom_build=false -custom_build/export_format=0 -custom_build/min_sdk="" -custom_build/target_sdk="" +gradle_build/use_gradle_build=true +gradle_build/export_format=0 +gradle_build/min_sdk="" +gradle_build/target_sdk="" +plugins/GodotOpenXRKHR=false +plugins/GodotOpenXRLynx=false +plugins/GodotOpenXRMeta=true +plugins/GodotOpenXRPico=false architectures/armeabi-v7a=false architectures/arm64-v8a=true architectures/x86=false @@ -97,20 +144,19 @@ keystore/debug_password="" keystore/release="" keystore/release_user="" keystore/release_password="" -one_click_deploy/clear_previous_install=true version/code=1 version/name="1.0" -package/unique_name="org.godotengine.$genname" -package/name="" +package/unique_name="org.godotengine.godotxrtoolsdemo" +package/name="Godot XR Tools Demo" package/signed=true -package/classify_as_game=true +package/app_category=2 package/retain_data_on_uninstall=false package/exclude_from_recents=false launcher_icons/main_192x192="" launcher_icons/adaptive_foreground_432x432="" launcher_icons/adaptive_background_432x432="" graphics/opengl_debug=false -xr_features/xr_mode=2 +xr_features/xr_mode=1 xr_features/hand_tracking=1 xr_features/hand_tracking_frequency=0 xr_features/passthrough=0 @@ -124,7 +170,7 @@ command_line/extra_args="" apk_expansion/enable=false apk_expansion/SALT="" apk_expansion/public_key="" -permissions/custom_permissions=PoolStringArray( ) +permissions/custom_permissions=PackedStringArray() permissions/access_checkin_properties=false permissions/access_coarse_location=false permissions/access_fine_location=false @@ -274,29 +320,676 @@ permissions/write_user_dictionary=false [preset.3] -name="WebXR" -platform="HTML5" -runnable=true +name="Android Pico" +platform="Android" +runnable=false +dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="" -script_export_mode=1 +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false script_encryption_key="" [preset.3.options] custom_template/debug="" custom_template/release="" -variant/export_type=1 -vram_texture_compression/for_desktop=true -vram_texture_compression/for_mobile=true -html/export_icon=true -html/custom_html_shell="" -html/head_include=" - + + +" html/canvas_resize_policy=2 html/focus_canvas_on_start=true @@ -308,4 +1001,4 @@ progressive_web_app/orientation=0 progressive_web_app/icon_144x144="" progressive_web_app/icon_180x180="" progressive_web_app/icon_512x512="" -progressive_web_app/background_color=Color( 0, 0, 0, 1 ) +progressive_web_app/background_color=Color(0, 0, 0, 1) diff --git a/icon.png.import b/icon.png.import index a4c02e6e..a97de462 100644 --- a/icon.png.import +++ b/icon.png.import @@ -1,8 +1,9 @@ [remap] importer="texture" -type="StreamTexture" -path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +type="CompressedTexture2D" +uid="uid://d1w4nehp5wvcv" +path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" metadata={ "vram_texture": false } @@ -10,26 +11,24 @@ metadata={ [deps] source_file="res://icon.png" -dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] +dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] [params] compress/mode=0 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/openxr_action_map.tres b/openxr_action_map.tres new file mode 100644 index 00000000..45f0f012 --- /dev/null +++ b/openxr_action_map.tres @@ -0,0 +1,826 @@ +[gd_resource type="OpenXRActionMap" load_steps=195 format=3 uid="uid://cv1tl7assnmqv"] + +[sub_resource type="OpenXRAction" id="OpenXRAction_yifcd"] +resource_name = "trigger" +localized_name = "Trigger" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_d0pni"] +resource_name = "trigger_click" +localized_name = "Trigger click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_gdvbe"] +resource_name = "trigger_touch" +localized_name = "Trigger touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_u273q"] +resource_name = "grip" +localized_name = "Grip" +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_i5up3"] +resource_name = "grip_click" +localized_name = "Grip click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_2q8nn"] +resource_name = "grip_touch" +localized_name = "Grip touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_mgaer"] +resource_name = "primary" +localized_name = "Primary joystick/thumbstick/trackpad" +action_type = 2 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_x2ltk"] +resource_name = "primary_click" +localized_name = "Primary joystick/thumbstick/trackpad click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_52a4b"] +resource_name = "primary_touch" +localized_name = "Primary joystick/thumbstick/trackpad touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_4m6bg"] +resource_name = "secondary" +localized_name = "Secondary joystick/thumbstick/trackpad" +action_type = 2 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_30lu2"] +resource_name = "secondary_click" +localized_name = "Secondary joystick/thumbstick/trackpad click" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_m1gc0"] +resource_name = "secondary_touch" +localized_name = "Secondary joystick/thumbstick/trackpad touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_t725j"] +resource_name = "menu_button" +localized_name = "Menu button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_11d6b"] +resource_name = "select_button" +localized_name = "Select button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_rju0c"] +resource_name = "ax_button" +localized_name = "A/X button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_k16im"] +resource_name = "ax_touch" +localized_name = "A/X touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_puvt0"] +resource_name = "by_button" +localized_name = "B/Y button" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_cjtwq"] +resource_name = "by_touch" +localized_name = "B/Y touching" +action_type = 0 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_wp0gf"] +resource_name = "default_pose" +localized_name = "Default pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard") + +[sub_resource type="OpenXRAction" id="OpenXRAction_6cxc5"] +resource_name = "aim_pose" +localized_name = "Aim pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_1qblt"] +resource_name = "grip_pose" +localized_name = "Grip pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_c3bvs"] +resource_name = "palm_pose" +localized_name = "Palm pose" +action_type = 3 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right") + +[sub_resource type="OpenXRAction" id="OpenXRAction_tbcxk"] +resource_name = "haptic" +localized_name = "Haptic" +action_type = 4 +toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard") + +[sub_resource type="OpenXRActionSet" id="OpenXRActionSet_hc02c"] +resource_name = "godot" +localized_name = "Godot action set" +actions = [SubResource("OpenXRAction_yifcd"), SubResource("OpenXRAction_d0pni"), SubResource("OpenXRAction_gdvbe"), SubResource("OpenXRAction_u273q"), SubResource("OpenXRAction_i5up3"), SubResource("OpenXRAction_2q8nn"), SubResource("OpenXRAction_mgaer"), SubResource("OpenXRAction_x2ltk"), SubResource("OpenXRAction_52a4b"), SubResource("OpenXRAction_4m6bg"), SubResource("OpenXRAction_30lu2"), SubResource("OpenXRAction_m1gc0"), SubResource("OpenXRAction_t725j"), SubResource("OpenXRAction_11d6b"), SubResource("OpenXRAction_rju0c"), SubResource("OpenXRAction_k16im"), SubResource("OpenXRAction_puvt0"), SubResource("OpenXRAction_cjtwq"), SubResource("OpenXRAction_wp0gf"), SubResource("OpenXRAction_6cxc5"), SubResource("OpenXRAction_1qblt"), SubResource("OpenXRAction_c3bvs"), SubResource("OpenXRAction_tbcxk")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h35aj"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uak8b"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p1rec"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vu2bs"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vbsde"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yamwp"] +action = SubResource("OpenXRAction_11d6b") +paths = PackedStringArray("/user/hand/left/input/select/click", "/user/hand/right/input/select/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nuwua"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_q4jv5"] +interaction_profile_path = "/interaction_profiles/khr/simple_controller" +bindings = [SubResource("OpenXRIPBinding_h35aj"), SubResource("OpenXRIPBinding_uak8b"), SubResource("OpenXRIPBinding_p1rec"), SubResource("OpenXRIPBinding_vu2bs"), SubResource("OpenXRIPBinding_vbsde"), SubResource("OpenXRIPBinding_yamwp"), SubResource("OpenXRIPBinding_nuwua")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kf563"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nou6n"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d5lso"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vqs62"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_iecdf"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n4mb1"] +action = SubResource("OpenXRAction_11d6b") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5af17"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xsgf5"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gq8ni"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qu8te"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8o2jy"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gqawc"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v4qe8"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f74n8"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_gh0s5"] +interaction_profile_path = "/interaction_profiles/htc/vive_controller" +bindings = [SubResource("OpenXRIPBinding_kf563"), SubResource("OpenXRIPBinding_nou6n"), SubResource("OpenXRIPBinding_d5lso"), SubResource("OpenXRIPBinding_vqs62"), SubResource("OpenXRIPBinding_iecdf"), SubResource("OpenXRIPBinding_n4mb1"), SubResource("OpenXRIPBinding_5af17"), SubResource("OpenXRIPBinding_xsgf5"), SubResource("OpenXRIPBinding_gq8ni"), SubResource("OpenXRIPBinding_qu8te"), SubResource("OpenXRIPBinding_8o2jy"), SubResource("OpenXRIPBinding_gqawc"), SubResource("OpenXRIPBinding_v4qe8"), SubResource("OpenXRIPBinding_f74n8")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_poir5"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n68hy"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4ad31"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p3eev"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rw5mk"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_are0a"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_17qyg"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g74jv"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6jf88"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uikwl"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mowmy"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6b0al"] +action = SubResource("OpenXRAction_4m6bg") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yu1bg"] +action = SubResource("OpenXRAction_30lu2") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_anwxi"] +action = SubResource("OpenXRAction_m1gc0") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yopno"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_hk3uy"] +interaction_profile_path = "/interaction_profiles/microsoft/motion_controller" +bindings = [SubResource("OpenXRIPBinding_poir5"), SubResource("OpenXRIPBinding_n68hy"), SubResource("OpenXRIPBinding_4ad31"), SubResource("OpenXRIPBinding_p3eev"), SubResource("OpenXRIPBinding_rw5mk"), SubResource("OpenXRIPBinding_are0a"), SubResource("OpenXRIPBinding_17qyg"), SubResource("OpenXRIPBinding_g74jv"), SubResource("OpenXRIPBinding_6jf88"), SubResource("OpenXRIPBinding_uikwl"), SubResource("OpenXRIPBinding_mowmy"), SubResource("OpenXRIPBinding_6b0al"), SubResource("OpenXRIPBinding_yu1bg"), SubResource("OpenXRIPBinding_anwxi"), SubResource("OpenXRIPBinding_yopno")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dqveu"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qjbno"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h7u7a"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dcd50"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q2vgn"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3x1mc"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jung2"] +action = SubResource("OpenXRAction_k16im") +paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kecgx"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hd4mg"] +action = SubResource("OpenXRAction_cjtwq") +paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_txmph"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q0qav"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7f2c6"] +action = SubResource("OpenXRAction_gdvbe") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xc83l"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e4pfh"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5e6gu"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_an033"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bi2rr"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sfrs7"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_ci0m3"] +interaction_profile_path = "/interaction_profiles/oculus/touch_controller" +bindings = [SubResource("OpenXRIPBinding_dqveu"), SubResource("OpenXRIPBinding_qjbno"), SubResource("OpenXRIPBinding_h7u7a"), SubResource("OpenXRIPBinding_dcd50"), SubResource("OpenXRIPBinding_q2vgn"), SubResource("OpenXRIPBinding_3x1mc"), SubResource("OpenXRIPBinding_jung2"), SubResource("OpenXRIPBinding_kecgx"), SubResource("OpenXRIPBinding_hd4mg"), SubResource("OpenXRIPBinding_txmph"), SubResource("OpenXRIPBinding_q0qav"), SubResource("OpenXRIPBinding_7f2c6"), SubResource("OpenXRIPBinding_xc83l"), SubResource("OpenXRIPBinding_e4pfh"), SubResource("OpenXRIPBinding_5e6gu"), SubResource("OpenXRIPBinding_an033"), SubResource("OpenXRIPBinding_bi2rr"), SubResource("OpenXRIPBinding_sfrs7")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_831pi"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h488p"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3se5t"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sbsju"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o26w6"] +action = SubResource("OpenXRAction_11d6b") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dy2rf"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/back/click", "/user/hand/right/input/back/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_50ft1"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xdnnt"] +action = SubResource("OpenXRAction_k16im") +paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o3yqq"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d2jet"] +action = SubResource("OpenXRAction_cjtwq") +paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4is5v"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_s01h2"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pnsof"] +action = SubResource("OpenXRAction_gdvbe") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_orb33"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_535g8"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a4cuy"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hfsbe"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_i7atc"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4p7yi"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_8ffkv"] +interaction_profile_path = "/interaction_profiles/pico/neo3_controller" +bindings = [SubResource("OpenXRIPBinding_831pi"), SubResource("OpenXRIPBinding_h488p"), SubResource("OpenXRIPBinding_3se5t"), SubResource("OpenXRIPBinding_sbsju"), SubResource("OpenXRIPBinding_o26w6"), SubResource("OpenXRIPBinding_dy2rf"), SubResource("OpenXRIPBinding_50ft1"), SubResource("OpenXRIPBinding_xdnnt"), SubResource("OpenXRIPBinding_o3yqq"), SubResource("OpenXRIPBinding_d2jet"), SubResource("OpenXRIPBinding_4is5v"), SubResource("OpenXRIPBinding_s01h2"), SubResource("OpenXRIPBinding_pnsof"), SubResource("OpenXRIPBinding_orb33"), SubResource("OpenXRIPBinding_535g8"), SubResource("OpenXRIPBinding_a4cuy"), SubResource("OpenXRIPBinding_hfsbe"), SubResource("OpenXRIPBinding_i7atc"), SubResource("OpenXRIPBinding_4p7yi")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1ri7l"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2sgd0"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_oyya3"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dumbs"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a2uon"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dcm1d"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/a/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2ghly"] +action = SubResource("OpenXRAction_k16im") +paths = PackedStringArray("/user/hand/left/input/a/touch", "/user/hand/right/input/a/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_blar5"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/b/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fi1ba"] +action = SubResource("OpenXRAction_cjtwq") +paths = PackedStringArray("/user/hand/left/input/b/touch", "/user/hand/right/input/b/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7fout"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5vno0"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jjcin"] +action = SubResource("OpenXRAction_gdvbe") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ltvc3"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qngbh"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_11t31"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uj5o6"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wysp0"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1hvgc"] +action = SubResource("OpenXRAction_4m6bg") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nm4ci"] +action = SubResource("OpenXRAction_30lu2") +paths = PackedStringArray("/user/hand/left/input/trackpad/force", "/user/hand/right/input/trackpad/force") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ucv5v"] +action = SubResource("OpenXRAction_m1gc0") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l2uyd"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_s65fn"] +interaction_profile_path = "/interaction_profiles/valve/index_controller" +bindings = [SubResource("OpenXRIPBinding_1ri7l"), SubResource("OpenXRIPBinding_2sgd0"), SubResource("OpenXRIPBinding_oyya3"), SubResource("OpenXRIPBinding_dumbs"), SubResource("OpenXRIPBinding_a2uon"), SubResource("OpenXRIPBinding_dcm1d"), SubResource("OpenXRIPBinding_2ghly"), SubResource("OpenXRIPBinding_blar5"), SubResource("OpenXRIPBinding_fi1ba"), SubResource("OpenXRIPBinding_7fout"), SubResource("OpenXRIPBinding_5vno0"), SubResource("OpenXRIPBinding_jjcin"), SubResource("OpenXRIPBinding_ltvc3"), SubResource("OpenXRIPBinding_qngbh"), SubResource("OpenXRIPBinding_11t31"), SubResource("OpenXRIPBinding_uj5o6"), SubResource("OpenXRIPBinding_wysp0"), SubResource("OpenXRIPBinding_1hvgc"), SubResource("OpenXRIPBinding_nm4ci"), SubResource("OpenXRIPBinding_ucv5v"), SubResource("OpenXRIPBinding_l2uyd")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pgv5o"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jkyjn"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ohi27"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f3rpf"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_56e0t"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8viho"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_aerac"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_b8jr7"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e87j0"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xcpgw"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_agwck"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fvx5x"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t50dk"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jja32"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_7w34y"] +interaction_profile_path = "/interaction_profiles/hp/mixed_reality_controller" +bindings = [SubResource("OpenXRIPBinding_pgv5o"), SubResource("OpenXRIPBinding_jkyjn"), SubResource("OpenXRIPBinding_ohi27"), SubResource("OpenXRIPBinding_f3rpf"), SubResource("OpenXRIPBinding_56e0t"), SubResource("OpenXRIPBinding_8viho"), SubResource("OpenXRIPBinding_aerac"), SubResource("OpenXRIPBinding_b8jr7"), SubResource("OpenXRIPBinding_e87j0"), SubResource("OpenXRIPBinding_xcpgw"), SubResource("OpenXRIPBinding_agwck"), SubResource("OpenXRIPBinding_fvx5x"), SubResource("OpenXRIPBinding_t50dk"), SubResource("OpenXRIPBinding_jja32")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t0cml"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ms10r"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d6355"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_oskmg"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4kfx4"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3uuwr"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vh134"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1fhju"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jsvrg"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cjody"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q7nq1"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1xqks"] +action = SubResource("OpenXRAction_4m6bg") +paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5v7jf"] +action = SubResource("OpenXRAction_30lu2") +paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_agw55"] +action = SubResource("OpenXRAction_m1gc0") +paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_k4fqu"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_a7xw5"] +interaction_profile_path = "/interaction_profiles/samsung/odyssey_controller" +bindings = [SubResource("OpenXRIPBinding_t0cml"), SubResource("OpenXRIPBinding_ms10r"), SubResource("OpenXRIPBinding_d6355"), SubResource("OpenXRIPBinding_oskmg"), SubResource("OpenXRIPBinding_4kfx4"), SubResource("OpenXRIPBinding_3uuwr"), SubResource("OpenXRIPBinding_vh134"), SubResource("OpenXRIPBinding_1fhju"), SubResource("OpenXRIPBinding_jsvrg"), SubResource("OpenXRIPBinding_cjody"), SubResource("OpenXRIPBinding_q7nq1"), SubResource("OpenXRIPBinding_1xqks"), SubResource("OpenXRIPBinding_5v7jf"), SubResource("OpenXRIPBinding_agw55"), SubResource("OpenXRIPBinding_k4fqu")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rdc8g"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7ci1c"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0pd2x"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4rwwh"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lvx1l"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p2tcy"] +action = SubResource("OpenXRAction_11d6b") +paths = PackedStringArray("/user/hand/left/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8lqkg"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m1igx"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o24jy"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vdw57"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q0bn5"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sihq1"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1ofap"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_twoyd"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m8qx7"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pfjox"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_rsga2"] +interaction_profile_path = "/interaction_profiles/htc/vive_cosmos_controller" +bindings = [SubResource("OpenXRIPBinding_rdc8g"), SubResource("OpenXRIPBinding_7ci1c"), SubResource("OpenXRIPBinding_0pd2x"), SubResource("OpenXRIPBinding_4rwwh"), SubResource("OpenXRIPBinding_lvx1l"), SubResource("OpenXRIPBinding_p2tcy"), SubResource("OpenXRIPBinding_8lqkg"), SubResource("OpenXRIPBinding_m1igx"), SubResource("OpenXRIPBinding_o24jy"), SubResource("OpenXRIPBinding_vdw57"), SubResource("OpenXRIPBinding_q0bn5"), SubResource("OpenXRIPBinding_sihq1"), SubResource("OpenXRIPBinding_1ofap"), SubResource("OpenXRIPBinding_twoyd"), SubResource("OpenXRIPBinding_m8qx7"), SubResource("OpenXRIPBinding_pfjox")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8xu3w"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1u3na"] +action = SubResource("OpenXRAction_6cxc5") +paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c33kw"] +action = SubResource("OpenXRAction_1qblt") +paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u6tly"] +action = SubResource("OpenXRAction_c3bvs") +paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sn23a"] +action = SubResource("OpenXRAction_t725j") +paths = PackedStringArray("/user/hand/left/input/menu/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cieo2"] +action = SubResource("OpenXRAction_11d6b") +paths = PackedStringArray("/user/hand/left/input/system/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ur5bb"] +action = SubResource("OpenXRAction_rju0c") +paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0hjty"] +action = SubResource("OpenXRAction_puvt0") +paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3n65m"] +action = SubResource("OpenXRAction_yifcd") +paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tyef1"] +action = SubResource("OpenXRAction_d0pni") +paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3ejfe"] +action = SubResource("OpenXRAction_gdvbe") +paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qv4l5"] +action = SubResource("OpenXRAction_u273q") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_avlo8"] +action = SubResource("OpenXRAction_i5up3") +paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j6cdb"] +action = SubResource("OpenXRAction_mgaer") +paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_og1jk"] +action = SubResource("OpenXRAction_x2ltk") +paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_45gim"] +action = SubResource("OpenXRAction_52a4b") +paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6gub5"] +action = SubResource("OpenXRAction_m1gc0") +paths = PackedStringArray("/user/hand/left/input/thumbrest/touch", "/user/hand/right/input/thumbrest/touch") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3s8qf"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_t3axk"] +interaction_profile_path = "/interaction_profiles/htc/vive_focus3_controller" +bindings = [SubResource("OpenXRIPBinding_8xu3w"), SubResource("OpenXRIPBinding_1u3na"), SubResource("OpenXRIPBinding_c33kw"), SubResource("OpenXRIPBinding_u6tly"), SubResource("OpenXRIPBinding_sn23a"), SubResource("OpenXRIPBinding_cieo2"), SubResource("OpenXRIPBinding_ur5bb"), SubResource("OpenXRIPBinding_0hjty"), SubResource("OpenXRIPBinding_3n65m"), SubResource("OpenXRIPBinding_tyef1"), SubResource("OpenXRIPBinding_3ejfe"), SubResource("OpenXRIPBinding_qv4l5"), SubResource("OpenXRIPBinding_avlo8"), SubResource("OpenXRIPBinding_j6cdb"), SubResource("OpenXRIPBinding_og1jk"), SubResource("OpenXRIPBinding_45gim"), SubResource("OpenXRIPBinding_6gub5"), SubResource("OpenXRIPBinding_3s8qf")] + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0hhqt"] +action = SubResource("OpenXRAction_wp0gf") +paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/input/grip/pose", "/user/vive_tracker_htcx/role/right_foot/input/grip/pose", "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/left_knee/input/grip/pose", "/user/vive_tracker_htcx/role/right_knee/input/grip/pose", "/user/vive_tracker_htcx/role/waist/input/grip/pose", "/user/vive_tracker_htcx/role/chest/input/grip/pose", "/user/vive_tracker_htcx/role/camera/input/grip/pose", "/user/vive_tracker_htcx/role/keyboard/input/grip/pose") + +[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_up7fp"] +action = SubResource("OpenXRAction_tbcxk") +paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/output/haptic", "/user/vive_tracker_htcx/role/right_foot/output/haptic", "/user/vive_tracker_htcx/role/left_shoulder/output/haptic", "/user/vive_tracker_htcx/role/right_shoulder/output/haptic", "/user/vive_tracker_htcx/role/left_elbow/output/haptic", "/user/vive_tracker_htcx/role/right_elbow/output/haptic", "/user/vive_tracker_htcx/role/left_knee/output/haptic", "/user/vive_tracker_htcx/role/right_knee/output/haptic", "/user/vive_tracker_htcx/role/waist/output/haptic", "/user/vive_tracker_htcx/role/chest/output/haptic", "/user/vive_tracker_htcx/role/camera/output/haptic", "/user/vive_tracker_htcx/role/keyboard/output/haptic") + +[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_2ydwc"] +interaction_profile_path = "/interaction_profiles/htc/vive_tracker_htcx" +bindings = [SubResource("OpenXRIPBinding_0hhqt"), SubResource("OpenXRIPBinding_up7fp")] + +[resource] +action_sets = [SubResource("OpenXRActionSet_hc02c")] +interaction_profiles = [SubResource("OpenXRInteractionProfile_q4jv5"), SubResource("OpenXRInteractionProfile_gh0s5"), SubResource("OpenXRInteractionProfile_hk3uy"), SubResource("OpenXRInteractionProfile_ci0m3"), SubResource("OpenXRInteractionProfile_8ffkv"), SubResource("OpenXRInteractionProfile_s65fn"), SubResource("OpenXRInteractionProfile_7w34y"), SubResource("OpenXRInteractionProfile_a7xw5"), SubResource("OpenXRInteractionProfile_rsga2"), SubResource("OpenXRInteractionProfile_t3axk"), SubResource("OpenXRInteractionProfile_2ydwc")] diff --git a/project.godot b/project.godot index 7e156a88..4de2f1b5 100644 --- a/project.godot +++ b/project.godot @@ -6,388 +6,13 @@ ; [section] ; section goes between [] ; param=value ; assign values to parameters -config_version=4 - -_global_script_classes=[ { -"base": "Reference", -"class": "ARVRHelpers", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/misc/arvr_helpers.gd" -}, { -"base": "Spatial", -"class": "Teleport", -"language": "GDScript", -"path": "res://assets/meshes/teleport/teleport.gd" -}, { -"base": "Node", -"class": "XRTools", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/xr_tools.gd" -}, { -"base": "Spatial", -"class": "XRToolsClimbable", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/climbable.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsFallDamage", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/examples/fall_damage.gd" -}, { -"base": "Spatial", -"class": "XRToolsFunctionPickup", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/function_pickup.gd" -}, { -"base": "Spatial", -"class": "XRToolsFunctionPointer", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/function_pointer.gd" -}, { -"base": "Spatial", -"class": "XRToolsFunctionPoseDetector", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/function_pose_detector.gd" -}, { -"base": "KinematicBody", -"class": "XRToolsFunctionTeleport", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/function_teleport.gd" -}, { -"base": "Position3D", -"class": "XRToolsGrabPoint", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point.gd" -}, { -"base": "XRToolsGrabPoint", -"class": "XRToolsGrabPointHand", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" -}, { -"base": "XRToolsGrabPoint", -"class": "XRToolsGrabPointSnap", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" -}, { -"base": "Node", -"class": "XRToolsGroundPhysics", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/overrides/ground_physics.gd" -}, { -"base": "Resource", -"class": "XRToolsGroundPhysicsSettings", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/overrides/ground_physics_settings.gd" -}, { -"base": "Spatial", -"class": "XRToolsHand", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/hands/hand.gd" -}, { -"base": "BoneAttachment", -"class": "XRToolsHandPhysicsBone", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/hands/hand_physics_bone.gd" -}, { -"base": "Area", -"class": "XRToolsHandPoseArea", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/hand_pose_area.gd" -}, { -"base": "Resource", -"class": "XRToolsHandPoseSettings", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" -}, { -"base": "Node", -"class": "XRToolsHighlightMaterial", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/highlight/highlight_material.gd" -}, { -"base": "MeshInstance", -"class": "XRToolsHighlightRing", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" -}, { -"base": "Spatial", -"class": "XRToolsHighlightVisible", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd" -}, { -"base": "Spatial", -"class": "XRToolsHoldButton", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/misc/hold_button.gd" -}, { -"base": "Area", -"class": "XRToolsInteractableArea", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/interactable_area.gd" -}, { -"base": "Area", -"class": "XRToolsInteractableAreaButton", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_area_button.gd" -}, { -"base": "PhysicsBody", -"class": "XRToolsInteractableBody", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/interactable_body.gd" -}, { -"base": "XRToolsPickable", -"class": "XRToolsInteractableHandle", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_handle.gd" -}, { -"base": "Spatial", -"class": "XRToolsInteractableHandleDriven", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_handle_driven.gd" -}, { -"base": "XRToolsInteractableHandleDriven", -"class": "XRToolsInteractableHinge", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_hinge.gd" -}, { -"base": "XRToolsInteractableHandleDriven", -"class": "XRToolsInteractableJoystick", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_joystick.gd" -}, { -"base": "XRToolsInteractableHandleDriven", -"class": "XRToolsInteractableSlider", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/interactables/interactable_slider.gd" -}, { -"base": "Node", -"class": "XRToolsMoveTo", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/misc/move_to.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementClimb", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_climb.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementCrouch", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_crouch.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementDirect", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_direct.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementFlight", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_flight.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementFootstep", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_footstep.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementGlide", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_glide.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementGrapple", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_grapple.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementJump", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_jump.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementPhysicalJump", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_physical_jump.gd" -}, { -"base": "Node", -"class": "XRToolsMovementProvider", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_provider.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementSprint", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_sprint.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementTurn", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_turn.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementWallWalk", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_wall_walk.gd" -}, { -"base": "XRToolsMovementProvider", -"class": "XRToolsMovementWind", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/functions/movement_wind.gd" -}, { -"base": "XRToolsHand", -"class": "XRToolsPhysicsHand", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/hands/physics_hand.gd" -}, { -"base": "RigidBody", -"class": "XRToolsPickable", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/pickable.gd" -}, { -"base": "KinematicBody", -"class": "XRToolsPlayerBody", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/player/player_body.gd" -}, { -"base": "Spatial", -"class": "XRToolsPoke", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/player/poke/poke.gd" -}, { -"base": "Node", -"class": "XRToolsResourceQueue", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/assets/resource_queue/resource_queue.gd" -}, { -"base": "Node", -"class": "XRToolsReturnToSnapZone", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/return_to_snap_zone.gd" -}, { -"base": "Spatial", -"class": "XRToolsSceneBase", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/staging/scene_base.gd" -}, { -"base": "Area", -"class": "XRToolsSnapZone", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/snap_zone.gd" -}, { -"base": "Spatial", -"class": "XRToolsStaging", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/staging/staging.gd" -}, { -"base": "Node", -"class": "XRToolsStartXR", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/xr/start_xr.gd" -}, { -"base": "Node", -"class": "XRToolsSurfaceAudio", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/audio/surface_audio.gd" -}, { -"base": "Resource", -"class": "XRToolsSurfaceAudioType", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/audio/surface_audio_type.gd" -}, { -"base": "Reference", -"class": "XRToolsVelocityAverager", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/misc/velocity_averager.gd" -}, { -"base": "Reference", -"class": "XRToolsVelocityAveragerLinear", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/misc/velocity_averager_linear.gd" -}, { -"base": "Spatial", -"class": "XRToolsVignette", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/effects/vignette.gd" -}, { -"base": "CanvasLayer", -"class": "XRToolsVirtualKeyboard2D", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" -}, { -"base": "Area", -"class": "XRToolsWindArea", -"language": "GDScript", -"path": "res://addons/godot-xr-tools/objects/wind_area.gd" -} ] -_global_script_class_icons={ -"ARVRHelpers": "", -"Teleport": "", -"XRTools": "", -"XRToolsClimbable": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsFallDamage": "", -"XRToolsFunctionPickup": "res://addons/godot-xr-tools/editor/icons/function.svg", -"XRToolsFunctionPointer": "res://addons/godot-xr-tools/editor/icons/function.svg", -"XRToolsFunctionPoseDetector": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsFunctionTeleport": "res://addons/godot-xr-tools/editor/icons/function.svg", -"XRToolsGrabPoint": "", -"XRToolsGrabPointHand": "", -"XRToolsGrabPointSnap": "", -"XRToolsGroundPhysics": "", -"XRToolsGroundPhysicsSettings": "", -"XRToolsHand": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsHandPhysicsBone": "", -"XRToolsHandPoseArea": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsHandPoseSettings": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsHighlightMaterial": "", -"XRToolsHighlightRing": "", -"XRToolsHighlightVisible": "", -"XRToolsHoldButton": "", -"XRToolsInteractableArea": "", -"XRToolsInteractableAreaButton": "", -"XRToolsInteractableBody": "", -"XRToolsInteractableHandle": "", -"XRToolsInteractableHandleDriven": "", -"XRToolsInteractableHinge": "", -"XRToolsInteractableJoystick": "", -"XRToolsInteractableSlider": "", -"XRToolsMoveTo": "", -"XRToolsMovementClimb": "", -"XRToolsMovementCrouch": "", -"XRToolsMovementDirect": "", -"XRToolsMovementFlight": "", -"XRToolsMovementFootstep": "", -"XRToolsMovementGlide": "", -"XRToolsMovementGrapple": "", -"XRToolsMovementJump": "", -"XRToolsMovementPhysicalJump": "", -"XRToolsMovementProvider": "res://addons/godot-xr-tools/editor/icons/movement_provider.svg", -"XRToolsMovementSprint": "", -"XRToolsMovementTurn": "", -"XRToolsMovementWallWalk": "", -"XRToolsMovementWind": "", -"XRToolsPhysicsHand": "", -"XRToolsPickable": "", -"XRToolsPlayerBody": "res://addons/godot-xr-tools/editor/icons/body.svg", -"XRToolsPoke": "", -"XRToolsResourceQueue": "", -"XRToolsReturnToSnapZone": "res://addons/godot-xr-tools/editor/icons/hand.svg", -"XRToolsSceneBase": "", -"XRToolsSnapZone": "", -"XRToolsStaging": "", -"XRToolsStartXR": "", -"XRToolsSurfaceAudio": "res://addons/godot-xr-tools/editor/icons/foot.svg", -"XRToolsSurfaceAudioType": "res://addons/godot-xr-tools/editor/icons/body.svg", -"XRToolsVelocityAverager": "", -"XRToolsVelocityAveragerLinear": "", -"XRToolsVignette": "", -"XRToolsVirtualKeyboard2D": "", -"XRToolsWindArea": "" -} +config_version=5 [application] config/name="Godot XR Tools Demo" run/main_scene="res://demo_staging.tscn" +config/features=PackedStringArray("4.0") config/icon="res://icon.png" [autoload] @@ -396,11 +21,11 @@ XRToolsUserSettings="*res://addons/godot-xr-tools/user_settings/user_settings.gd [editor_plugins] -enabled=PoolStringArray( "res://addons/godot-openxr/plugin.cfg", "res://addons/godot-xr-tools/plugin.cfg" ) +enabled=PackedStringArray("res://addons/godot-xr-tools/plugin.cfg") [gdnative] -singletons=[ "res://addons/godot-openxr/config/godot_openxr.gdnlib" ] +singletons=["res://addons/godot-openxr/config/godot_openxr.gdnlib"] [gui] @@ -411,7 +36,7 @@ common/drop_mouse_on_gui_input_disabled=true 3d_physics/layer_1="static_world" 3d_physics/layer_2="dynamic_world" 3d_physics/layer_3="object" -3d_physics/layer_4="orientable_ground" +3d_physics/layer_4="wall_walk" 3d_physics/layer_17="held_object" 3d_physics/layer_18="player_hand" 3d_physics/layer_19="handle" @@ -425,8 +50,14 @@ common/enable_pause_aware_picking=true [rendering] +renderer/rendering_method="mobile" +textures/vram_compression/import_etc2_astc=true +limits/time/time_rollover_secs=30.0 quality/driver/driver_name="GLES2" vram_compression/import_etc=true vram_compression/import_etc2=false -limits/time/time_rollover_secs=30.0 -environment/default_environment="res://default_env.tres" + +[xr] + +openxr/enabled=true +shaders/enabled=true diff --git a/scenes/basic_movement_demo/basic movement demo.png.import b/scenes/basic_movement_demo/basic movement demo.png.import index 40b537c3..ff9afb45 100644 --- a/scenes/basic_movement_demo/basic movement demo.png.import +++ b/scenes/basic_movement_demo/basic movement demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.stex" -path.etc="res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc.stex" +type="CompressedTexture2D" +uid="uid://8jxrr3gqnxck" +path.s3tc="res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.ctex" +path.etc2="res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/basic_movement_demo/basic movement demo.png" -dest_files=[ "res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.stex", "res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc.stex" ] +dest_files=["res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.ctex", "res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/basic_movement_demo/basic_movement_demo.tscn b/scenes/basic_movement_demo/basic_movement_demo.tscn index 97f5e250..b921de08 100644 --- a/scenes/basic_movement_demo/basic_movement_demo.tscn +++ b/scenes/basic_movement_demo/basic_movement_demo.tscn @@ -1,69 +1,66 @@ -[gd_scene load_steps=15 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=6] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=7] -[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=8] -[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=10] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=12] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=13] -[ext_resource path="res://scenes/basic_movement_demo/objects/instructions.tscn" type="PackedScene" id=14] - -[node name="BasicMovementDemo" instance=ExtResource( 1 )] - -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 2 )] - -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )] -enabled = true -order = 10 +[gd_scene load_steps=16 format=3 uid="uid://c3pffsm74as2t"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_5ptmo"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_54yy3"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="5_2ekvc"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_0hbex"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="11"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="12"] +[ext_resource type="PackedScene" uid="uid://dipg8euybm3f1" path="res://scenes/basic_movement_demo/objects/instructions.tscn" id="12_qasi6"] + +[node name="BasicMovementDemo" instance=ExtResource("1")] +script = ExtResource("2_5ptmo") + +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_54yy3")] + +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")] max_speed = 3.0 strafe = true -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 10 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("10")] +jump_button_action = "ax_button" -[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 13 )] +[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("5_2ekvc")] crouch_height = 1.3 -crouch_button = 1 +crouch_button_action = "by_button" -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 3 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_0hbex")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 4 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("4")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 10 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("10")] +jump_button_action = "ax_button" -[node name="MovementCrouch" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 13 )] +[node name="MovementCrouch" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("5_2ekvc")] crouch_height = 1.3 -crouch_button = 1 +crouch_button_action = "by_button" crouch_type = 1 -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 6 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("6")] -[node name="BasicMap" parent="." index="1" instance=ExtResource( 7 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("7")] -[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7 ) +[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7) scene_base = NodePath("..") -title = ExtResource( 12 ) +title = ExtResource("12") -[node name="Instructions" parent="." index="3" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("12_qasi6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4) -[node name="Ramps" parent="." index="4" instance=ExtResource( 8 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8 ) +[node name="Ramps" parent="." index="4" instance=ExtResource("8")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8) -[node name="Mound" parent="." index="5" instance=ExtResource( 9 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8 ) +[node name="Mound" parent="." index="5" instance=ExtResource("9")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8) diff --git a/scenes/basic_movement_demo/objects/instructions.tscn b/scenes/basic_movement_demo/objects/instructions.tscn index b7786fe9..dfdfd66e 100644 --- a/scenes/basic_movement_demo/objects/instructions.tscn +++ b/scenes/basic_movement_demo/objects/instructions.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://dipg8euybm3f1"] -[ext_resource path="res://scenes/basic_movement_demo/objects/instructions_2d.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] +[ext_resource type="PackedScene" uid="uid://px47xx1e0la2" path="res://scenes/basic_movement_demo/objects/instructions_2d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] -[sub_resource type="CubeMesh" id=1] -material = ExtResource( 3 ) -size = Vector3( 4.2, 2.7, 0.1 ) +[sub_resource type="BoxMesh" id="1"] +material = ExtResource("3") +size = Vector3(4.2, 2.7, 0.1) -[node name="Instructions" type="Spatial"] +[node name="Instructions" type="Node3D"] -[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )] -screen_size = Vector2( 4, 2.5 ) -viewport_size = Vector2( 400, 250 ) +[node name="Viewport2Din3D" parent="." instance=ExtResource("2")] +screen_size = Vector2(4, 2.5) +viewport_size = Vector2(400, 250) unshaded = true -scene = ExtResource( 1 ) +scene = ExtResource("1") update_mode = 0 collision_layer = 0 -[node name="MeshInstance" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 ) -mesh = SubResource( 1 ) +[node name="MeshInstance" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1) +mesh = SubResource("1") diff --git a/scenes/basic_movement_demo/objects/instructions_2d.tscn b/scenes/basic_movement_demo/objects/instructions_2d.tscn index 6a97b4f5..ca0863dc 100644 --- a/scenes/basic_movement_demo/objects/instructions_2d.tscn +++ b/scenes/basic_movement_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://px47xx1e0la2"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 1 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Basic Movement Demo This scene demonstrates basic movement. diff --git a/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import b/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import index 21b96d9e..c2d9ec40 100644 --- a/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import +++ b/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.stex" -path.etc="res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc.stex" +type="CompressedTexture2D" +uid="uid://d3epm85d4s28f" +path.s3tc="res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.ctex" +path.etc2="res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png" -dest_files=[ "res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.stex", "res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc.stex" ] +dest_files=["res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.ctex", "res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn b/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn index 05cc283e..ea0956d0 100644 --- a/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn +++ b/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn @@ -1,241 +1,238 @@ -[gd_scene load_steps=23 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=9] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=10] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/cliff.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/wind_area.tscn" type="PackedScene" id=12] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=13] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=14] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=15] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/hill.tscn" type="PackedScene" id=16] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" type="Material" id=17] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/instructions.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/ring.tscn" type="PackedScene" id=19] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.tscn" type="PackedScene" id=22] - -[sub_resource type="CubeMesh" id=1] -size = Vector3( 200, 1, 200 ) - -[sub_resource type="BoxShape" id=2] -extents = Vector3( 100, 0.5, 100 ) - -[node name="ClimbingGlidingDemo" instance=ExtResource( 1 )] - -[node name="ARVROrigin" parent="." index="0"] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -89, 36, -65 ) - -[node name="ARVRCamera" parent="ARVROrigin" index="0"] +[gd_scene load_steps=24 format=3 uid="uid://c7ebkdn7ryqrp"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_nosao"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_xkd6u"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_vqlyr"] +[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="8"] +[ext_resource type="Material" uid="uid://p0q2df2dmy62" path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" id="8_cr7b0"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="9"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="10"] +[ext_resource type="PackedScene" uid="uid://bt8kw5a34upwm" path="res://scenes/climbing_gliding_demo/objects/cliff.tscn" id="11"] +[ext_resource type="PackedScene" uid="uid://bt2i205mlq1q0" path="res://scenes/climbing_gliding_demo/objects/wind_area.tscn" id="12"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="13"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://cm0cpldqa6j4d" path="res://scenes/climbing_gliding_demo/objects/hill.tscn" id="16"] +[ext_resource type="PackedScene" path="res://scenes/climbing_gliding_demo/objects/ring.tscn" id="18_gu236"] +[ext_resource type="PackedScene" uid="uid://b634pnt2nrn77" path="res://scenes/climbing_gliding_demo/objects/instructions.tscn" id="19_3dxda"] +[ext_resource type="PackedScene" uid="uid://bgts3vpmjn6bb" path="res://addons/godot-xr-tools/functions/movement_wind.tscn" id="22"] + +[sub_resource type="BoxMesh" id="1"] +size = Vector3(200, 1, 200) + +[sub_resource type="BoxShape3D" id="2"] +size = Vector3(200, 1, 200) + +[node name="ClimbingGlidingDemo" instance=ExtResource("1")] +script = ExtResource("2_nosao") + +[node name="XROrigin3D" parent="." index="0"] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -89, 36, -65) + +[node name="XRCamera3D" parent="XROrigin3D" index="0"] far = 400.0 -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )] -hand_material_override = ExtResource( 17 ) +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_xkd6u")] +hand_material_override = ExtResource("8_cr7b0") -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")] max_speed = 3.0 strafe = true -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 9 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("9")] -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 15 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("15")] +jump_button_action = "ax_button" -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 2 )] -hand_material_override = ExtResource( 17 ) +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_vqlyr")] +hand_material_override = ExtResource("8_cr7b0") -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 4 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("4")] -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 9 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("9")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 15 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("15")] +jump_button_action = "ax_button" -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 6 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("6")] -[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 8 )] +[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("8")] -[node name="MovementGlide" parent="ARVROrigin" index="5" instance=ExtResource( 7 )] +[node name="MovementGlide" parent="XROrigin3D" index="5" instance=ExtResource("7")] turn_with_roll = true wings_impulse = true -[node name="MovementWind" parent="ARVROrigin" index="6" instance=ExtResource( 22 )] +[node name="MovementWind" parent="XROrigin3D" index="6" instance=ExtResource("22")] -[node name="DirectionalLight" type="DirectionalLight" parent="." index="1"] -transform = Transform( 0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0 ) +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." index="1"] +transform = Transform3D(0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0) light_energy = 0.8 -[node name="Terrain" type="Spatial" parent="." index="2"] +[node name="Terrain" type="Node3D" parent="." index="2"] -[node name="Ground" type="StaticBody" parent="Terrain" index="0"] +[node name="Ground" type="StaticBody3D" parent="Terrain" index="0"] -[node name="MeshInstance" type="MeshInstance" parent="Terrain/Ground" index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 10 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="Terrain/Ground" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("10") -[node name="CollisionShape" type="CollisionShape" parent="Terrain/Ground" index="1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 ) -shape = SubResource( 2 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="Terrain/Ground" index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) +shape = SubResource("2") -[node name="Hills" type="Spatial" parent="Terrain" index="1"] +[node name="Hills" type="Node3D" parent="Terrain" index="1"] -[node name="Hill1" parent="Terrain/Hills" index="0" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -158, 0, -45 ) +[node name="Hill1" parent="Terrain/Hills" index="0" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -158, 0, -45) -[node name="Hill2" parent="Terrain/Hills" index="1" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 ) +[node name="Hill2" parent="Terrain/Hills" index="1" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142) -[node name="Hill3" parent="Terrain/Hills" index="2" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, -142 ) +[node name="Hill3" parent="Terrain/Hills" index="2" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, -142) -[node name="Hill4" parent="Terrain/Hills" index="3" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -76 ) +[node name="Hill4" parent="Terrain/Hills" index="3" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -76) -[node name="Hill5" parent="Terrain/Hills" index="4" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 165, 0, -8 ) +[node name="Hill5" parent="Terrain/Hills" index="4" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 165, 0, -8) -[node name="Hill6" parent="Terrain/Hills" index="5" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 176, 0, 84 ) +[node name="Hill6" parent="Terrain/Hills" index="5" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 176, 0, 84) -[node name="Hill7" parent="Terrain/Hills" index="6" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0, 163 ) +[node name="Hill7" parent="Terrain/Hills" index="6" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0, 163) -[node name="Hill8" parent="Terrain/Hills" index="7" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 164 ) +[node name="Hill8" parent="Terrain/Hills" index="7" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 164) -[node name="Hill9" parent="Terrain/Hills" index="8" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -55, 0, 90 ) +[node name="Hill9" parent="Terrain/Hills" index="8" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55, 0, 90) -[node name="Hill10" parent="Terrain/Hills" index="9" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -113, 0, 45 ) +[node name="Hill10" parent="Terrain/Hills" index="9" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -113, 0, 45) -[node name="Hill11" parent="Terrain/Hills" index="10" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -54, -37, 46 ) +[node name="Hill11" parent="Terrain/Hills" index="10" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, -37, 46) -[node name="Hill12" parent="Terrain/Hills" index="11" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -44, 87 ) +[node name="Hill12" parent="Terrain/Hills" index="11" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -44, 87) -[node name="Hill13" parent="Terrain/Hills" index="12" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 43, -37, -86 ) +[node name="Hill13" parent="Terrain/Hills" index="12" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 43, -37, -86) -[node name="Hill14" parent="Terrain/Hills" index="13" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 96, -45, -18 ) +[node name="Hill14" parent="Terrain/Hills" index="13" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 96, -45, -18) -[node name="Cliffs" type="Spatial" parent="Terrain" index="2"] +[node name="Cliffs" type="Node3D" parent="Terrain" index="2"] -[node name="Cliff1" parent="Terrain/Cliffs" index="0" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -77, -14, -63 ) +[node name="Cliff1" parent="Terrain/Cliffs" index="0" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -77, -14, -63) -[node name="Cliff2" parent="Terrain/Cliffs" index="1" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -79, -8, -63 ) +[node name="Cliff2" parent="Terrain/Cliffs" index="1" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -79, -8, -63) -[node name="Cliff3" parent="Terrain/Cliffs" index="2" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -82, -2, -62 ) +[node name="Cliff3" parent="Terrain/Cliffs" index="2" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -82, -2, -62) -[node name="Cliff4" parent="Terrain/Cliffs" index="3" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 4, -64 ) +[node name="Cliff4" parent="Terrain/Cliffs" index="3" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 4, -64) -[node name="Cliff5" parent="Terrain/Cliffs" index="4" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -81, 10, -70 ) +[node name="Cliff5" parent="Terrain/Cliffs" index="4" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -81, 10, -70) -[node name="Cliff6" parent="Terrain/Cliffs" index="5" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -87, 16, -65 ) +[node name="Cliff6" parent="Terrain/Cliffs" index="5" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -87, 16, -65) -[node name="Cliff7" parent="Terrain/Cliffs" index="6" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 93, -14, 82 ) +[node name="Cliff7" parent="Terrain/Cliffs" index="6" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 93, -14, 82) -[node name="Cliff8" parent="Terrain/Cliffs" index="7" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -18, -1, -66 ) +[node name="Cliff8" parent="Terrain/Cliffs" index="7" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, -1, -66) -[node name="Cliff9" parent="Terrain/Cliffs" index="8" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -63, -2, -18 ) +[node name="Cliff9" parent="Terrain/Cliffs" index="8" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63, -2, -18) -[node name="Cliff10" parent="Terrain/Cliffs" index="9" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -62, -8, -20 ) +[node name="Cliff10" parent="Terrain/Cliffs" index="9" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, -8, -20) -[node name="Cliff11" parent="Terrain/Cliffs" index="10" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9, -5, 22 ) +[node name="Cliff11" parent="Terrain/Cliffs" index="10" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, -5, 22) -[node name="Cliff12" parent="Terrain/Cliffs" index="11" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -3, 30 ) +[node name="Cliff12" parent="Terrain/Cliffs" index="11" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -3, 30) -[node name="Cliff13" parent="Terrain/Cliffs" index="12" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 59, -3, -26 ) +[node name="Cliff13" parent="Terrain/Cliffs" index="12" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 59, -3, -26) -[node name="Cliff14" parent="Terrain/Cliffs" index="13" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 94, -8, 48 ) +[node name="Cliff14" parent="Terrain/Cliffs" index="13" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 94, -8, 48) -[node name="Winds" type="Spatial" parent="Terrain" index="3"] +[node name="Winds" type="Node3D" parent="Terrain" index="3"] -[node name="WindArea" parent="Terrain/Winds" index="0" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 5, -70 ) +[node name="WindArea" parent="Terrain/Winds" index="0" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 5, -70) -[node name="WindArea2" parent="Terrain/Winds" index="1" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 15, -70 ) +[node name="WindArea2" parent="Terrain/Winds" index="1" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 15, -70) -[node name="WindArea3" parent="Terrain/Winds" index="2" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 25, -70 ) +[node name="WindArea3" parent="Terrain/Winds" index="2" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 25, -70) -[node name="WindArea4" parent="Terrain/Winds" index="3" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 35, -70 ) +[node name="WindArea4" parent="Terrain/Winds" index="3" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 35, -70) -[node name="WindArea5" parent="Terrain/Winds" index="4" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 5, -10 ) +[node name="WindArea5" parent="Terrain/Winds" index="4" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 5, -10) -[node name="WindArea6" parent="Terrain/Winds" index="5" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 15, -10 ) +[node name="WindArea6" parent="Terrain/Winds" index="5" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 15, -10) -[node name="WindArea7" parent="Terrain/Winds" index="6" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 25, -10 ) +[node name="WindArea7" parent="Terrain/Winds" index="6" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 25, -10) -[node name="WindArea8" parent="Terrain/Winds" index="7" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 35, -10 ) +[node name="WindArea8" parent="Terrain/Winds" index="7" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 35, -10) -[node name="Rings" type="Spatial" parent="Terrain" index="4"] -transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6.839, 49.8018, 12.5189 ) +[node name="Rings" type="Node3D" parent="Terrain" index="4"] +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6.839, 49.802, 12.519) -[node name="ring1" parent="Terrain/Rings" index="0" instance=ExtResource( 19 )] -transform = Transform( 0.92394, -1.61434e-08, -0.382538, 1.28187e-08, 1, -1.12399e-08, 0.382538, 5.48136e-09, 0.92394, -51.9777, 0, -5.49984 ) +[node name="ring1" parent="Terrain/Rings" index="0" instance=ExtResource("18_gu236")] +transform = Transform3D(0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, -51.978, 0, -5.5) -[node name="ring2" parent="Terrain/Rings" index="1" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.14596, 3.37725, 2.24743 ) +[node name="ring2" parent="Terrain/Rings" index="1" instance=ExtResource("18_gu236")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.146, 3.377, 2.247) -[node name="ring3" parent="Terrain/Rings" index="2" instance=ExtResource( 19 )] -transform = Transform( 0.963626, -1.0912e-08, -0.267255, 9.32201e-09, 1, -7.218e-09, 0.267255, 4.4641e-09, 0.963626, 72.52, 12.0066, 15.9844 ) +[node name="ring3" parent="Terrain/Rings" index="2" instance=ExtResource("18_gu236")] +transform = Transform3D(0.96363, 0, -0.267238, 0, 1, 0, 0.267238, 0, 0.96363, 72.52, 12.007, 15.984) -[node name="ring4" parent="Terrain/Rings" index="3" instance=ExtResource( 19 )] -transform = Transform( -0.910597, -2.61121e-08, 0.413295, -5.74028e-08, 1, -6.32931e-08, -0.413295, -8.13588e-08, -0.910597, 69.9441, 26.6401, -48.2277 ) +[node name="ring4" parent="Terrain/Rings" index="3" instance=ExtResource("18_gu236")] +transform = Transform3D(0.96363, 0, -0.267238, 0, 1, 0, 0.267238, 0, 0.96363, 69.944, 26.64, -48.228) -[node name="ring5" parent="Terrain/Rings" index="4" instance=ExtResource( 19 )] -transform = Transform( -0.999975, -4.34426e-08, 0.00708592, -4.39791e-08, 1, -7.55545e-08, -0.00708592, -7.58643e-08, -0.999975, 6.63248, 23.3205, -63.4222 ) +[node name="ring5" parent="Terrain/Rings" index="4" instance=ExtResource("18_gu236")] +transform = Transform3D(-0.999976, 0, 0.00698123, 0, 1, 0, -0.00698123, 0, -0.999976, 6.632, 23.32, -63.422) -[node name="ring6" parent="Terrain/Rings" index="5" instance=ExtResource( 19 )] -transform = Transform( -0.880287, -5.90551e-08, -0.474442, -2.31349e-08, 1, -8.15478e-08, 0.474442, -6.08093e-08, -0.880287, -47.6503, 14.5468, -50.2337 ) +[node name="ring6" parent="Terrain/Rings" index="5" instance=ExtResource("18_gu236")] +transform = Transform3D(-0.880477, 0, -0.474088, 0, 1, 0, 0.474088, 0, -0.880477, -47.65, 14.547, -50.234) -[node name="MainMenuTeleport1" parent="." index="3" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 36, -68 ) +[node name="MainMenuTeleport1" parent="." index="3" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 36, -68) scene_base = NodePath("..") -title = ExtResource( 13 ) +title = ExtResource("13") -[node name="MainMenuTeleport2" parent="." index="4" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 91, 6, 81 ) +[node name="MainMenuTeleport2" parent="." index="4" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 91, 6, 81) scene_base = NodePath("..") -title = ExtResource( 13 ) +title = ExtResource("13") -[node name="Instructions" parent="." index="5" instance=ExtResource( 18 )] -transform = Transform( -0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -80, 40.164, -60 ) +[node name="Instructions" parent="." index="5" instance=ExtResource("19_3dxda")] +transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -80, 40, -60) diff --git a/scenes/climbing_gliding_demo/materials/ghost_hand.tres b/scenes/climbing_gliding_demo/materials/ghost_hand.tres new file mode 100644 index 00000000..f3aeb5fb --- /dev/null +++ b/scenes/climbing_gliding_demo/materials/ghost_hand.tres @@ -0,0 +1,11 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cf6y1af3ouutt"] + +[ext_resource type="Material" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="1_3o4sh"] + +[resource] +render_priority = -1 +next_pass = ExtResource("1_3o4sh") +transparency = 1 +no_depth_test = true +shading_mode = 0 +albedo_color = Color(0, 1, 1, 0.25098) diff --git a/scenes/climbing_gliding_demo/objects/cliff.tscn b/scenes/climbing_gliding_demo/objects/cliff.tscn index 647310b5..faaed723 100644 --- a/scenes/climbing_gliding_demo/objects/cliff.tscn +++ b/scenes/climbing_gliding_demo/objects/cliff.tscn @@ -1,25 +1,25 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://bt8kw5a34upwm"] -[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] -[sub_resource type="ConvexPolygonShape" id=2] -points = PoolVector3Array( 0, -10, 10, -8.66025, -10, 4.99804, 8.66025, -10, 5, 0, 10, 7.99922, -6.92922, 10, 3.99961, -8.66025, -10, -5, 8.65856, -10, -5.00196, 6.92753, 10, -4.00157, 6.92753, 10, 3.99961, -6.92922, 10, -4.00157, 0, -10, -10, 0, 10, -8.00117 ) +[sub_resource type="ConvexPolygonShape3D" id="2"] +points = PackedVector3Array(0, -10, 10, -8.66025, -10, 4.99804, 8.66025, -10, 5, 0, 10, 7.99922, -6.92922, 10, 3.99961, -8.66025, -10, -5, 8.65856, -10, -5.00196, 6.92753, 10, -4.00157, 6.92753, 10, 3.99961, -6.92922, 10, -4.00157, 0, -10, -10, 0, 10, -8.00117) -[sub_resource type="CylinderMesh" id=1] +[sub_resource type="CylinderMesh" id="1"] top_radius = 8.0 bottom_radius = 10.0 height = 20.0 radial_segments = 6 rings = 0 -[node name="Cliff" instance=ExtResource( 1 )] +[node name="Cliff" instance=ExtResource("1")] -[node name="CollisionShape" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 ) -shape = SubResource( 2 ) +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0) +shape = SubResource("2") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 ) -mesh = SubResource( 1 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") diff --git a/scenes/climbing_gliding_demo/objects/hill.tscn b/scenes/climbing_gliding_demo/objects/hill.tscn index beb62d3f..0357655d 100644 --- a/scenes/climbing_gliding_demo/objects/hill.tscn +++ b/scenes/climbing_gliding_demo/objects/hill.tscn @@ -1,24 +1,24 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://cm0cpldqa6j4d"] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"] -[sub_resource type="CylinderMesh" id=2] +[sub_resource type="CylinderMesh" id="2"] top_radius = 70.0 bottom_radius = 100.0 height = 50.0 radial_segments = 6 rings = 0 -[sub_resource type="ConvexPolygonShape" id=3] -points = PoolVector3Array( 86.6025, -25, 49.9804, 60.6116, 25, 34.9843, 0, -25, 100, 86.5856, -25, -50.0196, 60.6116, 25, -35.0039, 0, 25, 69.9883, -60.6286, 25, 34.9843, -86.6025, -25, 49.9804, 0, -25, -100, 0, 25, -70.0078, -60.6286, 25, -35.0039, -86.6025, -25, -50 ) +[sub_resource type="ConvexPolygonShape3D" id="3"] +points = PackedVector3Array(86.6025, -25, 49.9804, 60.6116, 25, 34.9843, 0, -25, 100, 86.5856, -25, -50.0196, 60.6116, 25, -35.0039, 0, 25, 69.9883, -60.6286, 25, 34.9843, -86.6025, -25, 49.9804, 0, -25, -100, 0, 25, -70.0078, -60.6286, 25, -35.0039, -86.6025, -25, -50) -[node name="Hill" type="StaticBody"] +[node name="Hill" type="StaticBody3D"] -[node name="MeshInstance" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0 ) -shape = SubResource( 3 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0) +shape = SubResource("3") diff --git a/scenes/climbing_gliding_demo/objects/instructions.tscn b/scenes/climbing_gliding_demo/objects/instructions.tscn index daac43ca..f77ea95f 100644 --- a/scenes/climbing_gliding_demo/objects/instructions.tscn +++ b/scenes/climbing_gliding_demo/objects/instructions.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://b634pnt2nrn77"] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/instructions_2d.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] +[ext_resource type="PackedScene" uid="uid://6of4yjha4f0t" path="res://scenes/climbing_gliding_demo/objects/instructions_2d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] -[sub_resource type="CubeMesh" id=1] -material = ExtResource( 3 ) -size = Vector3( 4.2, 3, 0.1 ) +[sub_resource type="BoxMesh" id="1"] +material = ExtResource("3") +size = Vector3(4.2, 3, 0.1) -[node name="Instructions" type="Spatial"] +[node name="Instructions" type="Node3D"] -[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )] -screen_size = Vector2( 4, 2.8 ) -viewport_size = Vector2( 400, 280 ) +[node name="Viewport2Din3D" parent="." instance=ExtResource("2")] +screen_size = Vector2(4, 2.8) +viewport_size = Vector2(400, 280) unshaded = true -scene = ExtResource( 1 ) +scene = ExtResource("1") update_mode = 0 collision_layer = 0 -[node name="MeshInstance" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 ) -mesh = SubResource( 1 ) +[node name="MeshInstance" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1) +mesh = SubResource("1") diff --git a/scenes/climbing_gliding_demo/objects/instructions_2d.tscn b/scenes/climbing_gliding_demo/objects/instructions_2d.tscn index 6c68816b..486475a5 100644 --- a/scenes/climbing_gliding_demo/objects/instructions_2d.tscn +++ b/scenes/climbing_gliding_demo/objects/instructions_2d.tscn @@ -1,22 +1,27 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://6of4yjha4f0t"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -320.0 -rect_pivot_offset = Vector2( -421, -85 ) +grow_horizontal = 2 +grow_vertical = 2 [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 280.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 280.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 271.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 270.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Climbing & Gliding Demo This scene demonstrates climbing, gliding, and wind using the following controls: diff --git a/scenes/climbing_gliding_demo/objects/wind_area.tscn b/scenes/climbing_gliding_demo/objects/wind_area.tscn index a1981d1e..54b15ba1 100644 --- a/scenes/climbing_gliding_demo/objects/wind_area.tscn +++ b/scenes/climbing_gliding_demo/objects/wind_area.tscn @@ -1,35 +1,54 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=7 format=3 uid="uid://bt2i205mlq1q0"] -[ext_resource path="res://addons/godot-xr-tools/objects/wind_area.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/climbing_gliding_demo/objects/wind_area_shader.tres" type="Material" id=2] +[ext_resource type="PackedScene" uid="uid://nack1qite6lx" path="res://addons/godot-xr-tools/objects/wind_area.tscn" id="1"] +[ext_resource type="Material" uid="uid://b5c8o7a55fyx5" path="res://scenes/climbing_gliding_demo/objects/wind_area_shader.tres" id="2"] -[sub_resource type="CylinderShape" id=2] -radius = 5.0 +[sub_resource type="CylinderShape3D" id="2"] height = 10.0 +radius = 5.0 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_63gm4"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_hgony"] +_surfaces = [{ +"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1), +"format": 4097, +"index_count": 96, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 1, 0, 31, 0, 30, 0, 0, 0, 1, 0), +"lods": [0.0672776, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 30, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 30, 0, 5, 0, 31, 0, 10, 0, 14, 0, 13, 0, 14, 0, 17, 0, 13, 0, 14, 0, 16, 0, 17, 0, 28, 0, 30, 0, 31, 0, 28, 0, 31, 0, 27, 0, 24, 0, 28, 0, 27, 0, 24, 0, 27, 0, 23, 0, 20, 0, 24, 0, 23, 0, 20, 0, 23, 0, 19, 0, 16, 0, 20, 0, 19, 0, 16, 0, 19, 0, 17, 0), 0.164049, PackedByteArray(2, 0, 13, 0, 5, 0, 2, 0, 10, 0, 13, 0, 10, 0, 17, 0, 13, 0, 10, 0, 16, 0, 17, 0, 16, 0, 23, 0, 17, 0, 16, 0, 20, 0, 23, 0, 20, 0, 2, 0, 23, 0, 2, 0, 5, 0, 23, 0), 0.399072, PackedByteArray(20, 0, 17, 0, 5, 0, 20, 0, 16, 0, 17, 0, 16, 0, 5, 0, 17, 0, 16, 0, 20, 0, 5, 0)], +"primitive": 3, +"vertex_count": 32, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190) +}] +blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id=1] +[sub_resource type="ArrayMesh" id="ArrayMesh_6nlh0"] resource_name = "tube_Cylinder" -surfaces/0 = { -"aabb": AABB( -0.5, -0.5, -0.5, 1, 1, 1 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 0, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 60, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 0, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 60, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 60, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 0, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 60, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 0, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 60, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 0, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 60, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 60, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 0, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 60, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 0, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 60, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 60, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 0, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 60, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 0, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 60, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 0 ), -"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1), +"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0), +"format": 4119, "index_count": 96, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 34 -} +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0), +"lods": [0.0672776, PackedByteArray(57, 0, 59, 0, 58, 0, 57, 0, 10, 0, 59, 0, 32, 0, 57, 0, 58, 0, 10, 0, 13, 0, 59, 0, 32, 0, 58, 0, 33, 0, 10, 0, 14, 0, 13, 0, 14, 0, 18, 0, 13, 0, 14, 0, 16, 0, 18, 0, 30, 0, 32, 0, 33, 0, 30, 0, 33, 0, 29, 0, 26, 0, 30, 0, 29, 0, 26, 0, 29, 0, 25, 0, 22, 0, 26, 0, 25, 0, 22, 0, 25, 0, 21, 0, 17, 0, 22, 0, 21, 0, 17, 0, 21, 0, 19, 0), 0.164049, PackedByteArray(42, 0, 49, 0, 45, 0, 42, 0, 47, 0, 49, 0, 48, 0, 52, 0, 13, 0, 48, 0, 50, 0, 52, 0, 51, 0, 54, 0, 19, 0, 51, 0, 22, 0, 54, 0, 53, 0, 43, 0, 55, 0, 44, 0, 46, 0, 56, 0), 0.399072, PackedByteArray(40, 0, 38, 0, 34, 0, 22, 0, 16, 0, 18, 0, 37, 0, 35, 0, 39, 0, 17, 0, 41, 0, 36, 0)], +"material": SubResource("StandardMaterial3D_63gm4"), +"primitive": 3, +"vertex_count": 60, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 173, 197, 255, 127, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 15, 173, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 79, 101, 255, 127, 0, 0, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 166, 12, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 84, 173, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 116, 29, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 250, 172, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 40, 95, 255, 127, 255, 191, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 126, 167, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 71, 174, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 74, 239, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 202, 156, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 163, 241, 0, 0, 255, 223, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 255, 255, 114, 131, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 0, 186, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 255, 235, 135, 255, 255, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 52, 163, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 172, 91, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 144, 170, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 117, 3, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 180, 71, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 123, 133, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 130, 215, 124, 165, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 47, 195, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 25, 214, 0, 0, 255, 223, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 117, 147, 0, 0, 255, 255) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_hgony") -[node name="WindArea" instance=ExtResource( 1 )] +[node name="WindArea" instance=ExtResource("1")] collision_layer = 524288 -wind_vector = Vector3( 0, 20, 0 ) +wind_vector = Vector3(0, 20, 0) -[node name="CollisionShape" parent="." index="0"] -shape = SubResource( 2 ) +[node name="CollisionShape3D" parent="." index="0"] +shape = SubResource("2") -[node name="Cylinder" type="MeshInstance" parent="." index="1"] -transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 ) -mesh = SubResource( 1 ) +[node name="Cylinder" type="MeshInstance3D" parent="." index="1"] +transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0) +gi_mode = 0 +mesh = SubResource("ArrayMesh_6nlh0") skeleton = NodePath("") -material/0 = ExtResource( 2 ) +surface_material_override/0 = ExtResource("2") diff --git a/scenes/climbing_gliding_demo/objects/wind_area_shader.tres b/scenes/climbing_gliding_demo/objects/wind_area_shader.tres index c13c541c..0554ba14 100644 --- a/scenes/climbing_gliding_demo/objects/wind_area_shader.tres +++ b/scenes/climbing_gliding_demo/objects/wind_area_shader.tres @@ -1,146 +1,152 @@ -[gd_resource type="ShaderMaterial" load_steps=14 format=2] +[gd_resource type="ShaderMaterial" load_steps=14 format=3 uid="uid://b5c8o7a55fyx5"] -[sub_resource type="VisualShaderNodeScalarFunc" id=8] +[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_4vp4h"] output_port_for_preview = 0 function = 17 -[sub_resource type="VisualShaderNodeColorConstant" id=13] -constant = Color( 0.169944, 0.249712, 0.97294, 1 ) +[sub_resource type="VisualShaderNodeColorConstant" id="VisualShaderNodeColorConstant_vbeir"] +constant = Color(0.169944, 0.249712, 0.97294, 1) -[sub_resource type="VisualShaderNodeInput" id=14] +[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_24u0o"] input_name = "time" -[sub_resource type="VisualShaderNodeScalarOp" id=19] -default_input_values = [ 0, 0.0, 1, 0.8 ] +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_e0v0j"] +default_input_values = [0, 0.0, 1, 0.8] operator = 2 -[sub_resource type="VisualShaderNodeVectorOp" id=23] -default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 3, 0 ) ] +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_uwwfc"] +default_input_values = [0, Vector2(0, 0), 1, Vector2(1, 0)] +op_type = 0 operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=24] +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_n3gh3"] -[sub_resource type="VisualShaderNodeVectorOp" id=25] +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_yqpiy"] operator = 2 -[sub_resource type="VisualShaderNodeScalarOp" id=30] +[sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_ludc6"] output_port_for_preview = 0 -operator = 7 - -[sub_resource type="VisualShaderNodeScalarOp" id=31] -default_input_values = [ 0, 0.0, 1, 0.8 ] -operator = 2 +default_input_values = [0, 0.4, 1, 0.5, 2, 0.0] -[sub_resource type="VisualShaderNodeInput" id=21] +[sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_hpd7b"] output_port_for_preview = 0 -input_name = "uv" +default_input_values = [0, 1.0, 1, 0.4, 2, 0.0] -[sub_resource type="VisualShaderNodeScalarSmoothStep" id=32] +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_sxb5j"] output_port_for_preview = 0 -default_input_values = [ 0, 0.4, 1, 0.5, 2, 0.0 ] +operator = 7 + +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_3jcqr"] +default_input_values = [0, 0.0, 1, 0.8] +operator = 2 -[sub_resource type="VisualShaderNodeScalarSmoothStep" id=33] +[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_mno13"] output_port_for_preview = 0 -default_input_values = [ 0, 1.0, 1, 0.4, 2, 0.0 ] +expanded_output_ports = [0] +input_name = "uv" -[sub_resource type="VisualShader" id=22] +[sub_resource type="VisualShader" id="VisualShader_buj8i"] code = "shader_type spatial; -render_mode blend_add, cull_disabled, specular_schlick_ggx, async_visible, unshaded; - +render_mode blend_add, cull_disabled, unshaded; -void vertex() { -// Output:0 - -} void fragment() { -// Color:19 - vec3 n_out19p0 = vec3(0.169944, 0.249712, 0.972940); - float n_out19p1 = 1.000000; +// ColorConstant:19 + vec4 n_out19p0 = vec4(0.169944, 0.249712, 0.972940, 1.000000); + // Input:2 float n_out2p0 = TIME; -// ScalarOp:25 + +// FloatOp:25 float n_in25p1 = 0.80000; float n_out25p0 = n_out2p0 * n_in25p1; + // Input:5 - vec3 n_out5p0 = vec3(UV, 0.0); + vec2 n_out5p0 = UV; + float n_out5p2 = n_out5p0.g; + // VectorOp:26 - vec3 n_in26p1 = vec3(0.00000, 3.00000, 0.00000); - vec3 n_out26p0 = n_out5p0 * n_in26p1; + vec2 n_in26p1 = vec2(1.00000, 0.00000); + vec2 n_out26p0 = vec2(n_out5p2) * n_in26p1; + + +// FloatOp:27 + float n_out27p0 = n_out25p0 + n_out26p0.x; -// ScalarOp:27 - float n_out27p0 = n_out25p0 + dot(n_out26p0, vec3(0.333333, 0.333333, 0.333333)); -// ScalarFunc:12 +// FloatFunc:12 float n_out12p0 = fract(n_out27p0); -// ScalarSmoothStep:50 - float n_in50p0 = 0.40000; - float n_in50p1 = 0.50000; - float n_out50p0 = smoothstep(n_in50p0, n_in50p1, n_out12p0); -// ScalarSmoothStep:51 - float n_in51p0 = 1.00000; - float n_in51p1 = 0.40000; - float n_out51p0 = smoothstep(n_in51p0, n_in51p1, n_out12p0); +// SmoothStep:46 + float n_in46p0 = 0.40000; + float n_in46p1 = 0.50000; + float n_out46p0 = smoothstep(n_in46p0, n_in46p1, n_out12p0); + + +// SmoothStep:47 + float n_in47p0 = 1.00000; + float n_in47p1 = 0.40000; + float n_out47p0 = smoothstep(n_in47p0, n_in47p1, n_out12p0); + -// ScalarOp:48 - float n_out48p0 = min(n_out50p0, n_out51p0); +// FloatOp:48 + float n_out48p0 = min(n_out46p0, n_out47p0); -// ScalarOp:49 + +// FloatOp:49 float n_in49p1 = 0.80000; float n_out49p0 = n_out48p0 * n_in49p1; + // VectorOp:40 - vec3 n_out40p0 = n_out19p0 * vec3(n_out49p0); + vec3 n_out40p0 = vec3(n_out19p0.xyz) * vec3(n_out49p0); + // Output:0 ALBEDO = n_out40p0; ALPHA = n_out49p0; -} - -void light() { -// Output:0 } " -graph_offset = Vector2( 775.702, -184.338 ) +graph_offset = Vector2(-435.649, -116.438) modes/blend = 1 modes/cull = 2 flags/unshaded = true -nodes/fragment/0/position = Vector2( 1820, 0 ) -nodes/fragment/2/node = SubResource( 14 ) -nodes/fragment/2/position = Vector2( -294, 63 ) -nodes/fragment/5/node = SubResource( 21 ) -nodes/fragment/5/position = Vector2( -294, 231 ) -nodes/fragment/12/node = SubResource( 8 ) -nodes/fragment/12/position = Vector2( 360, 120 ) -nodes/fragment/19/node = SubResource( 13 ) -nodes/fragment/19/position = Vector2( 1365, -84 ) -nodes/fragment/25/node = SubResource( 19 ) -nodes/fragment/25/position = Vector2( -84, 42 ) -nodes/fragment/26/node = SubResource( 23 ) -nodes/fragment/26/position = Vector2( -84, 210 ) -nodes/fragment/27/node = SubResource( 24 ) -nodes/fragment/27/position = Vector2( 126, 105 ) -nodes/fragment/40/node = SubResource( 25 ) -nodes/fragment/40/position = Vector2( 1617, -84 ) -nodes/fragment/48/node = SubResource( 30 ) -nodes/fragment/48/position = Vector2( 1000, 40 ) -nodes/fragment/49/node = SubResource( 31 ) -nodes/fragment/49/position = Vector2( 1302, 84 ) -nodes/fragment/50/node = SubResource( 32 ) -nodes/fragment/50/position = Vector2( 640, -40 ) -nodes/fragment/51/node = SubResource( 33 ) -nodes/fragment/51/position = Vector2( 640, 200 ) -nodes/fragment/connections = PoolIntArray( 2, 0, 25, 0, 5, 0, 26, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 12, 0, 50, 2, 12, 0, 51, 2, 50, 0, 48, 0, 51, 0, 48, 1 ) +nodes/fragment/0/position = Vector2(1820, 0) +nodes/fragment/2/node = SubResource("VisualShaderNodeInput_24u0o") +nodes/fragment/2/position = Vector2(-480, 60) +nodes/fragment/5/node = SubResource("VisualShaderNodeInput_mno13") +nodes/fragment/5/position = Vector2(-500, 240) +nodes/fragment/12/node = SubResource("VisualShaderNodeFloatFunc_4vp4h") +nodes/fragment/12/position = Vector2(380, 140) +nodes/fragment/19/node = SubResource("VisualShaderNodeColorConstant_vbeir") +nodes/fragment/19/position = Vector2(1365, -84) +nodes/fragment/25/node = SubResource("VisualShaderNodeFloatOp_e0v0j") +nodes/fragment/25/position = Vector2(-84, 42) +nodes/fragment/26/node = SubResource("VisualShaderNodeVectorOp_uwwfc") +nodes/fragment/26/position = Vector2(-84, 210) +nodes/fragment/27/node = SubResource("VisualShaderNodeFloatOp_n3gh3") +nodes/fragment/27/position = Vector2(126, 105) +nodes/fragment/40/node = SubResource("VisualShaderNodeVectorOp_yqpiy") +nodes/fragment/40/position = Vector2(1617, -84) +nodes/fragment/46/node = SubResource("VisualShaderNodeSmoothStep_ludc6") +nodes/fragment/46/position = Vector2(700, -60) +nodes/fragment/47/node = SubResource("VisualShaderNodeSmoothStep_hpd7b") +nodes/fragment/47/position = Vector2(700, 300) +nodes/fragment/48/node = SubResource("VisualShaderNodeFloatOp_sxb5j") +nodes/fragment/48/position = Vector2(1071, 42) +nodes/fragment/49/node = SubResource("VisualShaderNodeFloatOp_3jcqr") +nodes/fragment/49/position = Vector2(1302, 84) +nodes/fragment/connections = PackedInt32Array(2, 0, 25, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 12, 0, 47, 2, 46, 0, 48, 0, 47, 0, 48, 1, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 5, 2, 26, 0, 12, 0, 46, 2) [resource] -shader = SubResource( 22 ) +render_priority = 0 +shader = SubResource("VisualShader_buj8i") diff --git a/scenes/demo_scene_base.gd b/scenes/demo_scene_base.gd new file mode 100644 index 00000000..9a661f70 --- /dev/null +++ b/scenes/demo_scene_base.gd @@ -0,0 +1,27 @@ +class_name DemoSceneBase +extends XRToolsSceneBase + +func _ready(): + super() + + var webxr_interface = XRServer.find_interface("WebXR") + if webxr_interface: + XRToolsUserSettings.webxr_primary_changed.connect(self._on_webxr_primary_changed) + _on_webxr_primary_changed(XRToolsUserSettings.get_real_webxr_primary()) + + +func _on_webxr_primary_changed(webxr_primary: int) -> void: + # Default to thumbstick. + if webxr_primary == 0: + webxr_primary = XRToolsUserSettings.WebXRPrimary.THUMBSTICK + + # Re-assign the action name on all the applicable functions. + var action_name = XRToolsUserSettings.get_webxr_primary_action(webxr_primary) + for controller in [$XROrigin3D/LeftHand, $XROrigin3D/RightHand]: + for n in ["MovementDirect", "MovementTurn", "FunctionTeleport"]: + var f = controller.get_node_or_null(n) + if f: + if "input_action" in f: + f.input_action = action_name + if "rotation_action" in f: + f.rotation_action = action_name diff --git a/scenes/footstep_movement_demo/footstep movement demo.png.import b/scenes/footstep_movement_demo/footstep movement demo.png.import index f92173ed..757f4380 100644 --- a/scenes/footstep_movement_demo/footstep movement demo.png.import +++ b/scenes/footstep_movement_demo/footstep movement demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.stex" -path.etc="res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc.stex" +type="CompressedTexture2D" +uid="uid://dwryn8mjdj86m" +path.s3tc="res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.ctex" +path.etc2="res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/footstep_movement_demo/footstep movement demo.png" -dest_files=[ "res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.stex", "res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc.stex" ] +dest_files=["res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.ctex", "res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/footstep_movement_demo/footstep_movement_demo.tscn b/scenes/footstep_movement_demo/footstep_movement_demo.tscn index acc19962..22d1285c 100644 --- a/scenes/footstep_movement_demo/footstep_movement_demo.tscn +++ b/scenes/footstep_movement_demo/footstep_movement_demo.tscn @@ -1,84 +1,77 @@ -[gd_scene load_steps=18 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=9] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=10] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=11] -[ext_resource path="res://assets/meshes/plate/surface_objects.tscn" type="PackedScene" id=12] -[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" type="Script" id=13] -[ext_resource path="res://assets/footsteps/default_footstep.wav" type="AudioStream" id=14] -[ext_resource path="res://scenes/footstep_movement_demo/objects/instructions.tscn" type="PackedScene" id=16] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_footstep.tscn" type="PackedScene" id=17] - -[sub_resource type="Resource" id=2] -script = ExtResource( 13 ) -name = "" -hit_sound = ExtResource( 14 ) -walk_sounds = [ ExtResource( 14 ), ExtResource( 14 ) ] +[gd_scene load_steps=19 format=3 uid="uid://di3m8og7wdtw7"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="1_yauh3"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://mnoirgubr2js" path="res://scenes/footstep_movement_demo/objects/instructions.tscn" id="3_8248t"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="9"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="10"] +[ext_resource type="PackedScene" uid="uid://0xlsitpu17r1" path="res://addons/godot-xr-tools/functions/movement_footstep.tscn" id="10_e05iy"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="11"] +[ext_resource type="AudioStream" uid="uid://cddgfn5xkknr4" path="res://assets/footsteps/default_footstep.wav" id="11_xknd6"] +[ext_resource type="PackedScene" uid="uid://54qovguk25i5" path="res://assets/meshes/plate/surface_objects.tscn" id="12"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" id="14_cqr4a"] + +[sub_resource type="Resource" id="Resource_lclo7"] +script = ExtResource("14_cqr4a") +name = "Default" +hit_sound = ExtResource("11_xknd6") +walk_sounds = Array[AudioStream]([ExtResource("11_xknd6"), ExtResource("11_xknd6")]) walk_pitch_minimum = 0.8 walk_pitch_maximum = 1.2 -[node name="FootstepMovementDemo" instance=ExtResource( 1 )] +[node name="FootstepMovementDemo" instance=ExtResource("1")] +script = ExtResource("1_yauh3") -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )] +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("6")] -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )] -__meta__ = { -"_editor_description_": "" -} -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")] max_speed = 3.0 strafe = true -[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 3 )] -__meta__ = { -"_editor_description_": "" -} +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("9")] +jump_button_action = "ax_button" + +[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("3")] crouch_height = 1.3 -crouch_button = 1 +crouch_button_action = "by_button" -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 8 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("8")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )] -__meta__ = { -"_editor_description_": "" -} -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 7 )] -__meta__ = { -"_editor_description_": "" -} +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("7")] + +[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("9")] +jump_button_action = "ax_button" -[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 9 )] -jump_button_id = 7 +[node name="MovementCrouch" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("3")] +crouch_height = 1.3 +crouch_button_action = "by_button" +crouch_type = 1 -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 4 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("4")] +top_level = true +body_forward_mix = 0.75 -[node name="MovementFootstep" parent="ARVROrigin" index="4" instance=ExtResource( 17 )] -default_surface_audio_type = SubResource( 2 ) +[node name="MovementFootstep" parent="XROrigin3D" index="4" instance=ExtResource("10_e05iy")] +default_surface_audio_type = SubResource("Resource_lclo7") -[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("2")] -[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5 ) +[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7) scene_base = NodePath("..") -title = ExtResource( 10 ) - -[node name="surface_objects" parent="." index="3" instance=ExtResource( 12 )] +title = ExtResource("10") -[node name="Instructions" parent="." index="4" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.167241, 3.76897, -15.3981 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("3_8248t")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -16) -[editable path="ARVROrigin/MovementFootstep"] +[node name="surface_objects" parent="." index="4" instance=ExtResource("12")] diff --git a/scenes/footstep_movement_demo/objects/instructions.tscn b/scenes/footstep_movement_demo/objects/instructions.tscn index e0b4f9d7..63832e56 100644 --- a/scenes/footstep_movement_demo/objects/instructions.tscn +++ b/scenes/footstep_movement_demo/objects/instructions.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://mnoirgubr2js"] -[ext_resource path="res://scenes/footstep_movement_demo/objects/instructions_2d.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] +[ext_resource type="PackedScene" uid="uid://yev5htm4v2go" path="res://scenes/footstep_movement_demo/objects/instructions_2d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] -[sub_resource type="CubeMesh" id=1] -material = ExtResource( 3 ) -size = Vector3( 4, 5, 0.1 ) +[sub_resource type="BoxMesh" id="1"] +material = ExtResource("3") +size = Vector3(4.2, 2.7, 0.1) -[node name="Instructions" type="Spatial"] +[node name="Instructions" type="Node3D"] -[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )] -screen_size = Vector2( 4, 5 ) -viewport_size = Vector2( 400, 425 ) +[node name="Viewport2Din3D" parent="." instance=ExtResource("2")] +screen_size = Vector2(4, 5) +viewport_size = Vector2(400, 425) unshaded = true -scene = ExtResource( 1 ) +scene = ExtResource("1") update_mode = 0 collision_layer = 0 -[node name="MeshInstance" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 ) -mesh = SubResource( 1 ) +[node name="MeshInstance" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, -0.1) +mesh = SubResource("1") diff --git a/scenes/footstep_movement_demo/objects/instructions_2d.tscn b/scenes/footstep_movement_demo/objects/instructions_2d.tscn index 6c8d9826..0812d7b8 100644 --- a/scenes/footstep_movement_demo/objects/instructions_2d.tscn +++ b/scenes/footstep_movement_demo/objects/instructions_2d.tscn @@ -1,23 +1,27 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://yev5htm4v2go"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -100.0 -rect_pivot_offset = Vector2( -421, -85 ) +grow_horizontal = 2 +grow_vertical = 2 [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 500.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 1 +offset_right = 400.0 +offset_bottom = 500.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 400.0 -margin_bottom = 480.0 -custom_constants/line_separation = -1 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 470.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Footstep Demo This scene demonstrates the footstep system. @@ -30,25 +34,19 @@ Usage: currently standing on. - surface_audio.tscn - this is the node you can attach to a StaticBody - which lets you define the surface audio resource - - 1) select a StaticBody and attach - a surface_audio.tscn to it - - 2) select Resource, create a - new XRToolsSurfaceAudioType - - 3) Name - fill in the the surface name to be used - for the footstep - - 4) Walk Sounds and HitSound - fill with the desired - audio files - - 4)a: Walk Sounds can be multiple ones - 4)b: HitSound is the sound that is - being played when the player jumps + this is the node you can attach to a StaticBody which lets you + define the surface audio resource + 1) select a StaticBody and attach a surface_audio.tscn to it + 2) select Resource, create a new XRToolsSurfaceAudioType + 3) Name - fill in the the surface name to be used for + the footstep + + 3) Walk Sounds and HitSound - fill with the desired audio files + 3)a: Walk Sounds can be multiple ones + 3)b: HitSound is the sound that is being played when + the player jumps - 5) WalkPitch Min/Max - can be adjusted to create a randomized pitch scale - of the footstep audio" + 4) WalkPitch Min/Max + can be adjusted to create a randomized pitch scale of the + footstep audio + " diff --git a/scenes/grappling_demo/grappling_demo.png.import b/scenes/grappling_demo/grappling_demo.png.import index 9ffffaad..685f6b1e 100644 --- a/scenes/grappling_demo/grappling_demo.png.import +++ b/scenes/grappling_demo/grappling_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.stex" -path.etc="res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc.stex" +type="CompressedTexture2D" +uid="uid://bwkm0t73t80cs" +path.s3tc="res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.ctex" +path.etc2="res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/grappling_demo/grappling_demo.png" -dest_files=[ "res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.stex", "res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc.stex" ] +dest_files=["res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.ctex", "res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/grappling_demo/grappling_demo.tscn b/scenes/grappling_demo/grappling_demo.tscn index 84094d00..6b9f3ae7 100644 --- a/scenes/grappling_demo/grappling_demo.tscn +++ b/scenes/grappling_demo/grappling_demo.tscn @@ -1,107 +1,104 @@ -[gd_scene load_steps=18 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/grappling_demo/objects/moving_platforms.tscn" type="PackedScene" id=12] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=13] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=14] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=15] -[ext_resource path="res://scenes/grappling_demo/objects/instructions.tscn" type="PackedScene" id=16] -[ext_resource path="res://scenes/grappling_demo/objects/tower.tscn" type="PackedScene" id=18] - -[node name="GrapplingDemo" instance=ExtResource( 1 )] - -[node name="ARVROrigin" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 28 ) - -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )] - -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 3 )] -enabled = true -order = 10 +[gd_scene load_steps=19 format=3 uid="uid://cvnl210i6nydl"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://c78tjrtiyqna8" path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_7xgbg"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_lm0po"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_n2v2n"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="11"] +[ext_resource type="PackedScene" path="res://scenes/grappling_demo/objects/moving_platforms.tscn" id="12"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="14"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="15"] +[ext_resource type="PackedScene" path="res://scenes/grappling_demo/objects/instructions.tscn" id="15_vd3ki"] +[ext_resource type="PackedScene" uid="uid://lelocs2v705t" path="res://scenes/grappling_demo/objects/tower.tscn" id="18"] + +[node name="GrapplingDemo" instance=ExtResource("1")] +script = ExtResource("2_lm0po") + +[node name="XROrigin3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 28) + +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_7xgbg")] + +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("3")] max_speed = 3.0 strafe = true -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")] +jump_button_action = "ax_button" -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("8")] ranged_enable = false -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_n2v2n")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 3 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("3")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 7 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("7")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")] +jump_button_action = "ax_button" -[node name="MovementGrapple" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 2 )] +[node name="MovementGrapple" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("2")] -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="5" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="5" instance=ExtResource("8")] ranged_enable = false -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 11 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("11")] -[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 4 )] +[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("4")] -[node name="MovementGlide" parent="ARVROrigin" index="5" instance=ExtResource( 9 )] +[node name="MovementGlide" parent="XROrigin3D" index="5" instance=ExtResource("9")] -[node name="BasicMap" parent="." index="1" instance=ExtResource( 13 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("13")] -[node name="ToMainMenu" parent="." index="2" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 32 ) +[node name="ToMainMenu" parent="." index="2" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 32) scene_base = NodePath("..") -title = ExtResource( 15 ) +title = ExtResource("15") -[node name="Instructions" parent="." index="3" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 24 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("15_vd3ki")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 24) -[node name="Towers" type="Spatial" parent="." index="4"] +[node name="Towers" type="Node3D" parent="." index="4"] -[node name="Tower1" parent="Towers" index="0" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, -8 ) +[node name="Tower1" parent="Towers" index="0" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, -8) -[node name="Tower2" parent="Towers" index="1" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8 ) +[node name="Tower2" parent="Towers" index="1" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8) -[node name="Tower3" parent="Towers" index="2" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, -8 ) +[node name="Tower3" parent="Towers" index="2" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, -8) -[node name="Tower4" parent="Towers" index="3" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, 0 ) +[node name="Tower4" parent="Towers" index="3" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, 0) -[node name="Tower5" parent="Towers" index="4" instance=ExtResource( 18 )] +[node name="Tower5" parent="Towers" index="4" instance=ExtResource("18")] -[node name="Tower6" parent="Towers" index="5" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0 ) +[node name="Tower6" parent="Towers" index="5" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0) -[node name="Tower7" parent="Towers" index="6" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, 8 ) +[node name="Tower7" parent="Towers" index="6" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, 8) -[node name="Tower8" parent="Towers" index="7" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8 ) +[node name="Tower8" parent="Towers" index="7" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8) -[node name="Tower9" parent="Towers" index="8" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, 8 ) +[node name="Tower9" parent="Towers" index="8" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, 8) -[node name="MovingPlatformsLow" parent="." index="5" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0 ) +[node name="MovingPlatformsLow" parent="." index="5" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0) -[node name="MovingPlatformsHigh" parent="." index="6" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 ) +[node name="MovingPlatformsHigh" parent="." index="6" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0) rate = -10.0 diff --git a/scenes/grappling_demo/objects/instructions_2d.tscn b/scenes/grappling_demo/objects/instructions_2d.tscn index 945cf5be..ac585f41 100644 --- a/scenes/grappling_demo/objects/instructions_2d.tscn +++ b/scenes/grappling_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://c83u3yf6se26f"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Grappling Demo This scene demonstrates grappling movement with the following controls: diff --git a/scenes/grappling_demo/objects/moving_platforms.gd b/scenes/grappling_demo/objects/moving_platforms.gd index 2e4bd51d..18660638 100644 --- a/scenes/grappling_demo/objects/moving_platforms.gd +++ b/scenes/grappling_demo/objects/moving_platforms.gd @@ -1,8 +1,8 @@ -extends Spatial +extends Node3D # Rotation rate -export var rate : float = 10.0 +@export var rate : float = 10.0 # Called every frame. 'delta' is the elapsed time since the previous frame. func _physics_process(delta): - rotate_y(deg2rad(delta * rate)) + rotate_y(deg_to_rad(delta * rate)) diff --git a/scenes/grappling_demo/objects/moving_platforms.tscn b/scenes/grappling_demo/objects/moving_platforms.tscn index fefae6e9..b5e23ae5 100644 --- a/scenes/grappling_demo/objects/moving_platforms.tscn +++ b/scenes/grappling_demo/objects/moving_platforms.tscn @@ -3,17 +3,17 @@ [ext_resource path="res://scenes/grappling_demo/objects/platform.tscn" type="PackedScene" id=2] [ext_resource path="res://scenes/grappling_demo/objects/moving_platforms.gd" type="Script" id=3] -[node name="MovingPlatforms" type="Spatial"] +[node name="MovingPlatforms" type="Node3D"] script = ExtResource( 3 ) [node name="Platform1" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 17 ) +transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 17 ) [node name="Platform2" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 0, 0 ) +transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 0, 0 ) [node name="Platform3" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -17 ) +transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -17 ) [node name="Platform4" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 0 ) +transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 0 ) diff --git a/scenes/grappling_demo/objects/platform.tscn b/scenes/grappling_demo/objects/platform.tscn index 6f6a1ebd..2604699c 100644 --- a/scenes/grappling_demo/objects/platform.tscn +++ b/scenes/grappling_demo/objects/platform.tscn @@ -1,22 +1,22 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://cfagt23i6sx20"] -[ext_resource path="res://addons/godot-xr-tools/objects/climbable.gd" type="Script" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/climbable.gd" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] -[sub_resource type="CubeMesh" id=3] -size = Vector3( 5, 1, 5 ) +[sub_resource type="BoxMesh" id="3"] +size = Vector3(5, 1, 5) -[sub_resource type="BoxShape" id=4] -extents = Vector3( 2.5, 0.5, 2.5 ) +[sub_resource type="BoxShape3D" id="4"] +size = Vector3(5, 1, 5) -[node name="Platform" type="StaticBody"] +[node name="Platform" type="StaticBody3D"] collision_layer = 262145 collision_mask = 0 -script = ExtResource( 1 ) +script = ExtResource("1") -[node name="MeshInstance" type="MeshInstance" parent="."] -mesh = SubResource( 3 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("3") +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 4 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("4") diff --git a/scenes/grappling_demo/objects/tower.tscn b/scenes/grappling_demo/objects/tower.tscn index eebf9d75..e2b44a66 100644 --- a/scenes/grappling_demo/objects/tower.tscn +++ b/scenes/grappling_demo/objects/tower.tscn @@ -1,21 +1,21 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://lelocs2v705t"] -[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 1.5, 4, 1.5 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(3, 8, 3) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 3, 8, 3 ) +[sub_resource type="BoxMesh" id="2"] +size = Vector3(3, 8, 3) -[node name="Tower" instance=ExtResource( 1 )] +[node name="Tower" instance=ExtResource("1")] -[node name="CollisionShape" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 ) -shape = SubResource( 1 ) +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +shape = SubResource("1") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("2") diff --git a/scenes/interactables_demo/interactables_demo.png.import b/scenes/interactables_demo/interactables_demo.png.import index d7e16397..8dfc7e1b 100644 --- a/scenes/interactables_demo/interactables_demo.png.import +++ b/scenes/interactables_demo/interactables_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.stex" -path.etc="res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc.stex" +type="CompressedTexture2D" +uid="uid://bv0r0klv2u7tl" +path.s3tc="res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.ctex" +path.etc2="res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/interactables_demo/interactables_demo.png" -dest_files=[ "res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.stex", "res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc.stex" ] +dest_files=["res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.ctex", "res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/interactables_demo/interactables_demo.tscn b/scenes/interactables_demo/interactables_demo.tscn index adc83aea..03277216 100644 --- a/scenes/interactables_demo/interactables_demo.tscn +++ b/scenes/interactables_demo/interactables_demo.tscn @@ -1,111 +1,108 @@ -[gd_scene load_steps=24 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=4] -[ext_resource path="res://assets/meshes/interactables/slider_snap.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" type="PackedScene" id=11] -[ext_resource path="res://assets/meshes/interactables/slider_smooth.tscn" type="PackedScene" id=12] -[ext_resource path="res://assets/meshes/interactables/slider_zero.tscn" type="PackedScene" id=13] -[ext_resource path="res://assets/meshes/interactables/lever_smooth.tscn" type="PackedScene" id=14] -[ext_resource path="res://assets/meshes/interactables/lever_zero.tscn" type="PackedScene" id=15] -[ext_resource path="res://assets/meshes/interactables/lever_snap.tscn" type="PackedScene" id=16] -[ext_resource path="res://assets/meshes/interactables/joystick_snap.tscn" type="PackedScene" id=17] -[ext_resource path="res://assets/meshes/interactables/joystick_smooth.tscn" type="PackedScene" id=18] -[ext_resource path="res://assets/meshes/interactables/joystick_zero.tscn" type="PackedScene" id=19] -[ext_resource path="res://assets/meshes/interactables/wheel_smooth.tscn" type="PackedScene" id=20] -[ext_resource path="res://assets/meshes/interactables/push_button.tscn" type="PackedScene" id=21] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=22] -[ext_resource path="res://scenes/interactables_demo/objects/instructions.tscn" type="PackedScene" id=23] - -[node name="InteractablesDemo" instance=ExtResource( 1 )] - -[node name="LeftPhysicsHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )] - -[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 22 )] - -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 8 )] -enabled = true -order = 10 +[gd_scene load_steps=25 format=3 uid="uid://hv3is88xy8k4"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_a3nc2"] +[ext_resource type="PackedScene" uid="uid://bdwmserhqai5h" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" id="2_ho402"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="3_s2g5l"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="4"] +[ext_resource type="PackedScene" uid="uid://dukyhft262nrv" path="res://assets/meshes/interactables/slider_snap.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://btf05hjpw6k05" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" id="5_x135n"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="10"] +[ext_resource type="PackedScene" path="res://scenes/interactables_demo/objects/instructions.tscn" id="11_txloh"] +[ext_resource type="PackedScene" uid="uid://cpwdvy41fqdua" path="res://assets/meshes/interactables/slider_smooth.tscn" id="12"] +[ext_resource type="PackedScene" uid="uid://hv8nnbkuccxi" path="res://assets/meshes/interactables/slider_zero.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://cs6dxfu5owcgo" path="res://assets/meshes/interactables/lever_smooth.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://cll4pk3kuuq1" path="res://assets/meshes/interactables/lever_zero.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://dxgv8axd355m7" path="res://assets/meshes/interactables/lever_snap.tscn" id="16"] +[ext_resource type="PackedScene" uid="uid://bnckmqfewiysy" path="res://assets/meshes/interactables/joystick_snap.tscn" id="17"] +[ext_resource type="PackedScene" uid="uid://bvgjfffe0w2uu" path="res://assets/meshes/interactables/joystick_smooth.tscn" id="18"] +[ext_resource type="PackedScene" uid="uid://dtrftty6i383g" path="res://assets/meshes/interactables/joystick_zero.tscn" id="19"] +[ext_resource type="PackedScene" uid="uid://d2td5hwh2oluy" path="res://assets/meshes/interactables/wheel_smooth.tscn" id="20"] +[ext_resource type="PackedScene" uid="uid://dbv1hvxufc1al" path="res://assets/meshes/interactables/push_button.tscn" id="21"] + +[node name="InteractablesDemo" instance=ExtResource("1")] +script = ExtResource("2_a3nc2") + +[node name="LeftPhysicsHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_ho402")] + +[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("3_s2g5l")] + +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("8")] max_speed = 3.0 strafe = true -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 7 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("7")] ranged_enable = false -[node name="RightPhysicsHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 11 )] +[node name="RightPhysicsHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5_x135n")] -[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 22 )] +[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("3_s2g5l")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 8 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("8")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 10 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("10")] -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 7 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7")] ranged_enable = false -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 9 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("9")] -[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("2")] -[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 3 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 ) +[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("3")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) scene_base = NodePath("..") -title = ExtResource( 4 ) +title = ExtResource("4") -[node name="Instructions" parent="." index="3" instance=ExtResource( 23 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("11_txloh")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4) -[node name="Interactables" type="Spatial" parent="." index="4"] +[node name="Interactables" type="Node3D" parent="." index="4"] -[node name="SliderSmooth" parent="Interactables" index="0" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1, -2 ) +[node name="SliderSmooth" parent="Interactables" index="0" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1, -2) -[node name="SliderSnap" parent="Interactables" index="1" instance=ExtResource( 5 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 1, -2 ) +[node name="SliderSnap" parent="Interactables" index="1" instance=ExtResource("5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 1, -2) -[node name="SliderZero" parent="Interactables" index="2" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 1, -2 ) +[node name="SliderZero" parent="Interactables" index="2" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 1, -2) -[node name="LeverSmooth" parent="Interactables" index="3" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1, -2 ) +[node name="LeverSmooth" parent="Interactables" index="3" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1, -2) -[node name="LeverSnap" parent="Interactables" index="4" instance=ExtResource( 16 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 1, -2 ) +[node name="LeverSnap" parent="Interactables" index="4" instance=ExtResource("16")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 1, -2) -[node name="LeverZero" parent="Interactables" index="5" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 1, -2 ) +[node name="LeverZero" parent="Interactables" index="5" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 1, -2) -[node name="JoystickSmooth" parent="Interactables" index="6" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -2 ) +[node name="JoystickSmooth" parent="Interactables" index="6" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -2) -[node name="JoystickSnap" parent="Interactables" index="7" instance=ExtResource( 17 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 1.5, -2 ) +[node name="JoystickSnap" parent="Interactables" index="7" instance=ExtResource("17")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 1.5, -2) -[node name="JoystickZero" parent="Interactables" index="8" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 1.5, -2 ) +[node name="JoystickZero" parent="Interactables" index="8" instance=ExtResource("19")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 1.5, -2) -[node name="WheelSmooth" parent="Interactables" index="9" instance=ExtResource( 20 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2 ) +[node name="WheelSmooth" parent="Interactables" index="9" instance=ExtResource("20")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2) -[node name="PushButton1" parent="Interactables" index="10" instance=ExtResource( 21 )] -transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.6, 1.2, -2 ) +[node name="PushButton1" parent="Interactables" index="10" instance=ExtResource("21")] +transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.6, 1.2, -2) -[node name="PushButton2" parent="Interactables" index="11" instance=ExtResource( 21 )] -transform = Transform( 1, 0, 0, 0, -0.642788, -0.766044, 0, 0.766044, -0.642788, -1.6, 0.8, -2 ) +[node name="PushButton2" parent="Interactables" index="11" instance=ExtResource("21")] +transform = Transform3D(1, 0, 0, 0, -0.642788, -0.766044, 0, 0.766044, -0.642788, -1.6, 0.8, -2) -[node name="PushButton3" parent="Interactables" index="12" instance=ExtResource( 21 )] -transform = Transform( 0.707107, -0.707107, 3.09086e-08, 0, -4.37114e-08, -1, 0.707107, 0.707107, -3.09086e-08, -1.65, 1, -2 ) +[node name="PushButton3" parent="Interactables" index="12" instance=ExtResource("21")] +transform = Transform3D(0.707107, -0.707107, 3.09086e-08, 0, -4.37114e-08, -1, 0.707107, 0.707107, -3.09086e-08, -1.65, 1, -2) -[node name="PushButton4" parent="Interactables" index="13" instance=ExtResource( 21 )] -transform = Transform( 0.642788, 0.766044, -3.34849e-08, 0, -4.37114e-08, -1, -0.766044, 0.642788, -2.80971e-08, -1.55, 1, -2 ) +[node name="PushButton4" parent="Interactables" index="13" instance=ExtResource("21")] +transform = Transform3D(0.642788, 0.766044, -3.34849e-08, 0, -4.37114e-08, -1, -0.766044, 0.642788, -2.80971e-08, -1.55, 1, -2) diff --git a/scenes/interactables_demo/objects/instructions_2d.tscn b/scenes/interactables_demo/objects/instructions_2d.tscn index a6f6d9dc..bca0b066 100644 --- a/scenes/interactables_demo/objects/instructions_2d.tscn +++ b/scenes/interactables_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://8q1lcws0xejc"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Interactables Demo diff --git a/scenes/main_menu/main_menu_level.gd b/scenes/main_menu/main_menu_level.gd index 7b533db6..c009e5dd 100644 --- a/scenes/main_menu/main_menu_level.gd +++ b/scenes/main_menu/main_menu_level.gd @@ -1,5 +1,5 @@ -tool -extends XRToolsSceneBase +@tool +extends DemoSceneBase func _update_demo_positions() -> void: # Update and count the visible teleporters @@ -16,7 +16,7 @@ func _update_demo_positions() -> void: if count > 1: var angle = 2.0 * PI / count for i in count: - var t = Transform() + var t = Transform3D() t.origin = Vector3(0.0, 0.0, -10.0) t = t.rotated(Vector3.UP, angle * i) @@ -24,10 +24,11 @@ func _update_demo_positions() -> void: func _ready(): + super() _update_demo_positions() for teleporter in $Demos.get_children(): - teleporter.connect("visibility_changed", self, "_update_demo_positions") + teleporter.connect("visibility_changed",_update_demo_positions) func _on_Demos_child_entered_tree(_node): diff --git a/scenes/main_menu/main_menu_level.tscn b/scenes/main_menu/main_menu_level.tscn index 0c86cbb5..afc562f5 100644 --- a/scenes/main_menu/main_menu_level.tscn +++ b/scenes/main_menu/main_menu_level.tscn @@ -1,237 +1,280 @@ -[gd_scene load_steps=50 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" type="PackedScene" id=3] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=6] -[ext_resource path="res://scenes/basic_movement_demo/basic_movement_demo.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=8] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=9] -[ext_resource path="res://scenes/basic_movement_demo/basic movement demo.png" type="Texture" id=10] -[ext_resource path="res://scenes/teleport_demo/teleport_demo.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/teleport_demo/teleport movement demo.png" type="Texture" id=12] -[ext_resource path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png" type="Texture" id=13] -[ext_resource path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.tscn" type="PackedScene" id=14] -[ext_resource path="res://scenes/grappling_demo/grappling_demo.tscn" type="PackedScene" id=15] -[ext_resource path="res://scenes/grappling_demo/grappling_demo.png" type="Texture" id=16] -[ext_resource path="res://scenes/interactables_demo/interactables_demo.png" type="Texture" id=17] -[ext_resource path="res://scenes/interactables_demo/interactables_demo.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/pointer_demo/pointer_demo.tscn" type="PackedScene" id=19] -[ext_resource path="res://scenes/pointer_demo/pointer_demo.png" type="Texture" id=20] -[ext_resource path="res://scenes/pickable_demo/pickable_demo.tscn" type="PackedScene" id=21] -[ext_resource path="res://scenes/pickable_demo/pickable_demo.png" type="Texture" id=22] -[ext_resource path="res://scenes/main_menu/main_menu_level.gd" type="Script" id=23] -[ext_resource path="res://scenes/poke_demo/poke_demo.tscn" type="PackedScene" id=24] -[ext_resource path="res://scenes/poke_demo/poke_demo.png" type="Texture" id=25] -[ext_resource path="res://scenes/main_menu/objects/settings_ui.tscn" type="PackedScene" id=26] -[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.tscn" type="PackedScene" id=27] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=28] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=29] -[ext_resource path="res://scenes/sprinting_demo/sprinting_demo.tscn" type="PackedScene" id=30] -[ext_resource path="res://scenes/sprinting_demo/sprinting_demo.png" type="Texture" id=31] -[ext_resource path="res://scenes/origin_gravity_demo/origin_gravity_demo.png" type="Texture" id=32] -[ext_resource path="res://scenes/origin_gravity_demo/origin_gravity_demo.tscn" type="PackedScene" id=33] -[ext_resource path="res://scenes/sphere_world_demo/sphere_world_demo.png" type="Texture" id=34] -[ext_resource path="res://scenes/sphere_world_demo/sphere_world_demo.tscn" type="PackedScene" id=35] -[ext_resource path="res://scenes/footstep_movement_demo/footstep movement demo.png" type="Texture" id=36] -[ext_resource path="res://scenes/footstep_movement_demo/footstep_movement_demo.tscn" type="PackedScene" id=37] - -[sub_resource type="AnimationNodeAnimation" id=1] -animation = "Grip" - -[sub_resource type="AnimationNodeAnimation" id=2] -animation = "Grip" - -[sub_resource type="AnimationNodeBlend2" id=3] +[gd_scene load_steps=50 format=3 uid="uid://utga61rlgb3t"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="Script" path="res://scenes/main_menu/main_menu_level.gd" id="2_taoax"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="4_eoo0b"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="5_xgcrx"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://c3pffsm74as2t" path="res://scenes/basic_movement_demo/basic_movement_demo.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="9"] +[ext_resource type="Texture2D" uid="uid://8jxrr3gqnxck" path="res://scenes/basic_movement_demo/basic movement demo.png" id="10"] +[ext_resource type="PackedScene" path="res://scenes/teleport_demo/teleport_demo.tscn" id="11"] +[ext_resource type="Texture2D" uid="uid://c8qc5ja60n3u8" path="res://scenes/teleport_demo/teleport movement demo.png" id="12"] +[ext_resource type="Texture2D" uid="uid://d3epm85d4s28f" path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png" id="13"] +[ext_resource type="PackedScene" uid="uid://c7ebkdn7ryqrp" path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://cvnl210i6nydl" path="res://scenes/grappling_demo/grappling_demo.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://di3m8og7wdtw7" path="res://scenes/footstep_movement_demo/footstep_movement_demo.tscn" id="15_3b6cs"] +[ext_resource type="Texture2D" uid="uid://dwryn8mjdj86m" path="res://scenes/footstep_movement_demo/footstep movement demo.png" id="15_k6bhw"] +[ext_resource type="Texture2D" uid="uid://bwkm0t73t80cs" path="res://scenes/grappling_demo/grappling_demo.png" id="16"] +[ext_resource type="Texture2D" uid="uid://bv0r0klv2u7tl" path="res://scenes/interactables_demo/interactables_demo.png" id="17"] +[ext_resource type="PackedScene" uid="uid://hv3is88xy8k4" path="res://scenes/interactables_demo/interactables_demo.tscn" id="18"] +[ext_resource type="PackedScene" uid="uid://deq6satll2p5x" path="res://scenes/pointer_demo/pointer_demo.tscn" id="19"] +[ext_resource type="Texture2D" uid="uid://bh5j2q7vpmr0b" path="res://scenes/pointer_demo/pointer_demo.png" id="20"] +[ext_resource type="PackedScene" uid="uid://j53121pbwpsw" path="res://scenes/pickable_demo/pickable_demo.tscn" id="21"] +[ext_resource type="Texture2D" uid="uid://ny4n43p3e3du" path="res://scenes/pickable_demo/pickable_demo.png" id="22"] +[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="23_pr05t"] +[ext_resource type="PackedScene" uid="uid://b4fy6i3e7s08u" path="res://scenes/poke_demo/poke_demo.tscn" id="24_qtcxq"] +[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="25_2b81d"] +[ext_resource type="Texture2D" uid="uid://bbe7o7pdq38m2" path="res://scenes/poke_demo/poke_demo.png" id="25_rg3rn"] +[ext_resource type="PackedScene" uid="uid://3bsyhd7ehoa1" path="res://scenes/main_menu/objects/settings_ui.tscn" id="26_0uyxa"] +[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="26_id1x7"] +[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/sprinting_demo.tscn" id="28_u37cd"] +[ext_resource type="Texture2D" uid="uid://v4807nasx1dc" path="res://scenes/sprinting_demo/sprinting_demo.png" id="29_h1jn0"] +[ext_resource type="PackedScene" uid="uid://dyfx10nwe0oil" path="res://scenes/origin_gravity_demo/origin_gravity_demo.tscn" id="31_18nh2"] +[ext_resource type="Texture2D" uid="uid://cr1l4g7btdyht" path="res://scenes/origin_gravity_demo/origin_gravity_demo.png" id="32_c4n1q"] +[ext_resource type="PackedScene" uid="uid://b5o25nkvyv8ho" path="res://scenes/sphere_world_demo/sphere_world_demo.tscn" id="33_ews5s"] +[ext_resource type="Texture2D" uid="uid://dhd30j0xpcxoi" path="res://scenes/sphere_world_demo/sphere_world_demo.png" id="34_xw8ig"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_b71j7"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ex44k"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_umfkq"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=4] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wrckm"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=5] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_856ri"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ] - -[sub_resource type="AnimationNodeBlendTree" id=6] -graph_offset = Vector2( -798.981, 58.67 ) -nodes/ClosedHand1/node = SubResource( 1 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 2 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 3 ) -nodes/Grip/position = Vector2( 0, 20 ) -nodes/OpenHand/node = SubResource( 4 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 5 ) -nodes/Trigger/position = Vector2( -360, 20 ) -node_connections = [ "output", 0, "Grip", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2" ] - -[sub_resource type="AnimationNodeAnimation" id=7] -animation = "Grip" - -[sub_resource type="AnimationNodeAnimation" id=8] -animation = "Grip" - -[sub_resource type="AnimationNodeBlend2" id=9] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_1xdjf"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_b71j7") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ex44k") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_umfkq") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_wrckm") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_856ri") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wbi3t"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_se43b"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5cf5w"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=10] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qxqxf"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=11] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vkcg5"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ] - -[sub_resource type="AnimationNodeBlendTree" id=12] -graph_offset = Vector2( -753.664, -85.6991 ) -nodes/ClosedHand1/node = SubResource( 7 ) -nodes/ClosedHand1/position = Vector2( -600, 300 ) -nodes/ClosedHand2/node = SubResource( 8 ) -nodes/ClosedHand2/position = Vector2( -360, 300 ) -nodes/Grip/node = SubResource( 9 ) -nodes/Grip/position = Vector2( 0, 40 ) -nodes/OpenHand/node = SubResource( 10 ) -nodes/OpenHand/position = Vector2( -600, 100 ) -nodes/Trigger/node = SubResource( 11 ) -nodes/Trigger/position = Vector2( -360, 40 ) -node_connections = [ "output", 0, "Grip", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2" ] - -[node name="MainMenuLevel" instance=ExtResource( 1 )] -script = ExtResource( 23 ) - -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )] - -[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton" index="1"] -transform = Transform( 0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.0399019, 0.0402828, -0.150096 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_3ea7w"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_wbi3t") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_se43b") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_5cf5w") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_qxqxf") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_vkcg5") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[node name="MainMenuLevel" instance=ExtResource("1")] +script = ExtResource("2_taoax") + +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("23_pr05t")] + +[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096) bone_name = "Index_Tip_L" +bone_idx = 9 -[node name="Poke" parent="ARVROrigin/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 27 )] -transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 ) +[node name="Poke" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_eoo0b")] +transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="AnimationTree" parent="ARVROrigin/LeftHand/LeftHand" index="1"] -tree_root = SubResource( 6 ) +[node name="AnimationTree" parent="XROrigin3D/LeftHand/LeftHand" index="1"] +tree_root = SubResource("AnimationNodeBlendTree_1xdjf") -[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 29 )] +[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5_xgcrx")] -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 6 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("6")] max_speed = 3.0 strafe = true -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 2 )] -hand_material_override = ExtResource( 28 ) - -[node name="mesh_Hand_low_R" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton" index="0"] -material_override = ExtResource( 28 ) - -[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton" index="1"] -transform = Transform( 0.540829, -0.840813, 0.0231736, 0.0826267, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113023, -0.0399019, 0.0402828, -0.150096 ) +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("25_2b81d")] + +[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="mesh_Hand_low_R" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="0"] +surface_material_override/0 = ExtResource("26_id1x7") + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096) bone_name = "Index_Tip_R" +bone_idx = 9 -[node name="Poke" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 27 )] -transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 ) +[node name="Poke" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_eoo0b")] +transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="AnimationTree" parent="ARVROrigin/RightHand/RightHand" index="1"] -tree_root = SubResource( 12 ) +[node name="AnimationTree" parent="XROrigin3D/RightHand/RightHand" index="1"] +tree_root = SubResource("AnimationNodeBlendTree_3ea7w") -[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 29 )] +[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5_xgcrx")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 6 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("6")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")] -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 8 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("8")] +top_level = true +body_forward_mix = 0.75 -[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("4")] -[node name="Demos" type="Spatial" parent="." index="2"] +[node name="Demos" type="Node3D" parent="." index="2"] -[node name="ToBasicMovementDemo" parent="Demos" index="0" instance=ExtResource( 9 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10 ) +[node name="ToBasicMovementDemo" parent="Demos" index="0" instance=ExtResource("9")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10) scene_base = NodePath("../..") -scene = ExtResource( 7 ) -title = ExtResource( 10 ) +scene = ExtResource("7") +title = ExtResource("10") -[node name="ToFootstepMovementDemo" parent="Demos" index="1" instance=ExtResource( 9 )] -transform = Transform( 0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -5, 0, -8.66025 ) +[node name="ToFootstepDemo" parent="Demos" index="1" instance=ExtResource("9")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -5, 0, -8.66025) scene_base = NodePath("../..") -scene = ExtResource( 37 ) -title = ExtResource( 36 ) +scene = ExtResource("15_3b6cs") +title = ExtResource("15_k6bhw") -[node name="ToTeleportDemo" parent="Demos" index="2" instance=ExtResource( 9 )] -transform = Transform( 0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, -8.66025, 0, -5 ) +[node name="ToTeleportDemo" parent="Demos" index="2" instance=ExtResource("9")] +transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, -8.66025, 0, -5) scene_base = NodePath("../..") -scene = ExtResource( 11 ) -title = ExtResource( 12 ) +scene = ExtResource("11") +title = ExtResource("12") -[node name="ToClimbingGlidingDemo" parent="Demos" index="3" instance=ExtResource( 9 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10, 0, 4.37114e-07 ) +[node name="ToClimbingGlidingDemo" parent="Demos" index="3" instance=ExtResource("9")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10, 0, 4.37114e-07) scene_base = NodePath("../..") -scene = ExtResource( 14 ) -title = ExtResource( 13 ) +scene = ExtResource("14") +title = ExtResource("13") -[node name="ToGrapplingDemo" parent="Demos" index="4" instance=ExtResource( 9 )] -transform = Transform( -0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, -8.66025, 0, 5 ) +[node name="ToGrapplingDemo" parent="Demos" index="4" instance=ExtResource("9")] +transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, -8.66025, 0, 5) scene_base = NodePath("../..") -scene = ExtResource( 15 ) -title = ExtResource( 16 ) +scene = ExtResource("15") +title = ExtResource("16") -[node name="ToInteractablesDemo" parent="Demos" index="5" instance=ExtResource( 9 )] -transform = Transform( -0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, -0.866025, -5, 0, 8.66025 ) +[node name="ToInteractablesDemo" parent="Demos" index="5" instance=ExtResource("9")] +transform = Transform3D(-0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, -0.866025, -5, 0, 8.66025) scene_base = NodePath("../..") -scene = ExtResource( 18 ) -title = ExtResource( 17 ) +scene = ExtResource("18") +title = ExtResource("17") -[node name="ToPointerDemo" parent="Demos" index="6" instance=ExtResource( 9 )] -transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 8.74228e-07, 0, 10 ) +[node name="ToPointerDemo" parent="Demos" index="6" instance=ExtResource("9")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 8.74228e-07, 0, 10) scene_base = NodePath("../..") -scene = ExtResource( 19 ) -title = ExtResource( 20 ) +scene = ExtResource("19") +title = ExtResource("20") -[node name="ToPickableDemo" parent="Demos" index="7" instance=ExtResource( 9 )] -transform = Transform( -0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, 5, 0, 8.66025 ) +[node name="ToPickableDemo" parent="Demos" index="7" instance=ExtResource("9")] +transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, 5, 0, 8.66025) scene_base = NodePath("../..") -scene = ExtResource( 21 ) -title = ExtResource( 22 ) +scene = ExtResource("21") +title = ExtResource("22") -[node name="ToPokeDemo" parent="Demos" index="8" instance=ExtResource( 9 )] -transform = Transform( -0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, 8.66025, 0, 5 ) +[node name="ToPokeDemo" parent="Demos" index="8" instance=ExtResource("9")] +transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, 8.66025, 0, 5) scene_base = NodePath("../..") -scene = ExtResource( 24 ) -title = ExtResource( 25 ) +scene = ExtResource("24_qtcxq") +title = ExtResource("25_rg3rn") -[node name="ToSprintingDemo" parent="Demos" index="9" instance=ExtResource( 9 )] -transform = Transform( 1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 10, 0, -1.19249e-07 ) +[node name="ToSprintDemo" parent="Demos" index="9" instance=ExtResource("9")] +transform = Transform3D(1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 10, 0, -1.19249e-07) scene_base = NodePath("../..") -scene = ExtResource( 30 ) -title = ExtResource( 31 ) +scene = ExtResource("28_u37cd") +title = ExtResource("29_h1jn0") -[node name="ToOriginGravityDemo" parent="Demos" index="10" instance=ExtResource( 9 )] -transform = Transform( 0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, 0.5, 8.66025, 0, -5 ) +[node name="ToOriginGravityDemo" parent="Demos" index="10" instance=ExtResource("9")] +transform = Transform3D(0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, 0.5, 8.66025, 0, -5) scene_base = NodePath("../..") -scene = ExtResource( 33 ) -title = ExtResource( 32 ) +scene = ExtResource("31_18nh2") +title = ExtResource("32_c4n1q") -[node name="ToSphereWorldDemo" parent="Demos" index="11" instance=ExtResource( 9 )] -transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 5, 0, -8.66025 ) +[node name="ToSphereWorldDemo" parent="Demos" index="11" instance=ExtResource("9")] +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 5, 0, -8.66025) scene_base = NodePath("../..") -scene = ExtResource( 35 ) -title = ExtResource( 34 ) +scene = ExtResource("33_ews5s") +title = ExtResource("34_xw8ig") + +[node name="SettingsUI" parent="." index="3" instance=ExtResource("26_0uyxa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5) +camera = NodePath("../XROrigin3D/XRCamera3D") -[node name="SettingsUI" parent="." index="3" instance=ExtResource( 26 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5 ) -camera = NodePath("../ARVROrigin/ARVRCamera") +[connection signal="child_entered_tree" from="Demos" to="." method="_on_Demos_child_entered_tree"] +[connection signal="child_exiting_tree" from="Demos" to="." method="_on_Demos_child_exiting_tree"] -[editable path="ARVROrigin/LeftHand/LeftHand"] -[editable path="ARVROrigin/LeftHand/LeftHand/Hand_low_L"] -[editable path="ARVROrigin/RightHand/RightHand"] -[editable path="ARVROrigin/RightHand/RightHand/Hand_low_R"] +[editable path="XROrigin3D/LeftHand/LeftHand"] +[editable path="XROrigin3D/LeftHand/LeftHand/Hand_low_L"] +[editable path="XROrigin3D/RightHand/RightHand"] +[editable path="XROrigin3D/RightHand/RightHand/Hand_low_R"] diff --git a/scenes/main_menu/objects/settings_ui.gd b/scenes/main_menu/objects/settings_ui.gd index 193e2700..3d2ac5a2 100644 --- a/scenes/main_menu/objects/settings_ui.gd +++ b/scenes/main_menu/objects/settings_ui.gd @@ -1,6 +1,6 @@ -extends Spatial +extends Node3D -export (NodePath) var camera +@export_node_path("XRCamera3D") var camera : NodePath # Called when the node enters the scene tree for the first time. func _ready(): diff --git a/scenes/main_menu/objects/settings_ui.tscn b/scenes/main_menu/objects/settings_ui.tscn index cac7cf33..70b0c29b 100644 --- a/scenes/main_menu/objects/settings_ui.tscn +++ b/scenes/main_menu/objects/settings_ui.tscn @@ -1,55 +1,49 @@ -[gd_scene load_steps=10 format=2] - -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/main_menu/objects/settings_ui_content.tscn" type="PackedScene" id=2] -[ext_resource path="res://scenes/main_menu/objects/settings_ui.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=6] - -[sub_resource type="CubeMesh" id=1] -size = Vector3( 0.65, 0.525, 0.02 ) - -[sub_resource type="SpatialMaterial" id=2] -albedo_color = Color( 0.203922, 0.203922, 0.203922, 1 ) -metallic = 0.35 -roughness = 0.52 - -[sub_resource type="BoxShape" id=3] -extents = Vector3( 0.325, 0.1, 0.25 ) - -[node name="SettingsUI" type="Spatial"] -script = ExtResource( 3 ) - -[node name="Screen" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1.3, 0 ) -mesh = SubResource( 1 ) -material/0 = SubResource( 2 ) - -[node name="Viewport2Din3D" parent="Screen" instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.015 ) -screen_size = Vector2( 0.625, 0.5 ) -viewport_size = Vector2( 250, 200 ) -scene = ExtResource( 2 ) - -[node name="CSGCylinder" type="CSGCylinder" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 ) +[gd_scene load_steps=10 format=3 uid="uid://3bsyhd7ehoa1"] + +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://hpxufsmhvnq0" path="res://scenes/main_menu/objects/settings_ui_content.tscn" id="2"] +[ext_resource type="Material" uid="uid://bhj8fob2pxx4l" path="res://scenes/main_menu/objects/settings_ui_material.tres" id="2_jyjdc"] +[ext_resource type="Script" path="res://scenes/main_menu/objects/settings_ui.gd" id="3"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_arb8x"] +[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="6_c66hl"] +[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="7_tfhna"] + +[sub_resource type="BoxMesh" id="1"] +size = Vector3(0.65, 0.525, 0.02) + +[sub_resource type="BoxShape3D" id="BoxShape3D_7u64y"] +size = Vector3(0.65, 0.2, 0.5) + +[node name="SettingsUI" type="Node3D"] +script = ExtResource("3") + +[node name="Screen" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1.3, 0) +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2_jyjdc") + +[node name="Viewport2Din3D" parent="Screen" instance=ExtResource("1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.015) +screen_size = Vector2(0.625, 0.5) +viewport_size = Vector2(250, 200) +scene = ExtResource("2") + +[node name="CSGCylinder" type="CSGCylinder3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0) radius = 0.05 height = 1.8 -material = SubResource( 2 ) +material = ExtResource("2_jyjdc") -[node name="CSGBox" type="CSGBox" parent="CSGCylinder"] -transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.761732, 0 ) +[node name="CSGBox" type="CSGBox3D" parent="CSGCylinder"] +transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.761732, 0) operation = 2 -width = 0.5 -height = 1.0 -depth = 0.5 - -[node name="HandPoseArea" parent="." instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0 ) -left_pose = ExtResource( 5 ) -right_pose = ExtResource( 6 ) - -[node name="CollisionShape" type="CollisionShape" parent="HandPoseArea"] -transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0 ) -shape = SubResource( 3 ) +size = Vector3(0.5, 1, 0.5) + +[node name="HandPoseArea" parent="." instance=ExtResource("5_arb8x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0) +left_pose = ExtResource("6_c66hl") +right_pose = ExtResource("7_tfhna") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="HandPoseArea"] +transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0) +shape = SubResource("BoxShape3D_7u64y") diff --git a/scenes/main_menu/objects/settings_ui_content.tscn b/scenes/main_menu/objects/settings_ui_content.tscn index 906c72cf..d2f0a0e2 100644 --- a/scenes/main_menu/objects/settings_ui_content.tscn +++ b/scenes/main_menu/objects/settings_ui_content.tscn @@ -1,21 +1,25 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://hpxufsmhvnq0"] -[ext_resource path="res://addons/godot-xr-tools/user_settings/user_settings_ui.tscn" type="PackedScene" id=1] +[ext_resource type="PackedScene" uid="uid://ytsxet2k47lj" path="res://addons/godot-xr-tools/user_settings/user_settings_ui.tscn" id="1"] [node name="SettingsUIContent" type="VBoxContainer"] +offset_right = 250.0 +offset_bottom = 252.0 +size_flags_horizontal = 0 [node name="Header" type="HBoxContainer" parent="."] -margin_right = 250.0 -margin_bottom = 48.0 +offset_right = 250.0 +offset_bottom = 60.0 [node name="Label" type="Label" parent="Header"] -margin_right = 250.0 -margin_bottom = 48.0 -rect_min_size = Vector2( 250, 0 ) +offset_right = 250.0 +offset_bottom = 60.0 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 12 text = "Welcome to Godot XR Tools. Use the joysticks on your controllers to move around." -autowrap = true +autowrap_mode = 2 -[node name="UserSettingsUI" parent="." instance=ExtResource( 1 )] -margin_top = 52.0 -margin_right = 250.0 -margin_bottom = 252.0 +[node name="UserSettingsUI" parent="." instance=ExtResource("1")] +offset_top = 64.0 +offset_right = 250.0 +offset_bottom = 252.0 diff --git a/scenes/main_menu/objects/settings_ui_material.tres b/scenes/main_menu/objects/settings_ui_material.tres new file mode 100644 index 00000000..9dec2147 --- /dev/null +++ b/scenes/main_menu/objects/settings_ui_material.tres @@ -0,0 +1,6 @@ +[gd_resource type="StandardMaterial3D" format=3 uid="uid://bhj8fob2pxx4l"] + +[resource] +albedo_color = Color(0.203922, 0.203922, 0.203922, 1) +metallic = 0.35 +roughness = 0.52 diff --git a/scenes/main_menu/return to main menu.png.import b/scenes/main_menu/return to main menu.png.import index b6f36b24..f5f6ae5f 100644 --- a/scenes/main_menu/return to main menu.png.import +++ b/scenes/main_menu/return to main menu.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.stex" -path.etc="res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc.stex" +type="CompressedTexture2D" +uid="uid://ckw6nliyayo6a" +path.s3tc="res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.ctex" +path.etc2="res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/main_menu/return to main menu.png" -dest_files=[ "res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.stex", "res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc.stex" ] +dest_files=["res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.ctex", "res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/origin_gravity_demo/objects/instructions.tscn b/scenes/origin_gravity_demo/objects/instructions.tscn index 6b8438f5..c683f008 100644 --- a/scenes/origin_gravity_demo/objects/instructions.tscn +++ b/scenes/origin_gravity_demo/objects/instructions.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://cyohmj7wut3s8"] -[ext_resource path="res://scenes/origin_gravity_demo/objects/instructions_2d.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] +[ext_resource type="PackedScene" uid="uid://n6t8uyds2dft" path="res://scenes/origin_gravity_demo/objects/instructions_2d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] -[sub_resource type="CubeMesh" id=1] -material = ExtResource( 3 ) -size = Vector3( 4.2, 2.7, 0.1 ) +[sub_resource type="BoxMesh" id="1"] +material = ExtResource("3") +size = Vector3(4.2, 2.7, 0.1) -[node name="Instructions" type="Spatial"] +[node name="Instructions" type="Node3D"] -[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )] -screen_size = Vector2( 4, 2.5 ) -viewport_size = Vector2( 400, 250 ) +[node name="Viewport2Din3D" parent="." instance=ExtResource("2")] +screen_size = Vector2(4, 2.5) +viewport_size = Vector2(400, 250) unshaded = true -scene = ExtResource( 1 ) +scene = ExtResource("1") update_mode = 0 collision_layer = 0 -[node name="MeshInstance" type="MeshInstance" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 ) -mesh = SubResource( 1 ) +[node name="MeshInstance" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1) +mesh = SubResource("1") diff --git a/scenes/origin_gravity_demo/objects/instructions_2d.tscn b/scenes/origin_gravity_demo/objects/instructions_2d.tscn index 6cc9faad..a708868f 100644 --- a/scenes/origin_gravity_demo/objects/instructions_2d.tscn +++ b/scenes/origin_gravity_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://n6t8uyds2dft"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Origin Gravity Demo This scene demonstrates walking on non-flat surfaces. diff --git a/scenes/origin_gravity_demo/objects/pill_orient.tscn b/scenes/origin_gravity_demo/objects/pill_orient.tscn index 0421ce05..2578d9d8 100644 --- a/scenes/origin_gravity_demo/objects/pill_orient.tscn +++ b/scenes/origin_gravity_demo/objects/pill_orient.tscn @@ -1,38 +1,44 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://dk3jcnbypkiml"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=2] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="2"] -[sub_resource type="CapsuleMesh" id=4] +[sub_resource type="CapsuleMesh" id="4"] +material = ExtResource("2") radius = 7.0 -mid_height = 7.0 +height = 21.0 radial_segments = 32 -[sub_resource type="CapsuleShape" id=5] +[sub_resource type="CapsuleShape3D" id="5"] radius = 7.0 -height = 7.0 +height = 21.0 -[sub_resource type="CapsuleShape" id=9] +[sub_resource type="CapsuleShape3D" id="9"] radius = 9.0 -height = 7.0 +height = 25.0 -[node name="PillOrient" type="Spatial"] +[node name="PillOrient" type="Node3D"] -[node name="Body" type="StaticBody" parent="."] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0 ) +[node name="Body" type="StaticBody3D" parent="."] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0) collision_layer = 8 collision_mask = 0 -[node name="MeshInstance" type="MeshInstance" parent="Body"] -mesh = SubResource( 4 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance" type="MeshInstance3D" parent="Body"] +transform = Transform3D(1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, -1, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0) +mesh = SubResource("4") -[node name="CollisionShape" type="CollisionShape" parent="Body"] -shape = SubResource( 5 ) +[node name="CollisionShape" type="CollisionShape3D" parent="Body"] +transform = Transform3D(1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, -1, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0) +shape = SubResource("5") -[node name="Gravity" type="Area" parent="."] -space_override = 3 +[node name="Gravity" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 524292 +gravity_space_override = 3 gravity_point = true +gravity_point_center = Vector3(0, 0, 0) +gravity_direction = Vector3(0, 0, 0) -[node name="CollisionShape" type="CollisionShape" parent="Gravity"] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 ) -shape = SubResource( 9 ) +[node name="CollisionShape" type="CollisionShape3D" parent="Gravity"] +transform = Transform3D(1.91069e-15, 1, 4.37114e-08, 4.37114e-08, -4.37114e-08, 1, 1, 0, -4.37114e-08, 0, 0, 0) +shape = SubResource("9") diff --git a/scenes/origin_gravity_demo/objects/sphere_orient.tscn b/scenes/origin_gravity_demo/objects/sphere_orient.tscn index b80de5d0..5fbe027a 100644 --- a/scenes/origin_gravity_demo/objects/sphere_orient.tscn +++ b/scenes/origin_gravity_demo/objects/sphere_orient.tscn @@ -1,34 +1,38 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://bnu45wudmhdse"] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"] -[sub_resource type="SphereMesh" id=2] +[sub_resource type="SphereMesh" id="2"] +material = ExtResource("2") radius = 10.0 height = 20.0 -[sub_resource type="SphereShape" id=3] +[sub_resource type="SphereShape3D" id="3"] radius = 10.0 -[sub_resource type="SphereShape" id=8] +[sub_resource type="SphereShape3D" id="8"] radius = 15.0 -[node name="SphereOrient" type="Spatial"] +[node name="SphereOrient" type="Node3D"] -[node name="Body" type="StaticBody" parent="."] +[node name="Body" type="StaticBody3D" parent="."] collision_layer = 8 collision_mask = 0 -[node name="MeshInstance" type="MeshInstance" parent="Body"] -mesh = SubResource( 2 ) +[node name="MeshInstance" type="MeshInstance3D" parent="Body"] +mesh = SubResource("2") skeleton = NodePath("../../..") -material/0 = ExtResource( 2 ) -[node name="CollisionShape" type="CollisionShape" parent="Body"] -shape = SubResource( 3 ) +[node name="CollisionShape" type="CollisionShape3D" parent="Body"] +shape = SubResource("3") -[node name="Gravity" type="Area" parent="."] -space_override = 3 +[node name="Gravity" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 524292 +gravity_space_override = 3 gravity_point = true +gravity_point_center = Vector3(0, 0, 0) +gravity_direction = Vector3(0, 0, 0) -[node name="CollisionShape" type="CollisionShape" parent="Gravity"] -shape = SubResource( 8 ) +[node name="CollisionShape" type="CollisionShape3D" parent="Gravity"] +shape = SubResource("8") diff --git a/scenes/origin_gravity_demo/origin_gravity_demo.png.import b/scenes/origin_gravity_demo/origin_gravity_demo.png.import index 38e96cbd..962000e7 100644 --- a/scenes/origin_gravity_demo/origin_gravity_demo.png.import +++ b/scenes/origin_gravity_demo/origin_gravity_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.stex" -path.etc="res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc.stex" +type="CompressedTexture2D" +uid="uid://cr1l4g7btdyht" +path.s3tc="res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.ctex" +path.etc2="res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/origin_gravity_demo/origin_gravity_demo.png" -dest_files=[ "res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.stex", "res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc.stex" ] +dest_files=["res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.ctex", "res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/origin_gravity_demo/origin_gravity_demo.tscn b/scenes/origin_gravity_demo/origin_gravity_demo.tscn index ef572244..46f7a01e 100644 --- a/scenes/origin_gravity_demo/origin_gravity_demo.tscn +++ b/scenes/origin_gravity_demo/origin_gravity_demo.tscn @@ -1,112 +1,110 @@ -[gd_scene load_steps=21 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" type="PackedScene" id=8] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=9] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=10] -[ext_resource path="res://scenes/origin_gravity_demo/objects/pill_orient.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/origin_gravity_demo/objects/sphere_orient.tscn" type="PackedScene" id=12] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=13] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=14] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=15] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_flight.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/origin_gravity_demo/objects/instructions.tscn" type="PackedScene" id=19] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=21] - -[sub_resource type="Curve3D" id=6] +[gd_scene load_steps=22 format=3 uid="uid://dyfx10nwe0oil"] + +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" id="8"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="9"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://dk3jcnbypkiml" path="res://scenes/origin_gravity_demo/objects/pill_orient.tscn" id="11"] +[ext_resource type="PackedScene" uid="uid://bnu45wudmhdse" path="res://scenes/origin_gravity_demo/objects/sphere_orient.tscn" id="12"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="12_b8x5t"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://kyhaogt0a4q8" path="res://addons/godot-xr-tools/functions/movement_flight.tscn" id="18"] +[ext_resource type="PackedScene" path="res://scenes/origin_gravity_demo/objects/instructions.tscn" id="19"] +[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="21"] + +[sub_resource type="Curve3D" id="6"] _data = { -"points": PoolVector3Array( -4.24937, -1.06234, 0, 4.24937, 1.06234, 0, -28.8455, 28.3772, 22.046, -4.1528, 0.820904, 0, 4.1528, -0.820904, 0, -14.1804, 30.4904, 21.7814, -2.83784, 2.60267, 0.0372009, 2.83784, -2.60267, -0.0372009, -4.79844, 27.0269, 22.1809, 1.6403, 2.9682, -0.0173683, -1.6403, -2.9682, 0.0173683, -2.87687, 17.8878, 23.2453, 0.57946, 4.05622, 0, -0.57946, -4.05622, 0, -7.44255, 8.17148, 23.1395, -2.70415, 1.11063, 0, 2.70415, -1.11063, 0, -0.888668, 1.09893, 23.2599, -2.3209, -0.153747, -0.449579, 2.3209, 0.153747, 0.449579, 6.55866, -1.48348, 25.7184 ), -"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ) +"points": PackedVector3Array(-4.24937, -1.06234, 0, 4.24937, 1.06234, 0, -28.8455, 28.3772, 22.046, -4.1528, 0.820904, 0, 4.1528, -0.820904, 0, -14.1804, 30.4904, 21.7814, -2.83784, 2.60267, 0.0372009, 2.83784, -2.60267, -0.0372009, -4.79844, 27.0269, 22.1809, 1.6403, 2.9682, -0.0173683, -1.6403, -2.9682, 0.0173683, -2.87687, 17.8878, 23.2453, 0.57946, 4.05622, 0, -0.57946, -4.05622, 0, -7.44255, 8.17148, 23.1395, -2.70415, 1.11063, 0, 2.70415, -1.11063, 0, -0.888668, 1.09893, 23.2599, -2.3209, -0.153747, -0.449579, 2.3209, 0.153747, 0.449579, 6.55866, -1.48348, 25.7184), +"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0) } +point_count = 7 -[sub_resource type="Curve3D" id=1] +[sub_resource type="Curve3D" id="1"] bake_interval = 0.3 _data = { -"points": PoolVector3Array( -0.71487, -1.87416, 1.71397, 0.71487, 1.87416, -1.71397, -21.7835, 21.1047, 22.9351, 1.79321, 2.0844, 5.63986, -1.79321, -2.0844, -5.63986, -17.503, 22.8378, 3.86977, 1.63235, 1.43539, 4.76624, -1.63235, -1.43539, -4.76624, -21.1288, 16.2403, -8.78015, -6.09683, 0.913348, 3.4931, 6.09683, -0.913348, -3.4931, -16.9968, 15.3497, -24.9826, -1.11305, -0.695772, 2.12971, 1.11305, 0.695772, -2.12971, -1.5803, 19.8361, -28.6373 ), -"tilts": PoolRealArray( 0, 0, 0, 0, 0 ) +"points": PackedVector3Array(-0.71487, -1.87416, 1.71397, 0.71487, 1.87416, -1.71397, -21.7835, 21.1047, 22.9351, 1.79321, 2.0844, 5.63986, -1.79321, -2.0844, -5.63986, -17.503, 22.8378, 3.86977, 1.63235, 1.43539, 4.76624, -1.63235, -1.43539, -4.76624, -21.1288, 16.2403, -8.78015, -6.09683, 0.913348, 3.4931, 6.09683, -0.913348, -3.4931, -16.9968, 15.3497, -24.9826, -1.11305, -0.695772, 2.12971, 1.11305, 0.695772, -2.12971, -1.5803, 19.8361, -28.6373), +"tilts": PackedFloat32Array(0, 0, 0, 0, 0) } +point_count = 5 -[node name="OriginGravityDemo" instance=ExtResource( 1 )] +[node name="OriginGravityDemo" instance=ExtResource("1")] -[node name="ARVROrigin" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 36 ) +[node name="XROrigin3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 36) -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 13 )] +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("13")] -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")] max_speed = 3.0 strafe = true -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")] +jump_button_action = "ax_button" -[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 21 )] -crouch_button = 1 +[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("21")] +crouch_button_action = "by_button" -[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 15 )] +[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("15")] -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 14 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("14")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 6 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("6")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")] +jump_button_action = "ax_button" -[node name="MovementSprint" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 15 )] +[node name="MovementSprint" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("15")] controller = 1 -[node name="MovementFlight" parent="ARVROrigin" index="3" instance=ExtResource( 18 )] +[node name="MovementFlight" parent="XROrigin3D" index="3" instance=ExtResource("18")] -[node name="MovementWallWalk" parent="ARVROrigin" index="4" instance=ExtResource( 8 )] -follow_mask = 8 +[node name="MovementWallWalk" parent="XROrigin3D" index="4" instance=ExtResource("8")] -[node name="PlayerBody" parent="ARVROrigin" index="5" instance=ExtResource( 4 )] +[node name="PlayerBody" type="Node" parent="XROrigin3D" index="5" instance=ExtResource("4")] +script = ExtResource("12_b8x5t") -[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("2")] -[node name="Teleport" parent="." index="2" instance=ExtResource( 10 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 44 ) +[node name="Teleport" parent="." index="2" instance=ExtResource("10")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 44) scene_base = NodePath("..") -title = ExtResource( 9 ) +title = ExtResource("9") -[node name="Teleport2" parent="." index="3" instance=ExtResource( 10 )] -transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 10.4, 19, -33 ) +[node name="Teleport2" parent="." index="3" instance=ExtResource("10")] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 10.4, 19, -33) scene_base = NodePath("..") -title = ExtResource( 9 ) +title = ExtResource("9") -[node name="Instructions" parent="." index="4" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 29 ) +[node name="Instructions" parent="." index="4" instance=ExtResource("19")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 29) -[node name="SphereOrient" parent="." index="5" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 20, 22 ) +[node name="SphereOrient" parent="." index="5" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 20, 22) -[node name="PillOrient" parent="." index="6" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19, -33 ) +[node name="PillOrient" parent="." index="6" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19, -33) -[node name="Walkway1" type="Spatial" parent="." index="7"] +[node name="Walkway1" type="Node3D" parent="." index="7"] -[node name="Path" type="Path" parent="Walkway1" index="0"] -curve = SubResource( 6 ) +[node name="Path" type="Path3D" parent="Walkway1" index="0"] +curve = SubResource("6") -[node name="Body" type="CSGPolygon" parent="Walkway1" index="1"] +[node name="Body" type="CSGPolygon3D" parent="Walkway1" index="1"] use_collision = true collision_layer = 8 collision_mask = 0 -polygon = PoolVector2Array( -4, 0, -3.7, 0.7, -3, 1, 3, 1, 3.7, 0.7, 4, 0, 3.7, -0.7, 3, -1, -3, -1, -3.7, -0.7 ) +polygon = PackedVector2Array(-4, 0, -3.7, 0.7, -3, 1, 3, 1, 3.7, 0.7, 4, 0, 3.7, -0.7, 3, -1, -3, -1, -3.7, -0.7) mode = 2 path_node = NodePath("../Path") path_interval_type = 0 @@ -117,18 +115,18 @@ path_local = false path_continuous_u = true path_u_distance = 1.0 path_joined = false -material = ExtResource( 3 ) +material = ExtResource("3") -[node name="Walkway2" type="Spatial" parent="." index="8"] +[node name="Walkway2" type="Node3D" parent="." index="8"] -[node name="Path" type="Path" parent="Walkway2" index="0"] -curve = SubResource( 1 ) +[node name="Path" type="Path3D" parent="Walkway2" index="0"] +curve = SubResource("1") -[node name="Body" type="CSGPolygon" parent="Walkway2" index="1"] +[node name="Body" type="CSGPolygon3D" parent="Walkway2" index="1"] use_collision = true collision_layer = 8 collision_mask = 0 -polygon = PoolVector2Array( 0, -4, 0.7, -3.7, 1, -3, 1, 3, 0.7, 3.7, 0, 4, -0.7, 3.7, -1, 3, -1, -3, -0.7, -3.7 ) +polygon = PackedVector2Array(0, -4, 0.7, -3.7, 1, -3, 1, 3, 0.7, 3.7, 0, 4, -0.7, 3.7, -1, 3, -1, -3, -0.7, -3.7) mode = 2 path_node = NodePath("../Path") path_interval_type = 0 @@ -139,4 +137,4 @@ path_local = false path_continuous_u = true path_u_distance = 1.0 path_joined = false -material = ExtResource( 3 ) +material = ExtResource("3") diff --git a/scenes/pickable_demo/objects/belt_snap_zone.tscn b/scenes/pickable_demo/objects/belt_snap_zone.tscn index b62a637f..a45bcfc3 100644 --- a/scenes/pickable_demo/objects/belt_snap_zone.tscn +++ b/scenes/pickable_demo/objects/belt_snap_zone.tscn @@ -1,25 +1,24 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://1mb16xioom74"] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=2] +[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1_uw6wt"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2_ckbje"] -[sub_resource type="SpatialMaterial" id=1] -flags_transparent = true -params_cull_mode = 1 -albedo_color = Color( 0.0627451, 0.905882, 0.886275, 0.545098 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kcuek"] +transparency = 1 +cull_mode = 1 +albedo_color = Color(0.0627451, 0.905882, 0.886275, 0.545098) -[sub_resource type="SphereMesh" id=2] -material = SubResource( 1 ) +[sub_resource type="SphereMesh" id="SphereMesh_vvg7m"] +material = SubResource("StandardMaterial3D_kcuek") radius = 0.05 height = 0.1 radial_segments = 32 rings = 16 -[node name="BeltSnapZone" instance=ExtResource( 2 )] +[node name="BeltSnapZone" instance=ExtResource("1_uw6wt")] grab_distance = 0.1 -[node name="Sphere" type="MeshInstance" parent="." index="1"] -cast_shadow = 0 -mesh = SubResource( 2 ) +[node name="Sphere" type="MeshInstance3D" parent="." index="1"] +mesh = SubResource("SphereMesh_vvg7m") -[node name="HighlightRing" parent="." index="2" instance=ExtResource( 1 )] +[node name="HighlightRing" parent="." index="2" instance=ExtResource("2_ckbje")] diff --git a/scenes/pickable_demo/objects/grab_ball.tscn b/scenes/pickable_demo/objects/grab_ball.tscn index 1b9aa238..be5ee7f3 100644 --- a/scenes/pickable_demo/objects/grab_ball.tscn +++ b/scenes/pickable_demo/objects/grab_ball.tscn @@ -1,53 +1,54 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=10 format=3 uid="uid://clta811tt773x"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd" type="Script" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=5] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_qhto0"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd" id="3"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="3_0q4lf"] -[sub_resource type="SphereShape" id=2] +[sub_resource type="SphereShape3D" id="2"] margin = 0.01 radius = 0.2 -[sub_resource type="SphereMesh" id=3] +[sub_resource type="SphereMesh" id="3"] radius = 0.2 height = 0.4 radial_segments = 16 rings = 7 -[sub_resource type="SphereMesh" id=4] +[sub_resource type="SphereMesh" id="4"] flip_faces = true radius = 0.21 height = 0.42 radial_segments = 16 rings = 7 -[sub_resource type="SpatialMaterial" id=5] -flags_unshaded = true -albedo_color = Color( 1, 1, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qeoic"] +shading_mode = 0 +albedo_color = Color(1, 1, 0, 1) -[node name="GrabBall" instance=ExtResource( 1 )] +[node name="GrabBall" instance=ExtResource("1")] collision_mask = 720903 ranged_grab_method = 2 -[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.19, 0.04, -0.065 ) +[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource("2_qhto0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.19, 0.04, -0.065) -[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource( 5 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.19, 0.04, -0.065 ) +[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource("3_0q4lf")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.19, 0.04, -0.065) +visible = true -[node name="CollisionShape" parent="." index="2"] -shape = SubResource( 2 ) +[node name="CollisionShape3D" parent="." index="2"] +shape = SubResource("2") -[node name="MeshInstance" type="MeshInstance" parent="." index="3"] -mesh = SubResource( 3 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="3"] +mesh = SubResource("3") +surface_material_override/0 = ExtResource("2") -[node name="GrabHighlight" type="Spatial" parent="." index="4"] -script = ExtResource( 3 ) +[node name="GrabHighlight" type="Node3D" parent="." index="4"] +script = ExtResource("3") -[node name="MeshInstance" type="MeshInstance" parent="GrabHighlight" index="0"] -mesh = SubResource( 4 ) -skeleton = NodePath("../../MeshInstance") -material/0 = SubResource( 5 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="GrabHighlight" index="0"] +mesh = SubResource("4") +skeleton = NodePath("../../MeshInstance3D") +surface_material_override/0 = SubResource("StandardMaterial3D_qeoic") diff --git a/scenes/pickable_demo/objects/grab_cube.gd b/scenes/pickable_demo/objects/grab_cube.gd index b9da0386..a206462c 100644 --- a/scenes/pickable_demo/objects/grab_cube.gd +++ b/scenes/pickable_demo/objects/grab_cube.gd @@ -2,24 +2,27 @@ extends XRToolsPickable ## Alternate material when button pressed -export var alternate_material : Material +@export var alternate_material : Material # Original material var _original_material : Material # Current controller holding this object -var _current_controller : ARVRController +var _current_controller : XRController3D # Called when the node enters the scene tree for the first time. func _ready() -> void: + # Call the super + super() + # Get the original material - _original_material = $MeshInstance.get_active_material(0) + _original_material = $MeshInstance3D.get_active_material(0) # Listen for when this object is picked up or dropped - connect("picked_up", self, "_on_picked_up") - connect("dropped", self, "_on_dropped") + picked_up.connect(_on_picked_up) + dropped.connect(_on_dropped) # Called when this object is picked up @@ -27,34 +30,34 @@ func _on_picked_up(_pickable) -> void: # Listen for button events on the associated controller _current_controller = get_picked_up_by_controller() if _current_controller: - _current_controller.connect("button_pressed", self, "_on_controller_button_pressed") - _current_controller.connect("button_release", self, "_on_controller_button_released") + _current_controller.button_pressed.connect(_on_controller_button_pressed) + _current_controller.button_released.connect(_on_controller_button_released) # Called when this object is dropped func _on_dropped(_pickable) -> void: # Unsubscribe to controller button events when dropped if _current_controller: - _current_controller.disconnect("button_pressed", self, "_on_controller_button_pressed") - _current_controller.disconnect("button_release", self, "_on_controller_button_released") + _current_controller.button_pressed.disconnect(_on_controller_button_pressed) + _current_controller.button_released.disconnect(_on_controller_button_released) _current_controller = null # Restore original material when dropped - $MeshInstance.set_surface_material(0, _original_material) + $MeshInstance3D.set_surface_override_material(0, _original_material) # Called when a controller button is pressed -func _on_controller_button_pressed(button : int): +func _on_controller_button_pressed(button : String): # Handle controller button presses - if button == XRTools.Buttons.VR_BUTTON_AX: + if button == "ax_button": # Set alternate material when button pressed if alternate_material: - $MeshInstance.set_surface_material(0, alternate_material) + $MeshInstance3D.set_surface_override_material(0, alternate_material) # Called when a controller button is released -func _on_controller_button_released(button : int): +func _on_controller_button_released(button : String): # Handle controller button releases - if button == XRTools.Buttons.VR_BUTTON_AX: + if button == "ax_button": # Restore original material when button released - $MeshInstance.set_surface_material(0, _original_material) + $MeshInstance3D.set_surface_override_material(0, _original_material) diff --git a/scenes/pickable_demo/objects/grab_cube.tscn b/scenes/pickable_demo/objects/grab_cube.tscn index f73e487b..9f6b537c 100644 --- a/scenes/pickable_demo/objects/grab_cube.tscn +++ b/scenes/pickable_demo/objects/grab_cube.tscn @@ -1,27 +1,28 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=8 format=3 uid="uid://djkjuy7wct10q"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=3] -[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.gd" type="Script" id=4] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=5] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"] +[ext_resource type="Script" path="res://scenes/pickable_demo/objects/grab_cube.gd" id="2_xxt38"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="3"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="3_g1dne"] -[sub_resource type="BoxShape" id=7] +[sub_resource type="BoxShape3D" id="7"] margin = 0.01 -extents = Vector3( 0.05, 0.05, 0.05 ) +size = Vector3(0.1, 0.1, 0.1) -[sub_resource type="CubeMesh" id=8] -size = Vector3( 0.1, 0.1, 0.1 ) +[sub_resource type="BoxMesh" id="8"] +size = Vector3(0.1, 0.1, 0.1) -[node name="GrabCube" instance=ExtResource( 1 )] -script = ExtResource( 4 ) -alternate_material = ExtResource( 5 ) +[node name="GrabCube" instance=ExtResource("1")] +script = ExtResource("2_xxt38") +alternate_material = ExtResource("3_g1dne") +ranged_grab_method = 0 -[node name="CollisionShape" parent="." index="0"] -shape = SubResource( 7 ) +[node name="CollisionShape3D" parent="." index="0"] +shape = SubResource("7") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -mesh = SubResource( 8 ) -material/0 = ExtResource( 3 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"] +mesh = SubResource("8") +surface_material_override/0 = ExtResource("3") -[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )] +[node name="HighlightRing" parent="." index="2" instance=ExtResource("2")] diff --git a/scenes/pickable_demo/objects/hammer.tscn b/scenes/pickable_demo/objects/hammer.tscn index 31716d08..eb1675a2 100644 --- a/scenes/pickable_demo/objects/hammer.tscn +++ b/scenes/pickable_demo/objects/hammer.tscn @@ -1,61 +1,60 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=13 format=3 uid="uid://de0guxhrn5ouk"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=6] -[ext_resource path="res://scenes/pickable_demo/poses/pose_hammer_left.tres" type="Resource" id=7] -[ext_resource path="res://scenes/pickable_demo/poses/pose_hammer_right.tres" type="Resource" id=8] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_2myoy"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="3"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="3_3xwvb"] +[ext_resource type="Resource" uid="uid://dd4sqdg8upblx" path="res://scenes/pickable_demo/poses/pose_hammer_left.tres" id="3_p8dbs"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="4"] +[ext_resource type="Resource" uid="uid://c7lps5l5dj652" path="res://scenes/pickable_demo/poses/pose_hammer_right.tres" id="5_tuke4"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 0.05, 0.05, 0.1 ) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(0.1, 0.1, 0.2) -[sub_resource type="CylinderShape" id=3] +[sub_resource type="CylinderShape3D" id="3"] height = 0.6 radius = 0.02 -[sub_resource type="CylinderMesh" id=2] +[sub_resource type="CylinderMesh" id="2"] top_radius = 0.02 bottom_radius = 0.02 height = 0.6 radial_segments = 8 rings = 0 -[sub_resource type="CubeMesh" id=4] -size = Vector3( 0.1, 0.1, 0.2 ) +[sub_resource type="BoxMesh" id="4"] +size = Vector3(0.1, 0.1, 0.2) -[node name="Hammer" instance=ExtResource( 1 )] +[node name="Hammer" instance=ExtResource("1")] collision_mask = 7 ranged_grab_method = 0 -[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource( 5 )] -transform = Transform( -1, -8.74228e-08, 0, 8.58166e-08, -0.981627, 0.190809, -1.66811e-08, 0.190809, 0.981627, -0.007, 0.355, -0.071 ) -hand_pose = ExtResource( 7 ) +[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource("2_2myoy")] +transform = Transform3D(-1, 8.74228e-08, 0, -8.58166e-08, -0.981627, 0.190809, 1.66811e-08, 0.190809, 0.981627, -0.007, 0.355, -0.071) +hand_pose = ExtResource("3_p8dbs") -[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource( 6 )] -transform = Transform( -1, -8.74228e-08, 0, 8.58166e-08, -0.981627, 0.190809, -1.66811e-08, 0.190809, 0.981627, 0.00734175, 0.355408, -0.0707028 ) -hand_pose = ExtResource( 8 ) -editor_preview_mode = 2 +[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource("3_3xwvb")] +transform = Transform3D(-1, 8.74228e-08, 0, -8.58166e-08, -0.981627, 0.190809, 1.66811e-08, 0.190809, 0.981627, 0.007, 0.355, -0.071) +hand_pose = ExtResource("5_tuke4") -[node name="CollisionShape" parent="." index="2"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0 ) -shape = SubResource( 1 ) +[node name="CollisionShape3D" parent="." index="2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0) +shape = SubResource("1") -[node name="CollisionShape2" type="CollisionShape" parent="." index="3"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 ) -shape = SubResource( 3 ) +[node name="CollisionShape2" type="CollisionShape3D" parent="." index="3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0) +shape = SubResource("3") -[node name="Handle" type="MeshInstance" parent="." index="4"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 2 ) +[node name="Handle" type="MeshInstance3D" parent="." index="4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0) +mesh = SubResource("2") +surface_material_override/0 = ExtResource("2") -[node name="MeshInstance" type="MeshInstance" parent="." index="5"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0 ) -mesh = SubResource( 4 ) -material/0 = ExtResource( 3 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="5"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0) +mesh = SubResource("4") +surface_material_override/0 = ExtResource("3") -[node name="HighlightRing" parent="." index="6" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0 ) +[node name="HighlightRing" parent="." index="6" instance=ExtResource("4")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0) diff --git a/scenes/pickable_demo/objects/instructions_2d.tscn b/scenes/pickable_demo/objects/instructions_2d.tscn index beb43b92..73dd0026 100644 --- a/scenes/pickable_demo/objects/instructions_2d.tscn +++ b/scenes/pickable_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://d0a7u3r7mcoqb"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Pickable Demo This scene contains objects that the player can pick up including: diff --git a/scenes/pickable_demo/objects/knife.gd b/scenes/pickable_demo/objects/knife.gd index e4622056..39e86b7b 100644 --- a/scenes/pickable_demo/objects/knife.gd +++ b/scenes/pickable_demo/objects/knife.gd @@ -3,14 +3,17 @@ extends XRToolsPickable # Current controller holding this object -var _current_controller : ARVRController +var _current_controller : XRController3D # Called when the node enters the scene tree for the first time. func _ready() -> void: + # In Godot 4 we must now manually call our super class ready function + super() + # Listen for when this object is picked up or dropped - connect("picked_up", self, "_on_picked_up") - connect("dropped", self, "_on_dropped") + picked_up.connect(_on_picked_up) + dropped.connect(_on_dropped) # Called when this object is picked up @@ -18,21 +21,21 @@ func _on_picked_up(_pickable) -> void: # Listen for button events on the associated controller _current_controller = get_picked_up_by_controller() if _current_controller: - _current_controller.connect("button_pressed", self, "_on_controller_button_pressed") + _current_controller.button_pressed.connect(_on_controller_button_pressed) # Called when this object is dropped func _on_dropped(_pickable) -> void: # Unsubscribe to controller button events when dropped if _current_controller: - _current_controller.disconnect("button_pressed", self, "_on_controller_button_pressed") + _current_controller.button_pressed.disconnect(_on_controller_button_pressed) _current_controller = null # Called when a controller button is pressed -func _on_controller_button_pressed(button : int): +func _on_controller_button_pressed(button : String): # Skip if not pose-toggle button - if button != XRTools.Buttons.VR_BUTTON_BY: + if button != "by_button": return # Switch the grab point diff --git a/scenes/pickable_demo/objects/knife.tscn b/scenes/pickable_demo/objects/knife.tscn index 1ae3c261..9d1a026e 100644 --- a/scenes/pickable_demo/objects/knife.tscn +++ b/scenes/pickable_demo/objects/knife.tscn @@ -1,72 +1,95 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=3 uid="uid://bxk2dud5pq1uf"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=5] -[ext_resource path="res://scenes/pickable_demo/objects/knife.gd" type="Script" id=7] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=8] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="5"] +[ext_resource type="Script" path="res://scenes/pickable_demo/objects/knife.gd" id="7"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="8"] -[sub_resource type="SpatialMaterial" id=1] -albedo_color = Color( 0.607843, 0.462745, 0.32549, 1 ) +[sub_resource type="StandardMaterial3D" id="1"] +albedo_color = Color(0.607843, 0.462745, 0.32549, 1) -[sub_resource type="SpatialMaterial" id=2] +[sub_resource type="StandardMaterial3D" id="2"] metallic = 0.5 metallic_specular = 0.8 roughness = 0.1 -[sub_resource type="ArrayMesh" id=3] +[sub_resource type="ArrayMesh" id="ArrayMesh_v104j"] +_surfaces = [{ +"aabb": AABB(-0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567), +"format": 4097, +"index_count": 198, +"index_data": PackedByteArray(11, 0, 0, 0, 1, 0, 21, 0, 2, 0, 13, 0, 15, 0, 2, 0, 3, 0, 8, 0, 29, 0, 0, 0, 17, 0, 3, 0, 2, 0, 28, 0, 4, 0, 5, 0, 5, 0, 9, 0, 10, 0, 10, 0, 8, 0, 11, 0, 6, 0, 20, 0, 12, 0, 12, 0, 21, 0, 13, 0, 7, 0, 12, 0, 14, 0, 14, 0, 13, 0, 15, 0, 25, 0, 9, 0, 4, 0, 9, 0, 31, 0, 8, 0, 21, 0, 24, 0, 17, 0, 23, 0, 3, 0, 19, 0, 24, 0, 19, 0, 17, 0, 6, 0, 18, 0, 16, 0, 16, 0, 26, 0, 20, 0, 20, 0, 27, 0, 21, 0, 7, 0, 22, 0, 18, 0, 22, 0, 15, 0, 23, 0, 31, 0, 19, 0, 29, 0, 16, 0, 25, 0, 28, 0, 25, 0, 22, 0, 30, 0, 30, 0, 23, 0, 31, 0, 11, 0, 24, 0, 27, 0, 1, 0, 29, 0, 24, 0, 28, 0, 10, 0, 26, 0, 26, 0, 11, 0, 27, 0, 39, 0, 32, 0, 33, 0, 37, 0, 35, 0, 38, 0, 38, 0, 36, 0, 39, 0, 8, 0, 0, 0, 11, 0, 17, 0, 2, 0, 21, 0, 13, 0, 2, 0, 15, 0, 31, 0, 29, 0, 8, 0, 19, 0, 3, 0, 17, 0, 25, 0, 4, 0, 28, 0, 4, 0, 9, 0, 5, 0, 9, 0, 8, 0, 10, 0, 16, 0, 20, 0, 6, 0, 20, 0, 21, 0, 12, 0, 6, 0, 12, 0, 7, 0, 12, 0, 13, 0, 14, 0, 30, 0, 9, 0, 25, 0, 30, 0, 31, 0, 9, 0, 27, 0, 24, 0, 21, 0, 15, 0, 3, 0, 23, 0, 29, 0, 19, 0, 24, 0, 7, 0, 18, 0, 6, 0, 28, 0, 26, 0, 16, 0, 26, 0, 27, 0, 20, 0, 14, 0, 22, 0, 7, 0, 14, 0, 15, 0, 22, 0, 23, 0, 19, 0, 31, 0, 18, 0, 25, 0, 16, 0, 18, 0, 22, 0, 25, 0, 22, 0, 23, 0, 30, 0, 1, 0, 24, 0, 11, 0, 0, 0, 29, 0, 1, 0, 5, 0, 10, 0, 28, 0, 10, 0, 11, 0, 26, 0, 36, 0, 32, 0, 39, 0, 34, 0, 35, 0, 37, 0, 35, 0, 36, 0, 38, 0), +"lods": [0.0036423, PackedByteArray(11, 0, 0, 0, 1, 0, 8, 0, 0, 0, 11, 0, 15, 0, 2, 0, 3, 0, 12, 0, 2, 0, 15, 0, 7, 0, 12, 0, 15, 0, 6, 0, 12, 0, 7, 0, 8, 0, 29, 0, 0, 0, 25, 0, 29, 0, 8, 0, 25, 0, 8, 0, 4, 0, 25, 0, 3, 0, 29, 0, 15, 0, 3, 0, 25, 0, 15, 0, 25, 0, 7, 0, 17, 0, 3, 0, 2, 0, 29, 0, 3, 0, 17, 0, 1, 0, 29, 0, 17, 0, 0, 0, 29, 0, 1, 0, 28, 0, 4, 0, 5, 0, 25, 0, 4, 0, 28, 0, 6, 0, 25, 0, 28, 0, 7, 0, 25, 0, 6, 0, 5, 0, 8, 0, 11, 0, 4, 0, 8, 0, 5, 0, 39, 0, 32, 0, 33, 0, 36, 0, 32, 0, 39, 0, 38, 0, 36, 0, 39, 0, 35, 0, 36, 0, 38, 0, 37, 0, 35, 0, 38, 0, 34, 0, 35, 0, 37, 0, 17, 0, 2, 0, 12, 0, 11, 0, 17, 0, 12, 0, 1, 0, 17, 0, 11, 0, 28, 0, 11, 0, 12, 0, 5, 0, 11, 0, 28, 0, 28, 0, 12, 0, 6, 0)], +"primitive": 3, +"vertex_count": 40, +"vertex_data": PackedByteArray(236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58) +}, { +"aabb": AABB(-0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404), +"format": 4097, +"index_count": 54, +"index_data": PackedByteArray(9, 0, 3, 0, 12, 0, 7, 0, 11, 0, 10, 0, 8, 0, 12, 0, 11, 0, 1, 0, 3, 0, 2, 0, 4, 0, 14, 0, 10, 0, 4, 0, 0, 0, 14, 0, 3, 0, 6, 0, 12, 0, 12, 0, 5, 0, 11, 0, 11, 0, 4, 0, 10, 0, 2, 0, 3, 0, 9, 0, 8, 0, 11, 0, 7, 0, 9, 0, 12, 0, 8, 0, 1, 0, 6, 0, 3, 0, 6, 0, 5, 0, 12, 0, 5, 0, 4, 0, 11, 0, 10, 0, 13, 0, 7, 0, 10, 0, 14, 0, 13, 0, 14, 0, 0, 0, 13, 0), +"primitive": 3, +"vertex_count": 15, +"vertex_data": PackedByteArray(189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_anmh6"] resource_name = "knife_Cube" -surfaces/0 = { -"aabb": AABB( -0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567 ), -"array_data": PoolByteArray( 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 8, 138, 118, 67, 90, 41, 37, 57, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 0, 0, 126, 63, 141, 44, 217, 59, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 184, 202, 202, 99, 167, 53, 229, 56, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 8, 138, 118, 67, 90, 41, 163, 57, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 129, 127, 126, 63, 140, 44, 225, 57, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 184, 202, 202, 99, 167, 53, 103, 56, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 127, 0, 0, 127, 90, 57, 232, 56, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 244, 142, 114, 57, 172, 59, 163, 57, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 214, 57, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 127, 0, 0, 127, 90, 57, 107, 56, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 244, 142, 114, 57, 172, 59, 37, 57, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 228, 59, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 8, 118, 118, 59, 90, 41, 162, 57, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 0, 0, 126, 63, 140, 44, 225, 57, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 184, 54, 54, 99, 32, 57, 229, 56, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 8, 118, 118, 59, 90, 41, 36, 57, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 129, 127, 126, 63, 140, 44, 217, 59, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 184, 54, 54, 99, 32, 57, 103, 56, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 127, 0, 0, 126, 105, 59, 232, 56, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 244, 114, 114, 69, 172, 59, 36, 57, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 228, 59, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 127, 0, 0, 126, 105, 59, 107, 56, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 244, 114, 114, 69, 172, 59, 162, 57, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 213, 57, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 0, 0, 126, 63, 183, 32, 49, 59, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 129, 0, 0, 127, 76, 55, 229, 56, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 184, 202, 202, 99, 76, 55, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 0, 0, 126, 63, 179, 32, 137, 58, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 129, 0, 0, 127, 77, 56, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 184, 54, 54, 99, 77, 56, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 129, 127, 126, 63, 179, 32, 49, 59, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 129, 0, 0, 127, 77, 56, 103, 56, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 184, 54, 54, 99, 77, 56, 103, 56, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 129, 127, 126, 63, 179, 32, 137, 58, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 129, 0, 0, 127, 76, 55, 103, 56, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 184, 202, 202, 99, 76, 55, 103, 56, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 127, 0, 0, 126, 185, 58, 232, 56, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 53, 59, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 127, 0, 0, 126, 10, 58, 232, 56, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 133, 58, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 127, 0, 0, 126, 185, 58, 107, 56, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 132, 58, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 127, 0, 0, 126, 10, 58, 107, 56, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 52, 59, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 250, 120, 120, 66, 72, 58, 36, 57, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 189, 59, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 250, 136, 120, 60, 72, 58, 163, 57, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 127, 127, 127, 63, 130, 58, 253, 57, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 250, 120, 120, 66, 72, 58, 162, 57, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 0, 0, 126, 63, 130, 58, 253, 57, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 250, 136, 120, 60, 72, 58, 37, 57, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 0, 0, 126, 63, 131, 58, 188, 59, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 40, 59, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 146, 58, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 0, 0, 126, 63, 130, 58, 146, 58, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 0, 0, 126, 63, 131, 58, 39, 59, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 4, 134, 122, 65, 30, 51, 163, 57, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 253, 57, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 4, 122, 122, 61, 30, 51, 162, 57, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 253, 57, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 40, 59, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 146, 58, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 4, 122, 122, 61, 30, 51, 36, 57, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 129, 127, 127, 63, 4, 52, 189, 59, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 4, 134, 122, 65, 30, 51, 37, 57, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 0, 0, 126, 63, 5, 52, 188, 59, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 146, 58, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 39, 59, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 130, 0, 0, 63, 161, 31, 168, 34, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 130, 0, 0, 63, 131, 36, 168, 34, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 130, 0, 0, 63, 161, 31, 224, 47, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 130, 0, 0, 63, 161, 31, 135, 45, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 130, 0, 0, 63, 161, 31, 92, 42, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 130, 0, 0, 63, 131, 36, 224, 47, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 130, 0, 0, 63, 131, 36, 135, 45, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 130, 0, 0, 63, 131, 36, 92, 42 ), -"array_index_data": PoolByteArray( 35, 0, 2, 0, 5, 0, 53, 0, 8, 0, 39, 0, 42, 0, 6, 0, 9, 0, 24, 0, 65, 0, 1, 0, 46, 0, 10, 0, 7, 0, 62, 0, 12, 0, 15, 0, 17, 0, 29, 0, 32, 0, 31, 0, 25, 0, 34, 0, 20, 0, 52, 0, 37, 0, 37, 0, 53, 0, 39, 0, 21, 0, 36, 0, 40, 0, 40, 0, 38, 0, 42, 0, 59, 0, 27, 0, 13, 0, 27, 0, 67, 0, 24, 0, 53, 0, 57, 0, 47, 0, 55, 0, 11, 0, 51, 0, 56, 0, 50, 0, 46, 0, 19, 0, 48, 0, 44, 0, 45, 0, 60, 0, 52, 0, 52, 0, 61, 0, 53, 0, 23, 0, 54, 0, 49, 0, 54, 0, 43, 0, 55, 0, 67, 0, 51, 0, 65, 0, 44, 0, 58, 0, 62, 0, 59, 0, 54, 0, 66, 0, 66, 0, 55, 0, 67, 0, 33, 0, 57, 0, 61, 0, 3, 0, 64, 0, 56, 0, 63, 0, 30, 0, 60, 0, 60, 0, 33, 0, 61, 0, 75, 0, 68, 0, 69, 0, 73, 0, 71, 0, 74, 0, 74, 0, 72, 0, 75, 0, 26, 0, 2, 0, 35, 0, 47, 0, 8, 0, 53, 0, 38, 0, 6, 0, 42, 0, 67, 0, 65, 0, 24, 0, 50, 0, 10, 0, 46, 0, 58, 0, 12, 0, 62, 0, 14, 0, 29, 0, 17, 0, 28, 0, 25, 0, 31, 0, 45, 0, 52, 0, 20, 0, 52, 0, 53, 0, 37, 0, 18, 0, 36, 0, 21, 0, 36, 0, 38, 0, 40, 0, 66, 0, 27, 0, 59, 0, 66, 0, 67, 0, 27, 0, 61, 0, 57, 0, 53, 0, 43, 0, 11, 0, 55, 0, 64, 0, 50, 0, 56, 0, 22, 0, 48, 0, 19, 0, 63, 0, 60, 0, 45, 0, 60, 0, 61, 0, 52, 0, 41, 0, 54, 0, 23, 0, 41, 0, 43, 0, 54, 0, 55, 0, 51, 0, 67, 0, 48, 0, 58, 0, 44, 0, 49, 0, 54, 0, 59, 0, 54, 0, 55, 0, 66, 0, 4, 0, 57, 0, 33, 0, 0, 0, 64, 0, 3, 0, 16, 0, 30, 0, 63, 0, 30, 0, 33, 0, 60, 0, 72, 0, 68, 0, 75, 0, 70, 0, 71, 0, 73, 0, 71, 0, 72, 0, 74, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567), +"attribute_data": PackedByteArray(80, 87, 43, 61, 194, 190, 36, 63, 96, 178, 145, 61, 169, 36, 123, 63, 84, 244, 180, 62, 137, 173, 28, 63, 128, 87, 43, 61, 181, 116, 52, 63, 212, 148, 145, 61, 173, 54, 60, 63, 86, 244, 180, 62, 152, 247, 12, 63, 41, 86, 43, 63, 128, 29, 29, 63, 116, 148, 117, 63, 217, 116, 52, 63, 116, 168, 124, 63, 236, 192, 58, 63, 41, 86, 43, 63, 142, 103, 13, 63, 120, 148, 117, 63, 232, 190, 36, 63, 74, 172, 124, 63, 176, 133, 124, 63, 80, 87, 43, 61, 136, 78, 52, 63, 56, 134, 145, 61, 46, 53, 60, 63, 194, 9, 36, 63, 141, 173, 28, 63, 168, 87, 43, 61, 144, 152, 36, 63, 212, 148, 145, 61, 27, 38, 123, 63, 195, 9, 36, 63, 156, 247, 12, 63, 22, 49, 109, 63, 132, 29, 29, 63, 118, 148, 117, 63, 144, 152, 36, 63, 116, 168, 124, 63, 215, 155, 124, 63, 24, 49, 109, 63, 146, 103, 13, 63, 120, 148, 117, 63, 127, 78, 52, 63, 119, 166, 124, 63, 206, 170, 58, 63, 193, 227, 22, 60, 142, 43, 102, 63, 110, 137, 233, 62, 139, 173, 28, 63, 110, 137, 233, 62, 139, 173, 28, 63, 129, 109, 22, 60, 16, 49, 81, 63, 51, 191, 9, 63, 141, 173, 28, 63, 51, 191, 9, 63, 141, 173, 28, 63, 65, 110, 22, 60, 161, 43, 102, 63, 53, 191, 9, 63, 154, 247, 12, 63, 53, 191, 9, 63, 154, 247, 12, 63, 129, 109, 22, 60, 38, 49, 81, 63, 114, 137, 233, 62, 154, 247, 12, 63, 114, 137, 233, 62, 154, 247, 12, 63, 113, 61, 87, 63, 128, 29, 29, 63, 114, 168, 124, 63, 50, 168, 102, 63, 206, 73, 65, 63, 128, 29, 29, 63, 114, 168, 124, 63, 143, 180, 80, 63, 116, 61, 87, 63, 144, 103, 13, 63, 104, 168, 124, 63, 112, 158, 80, 63, 206, 73, 65, 63, 142, 103, 13, 63, 90, 170, 124, 63, 15, 146, 102, 63, 244, 3, 73, 63, 156, 152, 36, 63, 0, 95, 80, 63, 67, 164, 119, 63, 238, 3, 73, 63, 206, 116, 52, 63, 0, 95, 80, 63, 128, 184, 63, 63, 246, 3, 73, 63, 139, 78, 52, 63, 127, 93, 80, 63, 80, 166, 63, 63, 242, 3, 73, 63, 220, 190, 36, 63, 110, 98, 80, 63, 5, 146, 119, 63, 0, 95, 80, 63, 87, 0, 101, 63, 0, 95, 80, 63, 106, 92, 82, 63, 36, 95, 80, 63, 54, 74, 82, 63, 201, 96, 80, 63, 29, 238, 100, 63, 104, 199, 99, 62, 174, 116, 52, 63, 188, 153, 128, 62, 134, 184, 63, 63, 156, 199, 99, 62, 143, 78, 52, 63, 194, 150, 128, 62, 252, 178, 63, 63, 188, 153, 128, 62, 89, 0, 101, 63, 188, 153, 128, 62, 112, 92, 82, 63, 162, 199, 99, 62, 156, 152, 36, 63, 188, 153, 128, 62, 66, 164, 119, 63, 106, 199, 99, 62, 186, 190, 36, 63, 150, 160, 128, 62, 195, 158, 119, 63, 8, 154, 128, 62, 232, 86, 82, 63, 76, 157, 128, 62, 214, 250, 100, 63, 62, 60, 244, 59, 128, 5, 85, 60, 160, 105, 144, 60, 128, 5, 85, 60, 62, 60, 244, 59, 136, 24, 252, 61, 62, 60, 244, 59, 144, 240, 176, 61, 62, 60, 244, 59, 32, 145, 75, 61, 96, 105, 144, 60, 136, 24, 252, 61, 96, 105, 144, 60, 144, 240, 176, 61, 160, 105, 144, 60, 32, 145, 75, 61, 110, 137, 233, 62, 139, 173, 28, 63, 114, 137, 233, 62, 154, 247, 12, 63), +"format": 4119, "index_count": 198, -"material": SubResource( 1 ), +"index_data": PackedByteArray(35, 0, 2, 0, 5, 0, 53, 0, 8, 0, 39, 0, 42, 0, 6, 0, 9, 0, 24, 0, 65, 0, 1, 0, 46, 0, 10, 0, 7, 0, 62, 0, 12, 0, 15, 0, 17, 0, 29, 0, 32, 0, 31, 0, 25, 0, 34, 0, 20, 0, 52, 0, 37, 0, 37, 0, 53, 0, 39, 0, 21, 0, 36, 0, 40, 0, 40, 0, 38, 0, 42, 0, 59, 0, 27, 0, 13, 0, 27, 0, 67, 0, 24, 0, 53, 0, 57, 0, 47, 0, 55, 0, 11, 0, 51, 0, 56, 0, 50, 0, 46, 0, 19, 0, 48, 0, 44, 0, 45, 0, 60, 0, 52, 0, 52, 0, 61, 0, 53, 0, 23, 0, 54, 0, 49, 0, 54, 0, 43, 0, 55, 0, 67, 0, 51, 0, 65, 0, 44, 0, 58, 0, 62, 0, 59, 0, 54, 0, 66, 0, 66, 0, 55, 0, 67, 0, 33, 0, 57, 0, 61, 0, 3, 0, 64, 0, 56, 0, 63, 0, 30, 0, 60, 0, 60, 0, 33, 0, 61, 0, 75, 0, 68, 0, 69, 0, 73, 0, 71, 0, 74, 0, 74, 0, 72, 0, 75, 0, 26, 0, 2, 0, 35, 0, 47, 0, 8, 0, 53, 0, 38, 0, 6, 0, 42, 0, 67, 0, 65, 0, 24, 0, 50, 0, 10, 0, 46, 0, 58, 0, 12, 0, 62, 0, 14, 0, 29, 0, 17, 0, 28, 0, 25, 0, 31, 0, 45, 0, 52, 0, 20, 0, 52, 0, 53, 0, 37, 0, 18, 0, 36, 0, 21, 0, 36, 0, 38, 0, 40, 0, 66, 0, 27, 0, 59, 0, 66, 0, 67, 0, 27, 0, 61, 0, 57, 0, 53, 0, 43, 0, 11, 0, 55, 0, 64, 0, 50, 0, 56, 0, 22, 0, 48, 0, 19, 0, 63, 0, 60, 0, 45, 0, 60, 0, 61, 0, 52, 0, 41, 0, 54, 0, 23, 0, 41, 0, 43, 0, 54, 0, 55, 0, 51, 0, 67, 0, 48, 0, 58, 0, 44, 0, 49, 0, 54, 0, 59, 0, 54, 0, 55, 0, 66, 0, 4, 0, 57, 0, 33, 0, 0, 0, 64, 0, 3, 0, 16, 0, 30, 0, 63, 0, 30, 0, 33, 0, 60, 0, 72, 0, 68, 0, 75, 0, 70, 0, 71, 0, 73, 0, 71, 0, 72, 0, 74, 0), +"lods": [0.0036423, PackedByteArray(34, 0, 2, 0, 5, 0, 25, 0, 2, 0, 34, 0, 42, 0, 6, 0, 9, 0, 36, 0, 6, 0, 42, 0, 21, 0, 36, 0, 42, 0, 18, 0, 36, 0, 21, 0, 24, 0, 65, 0, 1, 0, 59, 0, 65, 0, 24, 0, 59, 0, 24, 0, 13, 0, 59, 0, 11, 0, 65, 0, 43, 0, 11, 0, 59, 0, 43, 0, 59, 0, 23, 0, 46, 0, 10, 0, 7, 0, 64, 0, 10, 0, 46, 0, 3, 0, 64, 0, 46, 0, 0, 0, 64, 0, 3, 0, 62, 0, 12, 0, 15, 0, 58, 0, 12, 0, 62, 0, 19, 0, 58, 0, 62, 0, 22, 0, 58, 0, 19, 0, 17, 0, 76, 0, 77, 0, 14, 0, 76, 0, 17, 0, 75, 0, 68, 0, 69, 0, 72, 0, 68, 0, 75, 0, 74, 0, 72, 0, 75, 0, 71, 0, 72, 0, 74, 0, 73, 0, 71, 0, 74, 0, 70, 0, 71, 0, 73, 0, 47, 0, 8, 0, 37, 0, 33, 0, 47, 0, 37, 0, 4, 0, 47, 0, 33, 0, 63, 0, 33, 0, 37, 0, 16, 0, 33, 0, 63, 0, 63, 0, 37, 0, 20, 0)], +"material": SubResource("1"), "name": "Handle", -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 76 -} -surfaces/1 = { -"aabb": AABB( -0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404 ), -"array_data": PoolByteArray( 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 125, 130, 125, 63, 25, 40, 117, 33, 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 0, 129, 126, 63, 242, 41, 88, 53, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 127, 126, 126, 63, 122, 40, 5, 49, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 0, 127, 127, 63, 144, 40, 116, 49, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 0, 127, 127, 63, 144, 40, 199, 49, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 0, 0, 127, 63, 193, 40, 96, 50, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 126, 130, 126, 63, 241, 59, 5, 49, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 0, 127, 127, 63, 242, 59, 157, 49, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 0, 0, 127, 63, 245, 59, 96, 50, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 126, 130, 126, 63, 122, 40, 18, 42, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 126, 130, 125, 63, 159, 40, 217, 41, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 126, 130, 126, 63, 122, 40, 95, 45, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 126, 130, 126, 63, 122, 40, 180, 47, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 126, 63, 193, 40, 240, 52, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 126, 63, 202, 40, 244, 52, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 0, 0, 127, 63, 193, 40, 91, 52, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 0, 0, 127, 63, 193, 40, 139, 51, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 125, 130, 126, 63, 174, 58, 18, 42, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 0, 255, 126, 63, 176, 58, 244, 52, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 125, 130, 126, 63, 177, 58, 244, 41, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 0, 255, 126, 63, 179, 58, 240, 52, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 125, 130, 126, 63, 80, 59, 95, 45, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 0, 255, 127, 63, 84, 59, 91, 52, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 126, 130, 126, 63, 176, 59, 180, 47, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 0, 0, 127, 63, 181, 59, 139, 51, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 0, 255, 126, 63, 175, 40, 137, 53, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 0, 129, 126, 63, 242, 41, 50, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 0, 129, 126, 63, 89, 57, 72, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 0, 255, 126, 63, 175, 57, 137, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 125, 130, 126, 63, 175, 57, 144, 31 ), -"array_index_data": PoolByteArray( 16, 0, 8, 0, 24, 0, 13, 0, 22, 0, 20, 0, 15, 0, 24, 0, 22, 0, 3, 0, 7, 0, 4, 0, 10, 0, 29, 0, 19, 0, 10, 0, 0, 0, 29, 0, 6, 0, 12, 0, 23, 0, 23, 0, 11, 0, 21, 0, 21, 0, 9, 0, 17, 0, 5, 0, 8, 0, 16, 0, 15, 0, 22, 0, 13, 0, 16, 0, 24, 0, 15, 0, 2, 0, 12, 0, 6, 0, 12, 0, 11, 0, 23, 0, 11, 0, 9, 0, 21, 0, 18, 0, 25, 0, 14, 0, 18, 0, 28, 0, 25, 0, 27, 0, 1, 0, 26, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +"primitive": 3, +"vertex_count": 78, +"vertex_data": PackedByteArray(236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 12, 137, 12, 9, 242, 246, 133, 196, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 20, 55, 234, 72, 234, 72, 116, 228, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 12, 137, 12, 9, 242, 246, 133, 196, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 20, 55, 234, 72, 234, 72, 116, 228, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 255, 255, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 22, 115, 232, 12, 22, 243, 139, 185, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 255, 255, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 22, 115, 232, 12, 22, 243, 139, 185, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 12, 137, 242, 246, 242, 246, 120, 187, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 20, 55, 20, 183, 20, 183, 116, 228, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 12, 137, 242, 246, 242, 246, 120, 187, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 20, 55, 20, 183, 20, 183, 116, 228, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 22, 115, 22, 243, 22, 243, 115, 198, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 22, 115, 22, 243, 22, 243, 115, 198, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 20, 55, 234, 72, 234, 72, 116, 228, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 20, 55, 20, 183, 20, 183, 116, 228, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 20, 55, 20, 183, 20, 183, 116, 228, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 20, 55, 234, 72, 234, 72, 116, 228, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 56, 121, 56, 249, 56, 249, 98, 195, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 56, 121, 198, 6, 56, 249, 155, 188, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 255, 255, 255, 255, 255, 255, 255, 191, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 56, 121, 56, 249, 56, 249, 98, 195, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 56, 121, 198, 6, 56, 249, 155, 188, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 174, 132, 175, 4, 79, 251, 86, 194, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 174, 132, 79, 251, 79, 251, 167, 189, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 174, 132, 79, 251, 79, 251, 167, 189, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 174, 132, 175, 4, 79, 251, 86, 194, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 1, 0, 255, 127, 1, 128, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 1, 0, 255, 127, 1, 128, 255, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 0, 0, 255, 127, 255, 127, 255, 191, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 0, 0, 255, 127, 0, 128, 255, 191, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 1, 0, 255, 127, 0, 128, 255, 191, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 255, 127, 0, 128, 255, 191, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 0, 0, 255, 127, 0, 128, 255, 191, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 1, 0, 255, 127, 0, 128, 255, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 202, 34, 202, 162, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 210, 40, 209, 168, 255, 127, 255, 255) +}, { +"aabb": AABB(-0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404), +"attribute_data": PackedByteArray(167, 34, 3, 61, 128, 182, 46, 60, 120, 83, 62, 61, 244, 12, 171, 62, 248, 80, 15, 61, 140, 172, 32, 62, 8, 15, 18, 61, 116, 145, 46, 62, 160, 15, 18, 61, 184, 237, 56, 62, 56, 33, 24, 61, 196, 20, 76, 62, 175, 47, 126, 63, 140, 172, 32, 62, 139, 91, 126, 63, 152, 191, 51, 62, 164, 188, 126, 63, 196, 20, 76, 62, 32, 81, 15, 61, 48, 75, 66, 61, 158, 233, 19, 61, 176, 54, 59, 61, 32, 81, 15, 61, 112, 225, 171, 61, 248, 80, 15, 61, 64, 157, 246, 61, 240, 32, 24, 61, 68, 23, 158, 62, 118, 66, 25, 61, 64, 138, 158, 62, 8, 33, 24, 61, 76, 104, 139, 62, 16, 33, 24, 61, 176, 114, 113, 62, 159, 215, 85, 63, 48, 75, 66, 61, 5, 22, 86, 63, 40, 138, 158, 62, 201, 52, 86, 63, 240, 155, 62, 61, 152, 100, 86, 63, 68, 23, 158, 62, 166, 3, 106, 63, 112, 225, 171, 61, 157, 144, 106, 63, 76, 104, 139, 62, 18, 30, 118, 63, 64, 157, 246, 61, 8, 171, 118, 63, 176, 114, 113, 62, 47, 231, 21, 61, 130, 51, 177, 62, 96, 83, 62, 61, 108, 82, 166, 62, 232, 44, 43, 63, 186, 17, 169, 62, 148, 241, 53, 63, 94, 52, 177, 62, 246, 253, 53, 63, 0, 10, 242, 59), +"format": 4119, "index_count": 54, -"material": SubResource( 2 ), +"index_data": PackedByteArray(16, 0, 8, 0, 24, 0, 13, 0, 22, 0, 20, 0, 15, 0, 24, 0, 22, 0, 3, 0, 7, 0, 4, 0, 10, 0, 29, 0, 19, 0, 10, 0, 0, 0, 29, 0, 6, 0, 12, 0, 23, 0, 23, 0, 11, 0, 21, 0, 21, 0, 9, 0, 17, 0, 5, 0, 8, 0, 16, 0, 15, 0, 22, 0, 13, 0, 16, 0, 24, 0, 15, 0, 2, 0, 12, 0, 6, 0, 12, 0, 11, 0, 23, 0, 11, 0, 9, 0, 21, 0, 18, 0, 25, 0, 14, 0, 18, 0, 28, 0, 25, 0, 27, 0, 1, 0, 26, 0), +"material": SubResource("2"), "name": "Blade", -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 30 -} +"primitive": 3, +"vertex_count": 30, +"vertex_data": PackedByteArray(189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 156, 254, 217, 0, 151, 254, 70, 192, 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 255, 127, 0, 0, 216, 255, 255, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 255, 255, 80, 255, 80, 255, 255, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 255, 127, 255, 255, 255, 255, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 255, 127, 255, 255, 255, 255, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 174, 128, 255, 127, 255, 255, 167, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 177, 255, 177, 0, 77, 255, 255, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 255, 127, 255, 255, 255, 255, 255, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 176, 128, 177, 127, 255, 255, 166, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 70, 255, 203, 0, 50, 255, 255, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 70, 255, 203, 0, 171, 254, 67, 192, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 251, 255, 182, 0, 72, 255, 255, 191, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 254, 255, 176, 0, 78, 255, 255, 191, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 202, 128, 71, 127, 254, 255, 101, 192, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 202, 128, 71, 127, 254, 255, 153, 191, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 182, 128, 252, 127, 255, 255, 163, 191, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 175, 128, 254, 127, 255, 255, 167, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 80, 254, 204, 0, 47, 255, 255, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 204, 128, 81, 126, 254, 255, 151, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 80, 254, 204, 0, 19, 255, 241, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 204, 128, 81, 126, 254, 255, 102, 192, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 246, 254, 188, 0, 65, 255, 255, 191, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 187, 128, 247, 126, 255, 255, 160, 191, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 138, 255, 179, 0, 74, 255, 255, 191, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 179, 128, 138, 127, 255, 255, 165, 191, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 217, 128, 156, 126, 254, 255, 109, 192, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 255, 127, 0, 0, 216, 255, 255, 191, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 255, 127, 0, 0, 216, 255, 255, 191, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 217, 128, 156, 126, 254, 255, 109, 192, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 156, 254, 217, 0, 9, 255, 242, 191) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_v104j") -[sub_resource type="ConvexPolygonShape" id=4] +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_2tu7g"] margin = 0.005 -points = PoolVector3Array( -0.0142231, 0.0175055, 0.00419341, -0.0142231, -0.0185672, 0.00419341, 0.143543, 0.0117288, -0.000207138, -0.0142231, 0.0175055, -0.00441226, -0.142664, 0.016704, 0.00419341, -0.0142231, -0.0185672, -0.00441226, 0.100912, -0.012621, -0.000207138, 0.119096, -0.00703494, -0.000207138, 0.132575, -0.00078154, -0.000207138, 0.140686, 0.00547539, -0.000207138, -0.142664, -0.0177692, 0.00419341, -0.142664, 0.016704, -0.00441226, -0.151323, 0.0052141, 0.00419341, -0.142664, -0.0177692, -0.00441226, -0.151323, -0.0062793, 0.00419341, -0.151323, 0.0052141, -0.00441226, -0.151323, -0.0062793, -0.00441226 ) +points = PackedVector3Array(-0.0142231, 0.0175055, 0.00419341, -0.0142231, -0.0185672, 0.00419341, 0.143543, 0.0117288, -0.000207138, -0.0142231, 0.0175055, -0.00441226, -0.142664, 0.016704, 0.00419341, -0.0142231, -0.0185672, -0.00441226, 0.100912, -0.012621, -0.000207138, 0.119096, -0.00703494, -0.000207138, 0.132575, -0.00078154, -0.000207138, 0.140686, 0.00547539, -0.000207138, -0.142664, -0.0177692, 0.00419341, -0.142664, 0.016704, -0.00441226, -0.151323, 0.0052141, 0.00419341, -0.142664, -0.0177692, -0.00441226, -0.151323, -0.0062793, 0.00419341, -0.151323, 0.0052141, -0.00441226, -0.151323, -0.0062793, -0.00441226) -[node name="Knife" instance=ExtResource( 1 )] -script = ExtResource( 7 ) +[node name="Knife" instance=ExtResource("1")] +continuous_cd = true +script = ExtResource("7") -[node name="Knife" type="MeshInstance" parent="." index="0"] -mesh = SubResource( 3 ) +[node name="Knife" type="MeshInstance3D" parent="." index="0"] +mesh = SubResource("ArrayMesh_anmh6") +skeleton = NodePath("") -[node name="CollisionShape" parent="." index="1"] -shape = SubResource( 4 ) +[node name="CollisionShape3D" parent="." index="1"] +shape = SubResource("ConvexPolygonShape3D_2tu7g") -[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource( 5 )] -transform = Transform( -0.0412479, 0.99089, -0.128202, -5.60865e-09, 0.128311, 0.991734, 0.999149, 0.040907, -0.00529256, -0.0267695, -0.0835771, 0.0177133 ) +[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource("5")] +transform = Transform3D(-0.0412479, 0.99089, -0.128202, -5.60865e-09, 0.128311, 0.991734, 0.999149, 0.040907, -0.00529256, -0.0267695, -0.0835771, 0.0177133) -[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource( 4 )] -transform = Transform( 0.0412479, 0.99089, -0.128202, 0, 0.128311, 0.991734, 0.999149, -0.0409069, 0.00529256, -0.027, -0.084, -0.018 ) +[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource("4")] +transform = Transform3D(0.0412479, 0.99089, -0.128202, 0, 0.128311, 0.991734, 0.999149, -0.0409069, 0.00529256, -0.027, -0.084, -0.018) -[node name="GrabPointGripLeft" parent="." index="4" instance=ExtResource( 5 )] -transform = Transform( 0.0412478, -0.99089, 0.128202, -5.60865e-09, 0.128311, 0.991734, -0.999149, -0.0409069, 0.00529255, -0.136863, -0.084, -0.018 ) +[node name="GrabPointGripLeft" parent="." index="4" instance=ExtResource("5")] +transform = Transform3D(0.0412478, -0.99089, 0.128202, -5.60865e-09, 0.128311, 0.991734, -0.999149, -0.0409069, 0.00529255, -0.136863, -0.084, -0.018) -[node name="GrabPointGripRight" parent="." index="5" instance=ExtResource( 4 )] -transform = Transform( -0.041248, -0.99089, 0.128202, 0, 0.128311, 0.991734, -0.999149, 0.040907, -0.00529257, -0.137, -0.084, 0.018 ) +[node name="GrabPointGripRight" parent="." index="5" instance=ExtResource("4")] +transform = Transform3D(-0.041248, -0.99089, 0.128202, 0, 0.128311, 0.991734, -0.999149, 0.040907, -0.00529257, -0.137, -0.084, 0.018) -[node name="HighlightRing" parent="." index="6" instance=ExtResource( 8 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0795496, 0, 0 ) +[node name="HighlightRing" parent="." index="6" instance=ExtResource("8")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0795496, 0, 0) diff --git a/scenes/pickable_demo/objects/saucer.tscn b/scenes/pickable_demo/objects/saucer.tscn index 377c54e0..12faa1c5 100644 --- a/scenes/pickable_demo/objects/saucer.tscn +++ b/scenes/pickable_demo/objects/saucer.tscn @@ -1,34 +1,55 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=7 format=3 uid="uid://gi3cc6cxi81j"] -[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=1] +[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1"] +[ext_resource type="Material" path="res://scenes/pickable_demo/materials/porcelain.tres" id="1_ycnf3"] -[sub_resource type="ArrayMesh" id=1] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3anyq"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_eeav4"] +_surfaces = [{ +"aabb": AABB(-0.11, -0.004, -0.11, 0.22, 0.016, 0.22), +"format": 4097, +"index_count": 756, +"index_data": PackedByteArray(24, 0, 86, 0, 22, 0, 24, 0, 88, 0, 86, 0, 57, 0, 123, 0, 59, 0, 57, 0, 121, 0, 123, 0, 6, 0, 68, 0, 4, 0, 6, 0, 70, 0, 68, 0, 39, 0, 105, 0, 41, 0, 39, 0, 103, 0, 105, 0, 58, 0, 120, 0, 56, 0, 58, 0, 122, 0, 120, 0, 21, 0, 87, 0, 23, 0, 21, 0, 85, 0, 87, 0, 40, 0, 102, 0, 38, 0, 40, 0, 104, 0, 102, 0, 3, 0, 69, 0, 5, 0, 3, 0, 66, 0, 69, 0, 22, 0, 84, 0, 20, 0, 22, 0, 86, 0, 84, 0, 55, 0, 121, 0, 57, 0, 55, 0, 119, 0, 121, 0, 4, 0, 65, 0, 2, 0, 4, 0, 68, 0, 65, 0, 37, 0, 103, 0, 39, 0, 37, 0, 101, 0, 103, 0, 56, 0, 118, 0, 54, 0, 56, 0, 120, 0, 118, 0, 19, 0, 85, 0, 21, 0, 19, 0, 83, 0, 85, 0, 38, 0, 100, 0, 36, 0, 38, 0, 102, 0, 100, 0, 20, 0, 82, 0, 18, 0, 20, 0, 84, 0, 82, 0, 53, 0, 119, 0, 55, 0, 53, 0, 117, 0, 119, 0, 1, 0, 66, 0, 3, 0, 1, 0, 67, 0, 66, 0, 35, 0, 101, 0, 37, 0, 35, 0, 99, 0, 101, 0, 54, 0, 116, 0, 52, 0, 54, 0, 118, 0, 116, 0, 2, 0, 64, 0, 0, 0, 2, 0, 65, 0, 64, 0, 17, 0, 83, 0, 19, 0, 17, 0, 81, 0, 83, 0, 36, 0, 98, 0, 34, 0, 36, 0, 100, 0, 98, 0, 18, 0, 80, 0, 16, 0, 18, 0, 82, 0, 80, 0, 51, 0, 117, 0, 53, 0, 51, 0, 115, 0, 117, 0, 33, 0, 99, 0, 35, 0, 33, 0, 97, 0, 99, 0, 52, 0, 114, 0, 50, 0, 52, 0, 116, 0, 114, 0, 15, 0, 81, 0, 17, 0, 15, 0, 79, 0, 81, 0, 34, 0, 96, 0, 32, 0, 34, 0, 98, 0, 96, 0, 16, 0, 78, 0, 14, 0, 16, 0, 80, 0, 78, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 115, 0, 51, 0, 49, 0, 113, 0, 115, 0, 31, 0, 97, 0, 33, 0, 31, 0, 95, 0, 97, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 66, 0, 67, 0, 64, 0, 65, 0, 66, 0, 65, 0, 69, 0, 66, 0, 65, 0, 68, 0, 69, 0, 68, 0, 71, 0, 69, 0, 68, 0, 70, 0, 71, 0, 70, 0, 73, 0, 71, 0, 70, 0, 72, 0, 73, 0, 72, 0, 75, 0, 73, 0, 72, 0, 74, 0, 75, 0, 74, 0, 77, 0, 75, 0, 74, 0, 76, 0, 77, 0, 76, 0, 79, 0, 77, 0, 76, 0, 78, 0, 79, 0, 78, 0, 81, 0, 79, 0, 78, 0, 80, 0, 81, 0, 80, 0, 83, 0, 81, 0, 80, 0, 82, 0, 83, 0, 82, 0, 85, 0, 83, 0, 82, 0, 84, 0, 85, 0, 84, 0, 87, 0, 85, 0, 84, 0, 86, 0, 87, 0, 86, 0, 89, 0, 87, 0, 86, 0, 88, 0, 89, 0, 88, 0, 91, 0, 89, 0, 88, 0, 90, 0, 91, 0, 90, 0, 93, 0, 91, 0, 90, 0, 92, 0, 93, 0, 92, 0, 95, 0, 93, 0, 92, 0, 94, 0, 95, 0, 94, 0, 97, 0, 95, 0, 94, 0, 96, 0, 97, 0, 96, 0, 99, 0, 97, 0, 96, 0, 98, 0, 99, 0, 98, 0, 101, 0, 99, 0, 98, 0, 100, 0, 101, 0, 100, 0, 103, 0, 101, 0, 100, 0, 102, 0, 103, 0, 102, 0, 105, 0, 103, 0, 102, 0, 104, 0, 105, 0, 104, 0, 107, 0, 105, 0, 104, 0, 106, 0, 107, 0, 106, 0, 109, 0, 107, 0, 106, 0, 108, 0, 109, 0, 108, 0, 111, 0, 109, 0, 108, 0, 110, 0, 111, 0, 110, 0, 113, 0, 111, 0, 110, 0, 112, 0, 113, 0, 112, 0, 115, 0, 113, 0, 112, 0, 114, 0, 115, 0, 114, 0, 117, 0, 115, 0, 114, 0, 116, 0, 117, 0, 116, 0, 119, 0, 117, 0, 116, 0, 118, 0, 119, 0, 118, 0, 121, 0, 119, 0, 118, 0, 120, 0, 121, 0, 120, 0, 123, 0, 121, 0, 120, 0, 122, 0, 123, 0, 122, 0, 125, 0, 123, 0, 122, 0, 124, 0, 125, 0, 124, 0, 127, 0, 125, 0, 124, 0, 126, 0, 127, 0, 126, 0, 67, 0, 127, 0, 126, 0, 64, 0, 67, 0, 5, 0, 71, 0, 7, 0, 5, 0, 69, 0, 71, 0, 42, 0, 104, 0, 40, 0, 42, 0, 106, 0, 104, 0, 23, 0, 89, 0, 25, 0, 23, 0, 87, 0, 89, 0, 60, 0, 122, 0, 58, 0, 60, 0, 124, 0, 122, 0, 41, 0, 107, 0, 43, 0, 41, 0, 105, 0, 107, 0, 8, 0, 70, 0, 6, 0, 8, 0, 72, 0, 70, 0, 59, 0, 125, 0, 61, 0, 59, 0, 123, 0, 125, 0, 26, 0, 88, 0, 24, 0, 26, 0, 90, 0, 88, 0, 7, 0, 73, 0, 9, 0, 7, 0, 71, 0, 73, 0, 44, 0, 106, 0, 42, 0, 44, 0, 108, 0, 106, 0, 25, 0, 91, 0, 27, 0, 25, 0, 89, 0, 91, 0, 62, 0, 124, 0, 60, 0, 62, 0, 126, 0, 124, 0, 43, 0, 109, 0, 45, 0, 43, 0, 107, 0, 109, 0, 10, 0, 72, 0, 8, 0, 10, 0, 74, 0, 72, 0, 61, 0, 127, 0, 63, 0, 61, 0, 125, 0, 127, 0, 28, 0, 90, 0, 26, 0, 28, 0, 92, 0, 90, 0, 9, 0, 75, 0, 11, 0, 9, 0, 73, 0, 75, 0, 46, 0, 108, 0, 44, 0, 46, 0, 110, 0, 108, 0, 27, 0, 93, 0, 29, 0, 27, 0, 91, 0, 93, 0, 0, 0, 126, 0, 62, 0, 0, 0, 64, 0, 126, 0, 45, 0, 111, 0, 47, 0, 45, 0, 109, 0, 111, 0, 12, 0, 74, 0, 10, 0, 12, 0, 76, 0, 74, 0, 63, 0, 67, 0, 1, 0, 63, 0, 127, 0, 67, 0, 30, 0, 92, 0, 28, 0, 30, 0, 94, 0, 92, 0, 11, 0, 77, 0, 13, 0, 11, 0, 75, 0, 77, 0, 48, 0, 110, 0, 46, 0, 48, 0, 112, 0, 110, 0, 29, 0, 95, 0, 31, 0, 29, 0, 93, 0, 95, 0, 47, 0, 113, 0, 49, 0, 47, 0, 111, 0, 113, 0, 14, 0, 76, 0, 12, 0, 14, 0, 78, 0, 76, 0, 32, 0, 94, 0, 30, 0, 32, 0, 96, 0, 94, 0, 13, 0, 79, 0, 15, 0, 13, 0, 77, 0, 79, 0, 50, 0, 112, 0, 48, 0, 50, 0, 114, 0, 112, 0), +"lods": [0.00958653, PackedByteArray(71, 0, 66, 0, 69, 0, 71, 0, 67, 0, 66, 0, 71, 0, 73, 0, 75, 0, 71, 0, 75, 0, 77, 0, 71, 0, 77, 0, 79, 0, 71, 0, 79, 0, 81, 0, 121, 0, 67, 0, 71, 0, 121, 0, 127, 0, 67, 0, 121, 0, 125, 0, 127, 0, 121, 0, 123, 0, 125, 0, 71, 0, 81, 0, 87, 0, 87, 0, 81, 0, 83, 0, 87, 0, 83, 0, 85, 0, 121, 0, 117, 0, 119, 0, 121, 0, 115, 0, 117, 0, 121, 0, 113, 0, 115, 0, 71, 0, 105, 0, 121, 0, 105, 0, 113, 0, 121, 0, 105, 0, 71, 0, 87, 0, 105, 0, 111, 0, 113, 0, 105, 0, 109, 0, 111, 0, 105, 0, 107, 0, 109, 0, 105, 0, 101, 0, 103, 0, 105, 0, 99, 0, 101, 0, 105, 0, 97, 0, 99, 0, 87, 0, 97, 0, 105, 0, 87, 0, 95, 0, 97, 0, 87, 0, 93, 0, 95, 0, 87, 0, 91, 0, 93, 0, 87, 0, 89, 0, 91, 0, 72, 0, 65, 0, 120, 0, 120, 0, 65, 0, 126, 0, 72, 0, 70, 0, 65, 0, 72, 0, 78, 0, 76, 0, 72, 0, 82, 0, 78, 0, 88, 0, 82, 0, 72, 0, 120, 0, 88, 0, 72, 0, 88, 0, 86, 0, 82, 0, 120, 0, 118, 0, 114, 0, 120, 0, 114, 0, 104, 0, 88, 0, 120, 0, 104, 0, 104, 0, 114, 0, 112, 0, 104, 0, 112, 0, 110, 0, 104, 0, 98, 0, 88, 0, 88, 0, 98, 0, 94, 0, 104, 0, 102, 0, 98, 0, 65, 0, 66, 0, 67, 0, 65, 0, 69, 0, 66, 0, 126, 0, 65, 0, 67, 0, 65, 0, 70, 0, 69, 0, 126, 0, 67, 0, 127, 0, 70, 0, 71, 0, 69, 0, 126, 0, 127, 0, 125, 0, 70, 0, 73, 0, 71, 0, 120, 0, 126, 0, 125, 0, 70, 0, 72, 0, 73, 0, 120, 0, 125, 0, 123, 0, 72, 0, 75, 0, 73, 0, 120, 0, 123, 0, 121, 0, 72, 0, 77, 0, 75, 0, 118, 0, 120, 0, 121, 0, 72, 0, 76, 0, 77, 0, 118, 0, 121, 0, 119, 0, 76, 0, 79, 0, 77, 0, 118, 0, 119, 0, 117, 0, 76, 0, 78, 0, 79, 0, 114, 0, 118, 0, 117, 0, 78, 0, 81, 0, 79, 0, 114, 0, 117, 0, 115, 0, 78, 0, 82, 0, 81, 0, 112, 0, 114, 0, 115, 0, 82, 0, 83, 0, 81, 0, 112, 0, 115, 0, 113, 0, 82, 0, 85, 0, 83, 0, 110, 0, 112, 0, 113, 0, 82, 0, 86, 0, 85, 0, 110, 0, 113, 0, 111, 0, 86, 0, 87, 0, 85, 0, 110, 0, 111, 0, 109, 0, 86, 0, 89, 0, 87, 0, 104, 0, 110, 0, 109, 0, 86, 0, 88, 0, 89, 0, 104, 0, 109, 0, 107, 0, 88, 0, 91, 0, 89, 0, 104, 0, 107, 0, 105, 0, 88, 0, 93, 0, 91, 0, 102, 0, 104, 0, 105, 0, 88, 0, 94, 0, 93, 0, 102, 0, 105, 0, 103, 0, 94, 0, 95, 0, 93, 0, 102, 0, 103, 0, 101, 0, 94, 0, 97, 0, 95, 0, 98, 0, 102, 0, 101, 0, 94, 0, 98, 0, 97, 0, 98, 0, 101, 0, 99, 0, 98, 0, 99, 0, 97, 0), 0.0182738, PackedByteArray(105, 0, 99, 0, 103, 0, 87, 0, 99, 0, 105, 0, 87, 0, 95, 0, 99, 0, 87, 0, 91, 0, 95, 0, 105, 0, 71, 0, 87, 0, 71, 0, 83, 0, 87, 0, 71, 0, 79, 0, 83, 0, 71, 0, 75, 0, 79, 0, 71, 0, 105, 0, 121, 0, 121, 0, 67, 0, 71, 0, 121, 0, 127, 0, 67, 0, 105, 0, 115, 0, 121, 0, 121, 0, 115, 0, 119, 0, 105, 0, 111, 0, 115, 0, 114, 0, 65, 0, 64, 0, 114, 0, 64, 0, 126, 0, 65, 0, 80, 0, 76, 0, 65, 0, 84, 0, 80, 0, 114, 0, 84, 0, 65, 0, 84, 0, 114, 0, 98, 0, 98, 0, 114, 0, 110, 0, 84, 0, 98, 0, 94, 0, 64, 0, 65, 0, 67, 0, 126, 0, 64, 0, 67, 0, 65, 0, 71, 0, 67, 0, 126, 0, 67, 0, 127, 0, 65, 0, 75, 0, 71, 0, 65, 0, 79, 0, 75, 0, 65, 0, 76, 0, 79, 0, 76, 0, 80, 0, 79, 0, 80, 0, 83, 0, 79, 0, 114, 0, 126, 0, 127, 0, 114, 0, 127, 0, 121, 0, 114, 0, 121, 0, 119, 0, 114, 0, 119, 0, 115, 0, 110, 0, 114, 0, 115, 0, 110, 0, 115, 0, 111, 0, 80, 0, 84, 0, 83, 0, 84, 0, 87, 0, 83, 0, 84, 0, 91, 0, 87, 0, 84, 0, 95, 0, 91, 0, 84, 0, 94, 0, 95, 0, 94, 0, 99, 0, 95, 0, 98, 0, 110, 0, 111, 0, 94, 0, 98, 0, 99, 0, 98, 0, 111, 0, 105, 0, 98, 0, 103, 0, 99, 0, 98, 0, 105, 0, 103, 0), 0.0249856, PackedByteArray(100, 0, 84, 0, 65, 0, 114, 0, 100, 0, 65, 0, 71, 0, 105, 0, 121, 0, 105, 0, 71, 0, 87, 0, 65, 0, 71, 0, 121, 0, 65, 0, 84, 0, 71, 0, 114, 0, 65, 0, 121, 0, 84, 0, 87, 0, 71, 0, 114, 0, 121, 0, 105, 0, 84, 0, 100, 0, 87, 0, 100, 0, 114, 0, 105, 0, 100, 0, 105, 0, 87, 0), 0.0341249, PackedByteArray(100, 0, 84, 0, 65, 0, 65, 0, 84, 0, 76, 0, 110, 0, 100, 0, 65, 0, 71, 0, 83, 0, 87, 0, 87, 0, 95, 0, 103, 0, 87, 0, 103, 0, 105, 0, 105, 0, 71, 0, 87, 0, 71, 0, 105, 0, 121, 0, 105, 0, 119, 0, 121, 0, 121, 0, 127, 0, 71, 0, 65, 0, 71, 0, 127, 0, 65, 0, 83, 0, 71, 0, 65, 0, 76, 0, 83, 0, 76, 0, 84, 0, 83, 0, 84, 0, 87, 0, 83, 0, 110, 0, 65, 0, 127, 0, 110, 0, 127, 0, 121, 0, 110, 0, 121, 0, 119, 0, 110, 0, 119, 0, 105, 0, 84, 0, 100, 0, 87, 0, 100, 0, 110, 0, 105, 0, 100, 0, 95, 0, 87, 0, 100, 0, 105, 0, 103, 0, 100, 0, 103, 0, 95, 0)], +"primitive": 3, +"vertex_count": 128, +"vertex_data": PackedByteArray(0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_le8dc"] resource_name = "saucer_Cylinder001" -surfaces/0 = { -"aabb": AABB( -0.11, -0.004, -0.11, 0.22, 0.016, 0.22 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 21, 129, 25, 54, 139, 45, 96, 58, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 0, 105, 230, 54, 177, 56, 113, 58, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 24, 134, 26, 55, 100, 46, 161, 58, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 252, 102, 231, 54, 163, 56, 43, 58, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 26, 137, 27, 56, 158, 47, 219, 58, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 249, 100, 232, 54, 163, 56, 229, 57, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 28, 141, 28, 57, 150, 48, 13, 59, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 245, 98, 232, 54, 177, 56, 160, 57, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 28, 144, 28, 59, 129, 49, 52, 59, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 242, 98, 232, 55, 204, 56, 95, 57, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 28, 146, 29, 60, 133, 50, 79, 59, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 240, 98, 232, 56, 243, 56, 36, 57, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 26, 148, 29, 62, 154, 51, 92, 59, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 238, 100, 231, 57, 36, 57, 242, 56, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 24, 150, 28, 64, 89, 52, 92, 59, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 236, 102, 230, 59, 95, 57, 203, 56, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 21, 151, 27, 66, 227, 52, 78, 59, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 235, 105, 229, 60, 160, 57, 176, 56, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 20, 154, 26, 67, 101, 53, 51, 59, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 232, 106, 228, 62, 229, 57, 162, 56, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 18, 156, 25, 69, 218, 53, 12, 59, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 230, 108, 227, 64, 43, 58, 162, 56, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 16, 158, 24, 70, 61, 54, 218, 58, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 228, 110, 227, 66, 112, 58, 176, 56, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 14, 158, 24, 71, 139, 54, 159, 58, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 228, 112, 228, 67, 177, 58, 203, 56, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 11, 158, 24, 72, 193, 54, 94, 58, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 228, 115, 228, 69, 236, 58, 242, 56, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 7, 156, 24, 72, 220, 54, 25, 58, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 230, 119, 229, 70, 30, 59, 36, 57, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 4, 154, 25, 72, 220, 54, 211, 57, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 232, 122, 230, 71, 69, 59, 95, 57, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 0, 151, 25, 72, 192, 54, 142, 57, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 21, 127, 230, 72, 96, 59, 160, 57, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 252, 154, 26, 71, 138, 54, 77, 57, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 24, 122, 231, 72, 109, 59, 229, 57, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 249, 156, 27, 70, 59, 54, 18, 57, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 26, 119, 232, 72, 109, 59, 43, 58, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 245, 158, 28, 69, 215, 53, 225, 56, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 28, 115, 232, 72, 96, 59, 112, 58, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 242, 158, 28, 67, 98, 53, 186, 56, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 28, 112, 232, 71, 69, 59, 177, 58, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 240, 158, 29, 66, 224, 52, 159, 56, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 28, 110, 232, 70, 30, 59, 236, 58, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 238, 156, 29, 64, 85, 52, 145, 56, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 26, 108, 231, 69, 236, 58, 30, 59, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 236, 154, 28, 62, 146, 51, 145, 56, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 24, 106, 230, 67, 178, 58, 69, 59, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 235, 151, 27, 60, 126, 50, 159, 56, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 21, 105, 229, 66, 113, 58, 96, 59, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 232, 150, 26, 59, 122, 49, 186, 56, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 20, 102, 228, 64, 44, 58, 110, 59, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 230, 148, 25, 57, 144, 48, 226, 56, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 18, 100, 227, 62, 230, 57, 110, 59, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 228, 146, 24, 56, 148, 47, 20, 57, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 16, 98, 227, 60, 161, 57, 96, 59, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 228, 144, 24, 55, 93, 46, 78, 57, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 14, 98, 228, 59, 96, 57, 69, 59, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 228, 141, 24, 54, 135, 45, 143, 57, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 11, 98, 228, 57, 37, 57, 30, 59, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 230, 137, 24, 54, 26, 45, 213, 57, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 7, 100, 229, 56, 243, 56, 236, 58, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 232, 134, 25, 54, 28, 45, 27, 58, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 4, 102, 230, 55, 204, 56, 178, 58, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 127, 127, 31, 15, 203, 36, 137, 58, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 36, 129, 23, 48, 203, 36, 137, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 40, 136, 24, 49, 194, 40, 228, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 127, 105, 42, 25, 194, 40, 228, 58, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 250, 86, 234, 48, 17, 56, 58, 58, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 127, 105, 40, 24, 109, 39, 237, 58, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 127, 127, 29, 14, 12, 33, 143, 58, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 0, 90, 233, 48, 37, 56, 155, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 43, 142, 25, 51, 24, 44, 54, 59, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 127, 89, 47, 33, 24, 44, 54, 59, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 244, 83, 234, 48, 17, 56, 214, 57, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 127, 89, 46, 32, 69, 43, 67, 59, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 45, 148, 26, 53, 71, 46, 124, 59, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 127, 76, 48, 40, 71, 46, 124, 59, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 238, 81, 235, 48, 37, 56, 117, 57, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 127, 76, 48, 40, 231, 45, 139, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 45, 152, 27, 55, 108, 48, 179, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 127, 63, 46, 46, 108, 48, 179, 59, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 234, 81, 235, 49, 74, 56, 26, 57, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 127, 63, 46, 46, 72, 48, 196, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 45, 157, 28, 58, 217, 49, 217, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 127, 50, 42, 52, 217, 49, 217, 59, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 229, 81, 235, 50, 129, 56, 199, 56, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 127, 50, 41, 52, 195, 49, 235, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 43, 160, 29, 61, 93, 51, 236, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 127, 37, 34, 59, 93, 51, 236, 59, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 226, 83, 234, 52, 199, 56, 129, 56, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 127, 37, 34, 59, 86, 51, 255, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 40, 163, 28, 65, 116, 52, 236, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 127, 21, 19, 68, 116, 52, 236, 59, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 223, 86, 233, 55, 26, 57, 74, 56, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 127, 21, 19, 68, 120, 52, 255, 59, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 36, 166, 25, 68, 54, 53, 217, 59, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 127, 0, 0, 78, 54, 53, 217, 59, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 220, 90, 231, 58, 117, 57, 36, 56, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 127, 0, 0, 78, 65, 53, 235, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 33, 170, 24, 71, 236, 53, 179, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 105, 0, 242, 83, 236, 53, 179, 59, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 216, 93, 228, 61, 215, 57, 17, 56, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 105, 0, 242, 83, 254, 53, 196, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 30, 173, 22, 74, 145, 54, 124, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 89, 0, 234, 87, 145, 54, 124, 59, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 213, 96, 227, 65, 58, 58, 17, 56, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 89, 0, 233, 87, 169, 54, 139, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 27, 175, 21, 76, 28, 55, 55, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 76, 0, 229, 93, 28, 55, 55, 59, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 211, 99, 228, 68, 155, 58, 36, 56, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 76, 0, 229, 92, 58, 55, 67, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 22, 175, 21, 77, 138, 55, 228, 58, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 63, 0, 229, 99, 138, 55, 228, 58, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 211, 104, 229, 71, 247, 58, 74, 56, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 63, 0, 229, 99, 172, 55, 237, 58, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 18, 175, 21, 78, 214, 55, 137, 58, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 50, 0, 234, 108, 214, 55, 137, 58, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 211, 108, 230, 73, 73, 59, 129, 56, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 50, 0, 233, 107, 250, 55, 143, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 12, 173, 21, 78, 252, 55, 40, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 37, 0, 247, 120, 252, 55, 40, 58, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 213, 114, 231, 75, 143, 59, 199, 56, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 37, 0, 245, 119, 17, 56, 42, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 6, 170, 22, 78, 252, 55, 197, 57, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 21, 0, 15, 120, 252, 55, 197, 57, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 216, 120, 232, 77, 198, 59, 26, 57, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 21, 0, 12, 121, 17, 56, 195, 57, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 166, 23, 78, 214, 55, 100, 57, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 0, 31, 111, 214, 55, 100, 57, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 0, 0, 29, 112, 250, 55, 95, 57, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 36, 127, 233, 78, 236, 59, 117, 57, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 235, 0, 42, 101, 138, 55, 9, 57, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 250, 170, 24, 77, 138, 55, 9, 57, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 235, 0, 40, 102, 172, 55, 0, 57, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 40, 120, 234, 78, 255, 59, 215, 57, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 219, 0, 47, 93, 29, 55, 183, 56, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 244, 173, 25, 75, 29, 55, 183, 56, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 219, 0, 46, 94, 58, 55, 171, 56, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 43, 114, 234, 78, 255, 59, 58, 58, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 206, 0, 48, 86, 145, 54, 113, 56, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 238, 175, 26, 73, 145, 54, 113, 56, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 206, 0, 48, 86, 169, 54, 98, 56, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 45, 108, 235, 78, 236, 59, 155, 58, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 193, 0, 46, 80, 237, 53, 58, 56, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 234, 175, 27, 71, 237, 53, 58, 56, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 193, 0, 46, 80, 254, 53, 41, 56, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 45, 104, 235, 77, 198, 59, 246, 58, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 180, 0, 42, 74, 54, 53, 20, 56, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 229, 175, 28, 68, 54, 53, 20, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 180, 0, 41, 74, 65, 53, 2, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 45, 99, 235, 76, 143, 59, 73, 59, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 167, 0, 34, 67, 116, 52, 1, 56, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 226, 173, 29, 65, 116, 52, 1, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 167, 0, 34, 67, 120, 52, 221, 55, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 43, 96, 234, 74, 73, 59, 143, 59, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 151, 0, 19, 58, 93, 51, 1, 56, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 223, 170, 28, 61, 93, 51, 1, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 151, 0, 19, 58, 86, 51, 221, 55, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 40, 93, 233, 71, 247, 58, 198, 59, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 129, 0, 0, 48, 218, 49, 20, 56, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 220, 166, 25, 58, 218, 49, 20, 56, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 129, 0, 0, 48, 195, 49, 2, 56, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 36, 90, 231, 68, 155, 58, 236, 59, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 129, 21, 242, 43, 108, 48, 58, 56, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 216, 163, 24, 55, 108, 48, 58, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 129, 21, 242, 43, 72, 48, 41, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 33, 86, 228, 65, 58, 58, 255, 59, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 129, 37, 234, 39, 72, 46, 113, 56, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 213, 160, 22, 52, 72, 46, 113, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 129, 37, 233, 39, 231, 45, 98, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 30, 83, 227, 61, 215, 57, 255, 59, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 129, 50, 229, 33, 25, 44, 183, 56, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 211, 157, 21, 50, 25, 44, 183, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 129, 50, 229, 34, 71, 43, 171, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 27, 81, 228, 58, 118, 57, 236, 59, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 129, 63, 229, 27, 195, 40, 9, 57, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 211, 152, 21, 49, 195, 40, 9, 57, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 129, 63, 229, 27, 110, 39, 0, 57, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 22, 81, 229, 55, 26, 57, 198, 59, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 129, 76, 234, 18, 205, 36, 100, 57, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 211, 148, 21, 48, 205, 36, 100, 57, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 129, 76, 233, 19, 13, 33, 95, 57, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 18, 81, 230, 53, 200, 56, 143, 59, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 129, 89, 247, 6, 200, 32, 197, 57, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 213, 142, 21, 48, 200, 32, 197, 57, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 129, 89, 245, 7, 141, 6, 195, 57, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 12, 83, 230, 51, 130, 56, 73, 59, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 129, 105, 15, 6, 199, 32, 40, 58, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 216, 136, 22, 48, 199, 32, 40, 58, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 129, 105, 12, 5, 141, 6, 42, 58, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 6, 86, 231, 49, 75, 56, 246, 58 ), -"array_index_data": PoolByteArray( 24, 0, 108, 0, 22, 0, 24, 0, 112, 0, 108, 0, 57, 0, 183, 0, 59, 0, 57, 0, 179, 0, 183, 0, 6, 0, 72, 0, 4, 0, 6, 0, 76, 0, 72, 0, 39, 0, 147, 0, 41, 0, 39, 0, 143, 0, 147, 0, 58, 0, 177, 0, 56, 0, 58, 0, 181, 0, 177, 0, 21, 0, 110, 0, 23, 0, 21, 0, 106, 0, 110, 0, 40, 0, 141, 0, 38, 0, 40, 0, 145, 0, 141, 0, 3, 0, 74, 0, 5, 0, 3, 0, 68, 0, 74, 0, 22, 0, 104, 0, 20, 0, 22, 0, 108, 0, 104, 0, 55, 0, 179, 0, 57, 0, 55, 0, 175, 0, 179, 0, 4, 0, 66, 0, 2, 0, 4, 0, 72, 0, 66, 0, 37, 0, 143, 0, 39, 0, 37, 0, 139, 0, 143, 0, 56, 0, 173, 0, 54, 0, 56, 0, 177, 0, 173, 0, 19, 0, 106, 0, 21, 0, 19, 0, 102, 0, 106, 0, 38, 0, 137, 0, 36, 0, 38, 0, 141, 0, 137, 0, 20, 0, 100, 0, 18, 0, 20, 0, 104, 0, 100, 0, 53, 0, 175, 0, 55, 0, 53, 0, 171, 0, 175, 0, 1, 0, 68, 0, 3, 0, 1, 0, 71, 0, 68, 0, 35, 0, 139, 0, 37, 0, 35, 0, 135, 0, 139, 0, 54, 0, 169, 0, 52, 0, 54, 0, 173, 0, 169, 0, 2, 0, 65, 0, 0, 0, 2, 0, 66, 0, 65, 0, 17, 0, 102, 0, 19, 0, 17, 0, 98, 0, 102, 0, 36, 0, 133, 0, 34, 0, 36, 0, 137, 0, 133, 0, 18, 0, 96, 0, 16, 0, 18, 0, 100, 0, 96, 0, 51, 0, 171, 0, 53, 0, 51, 0, 167, 0, 171, 0, 33, 0, 135, 0, 35, 0, 33, 0, 131, 0, 135, 0, 52, 0, 165, 0, 50, 0, 52, 0, 169, 0, 165, 0, 15, 0, 98, 0, 17, 0, 15, 0, 94, 0, 98, 0, 34, 0, 128, 0, 32, 0, 34, 0, 133, 0, 128, 0, 16, 0, 92, 0, 14, 0, 16, 0, 96, 0, 92, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 167, 0, 51, 0, 49, 0, 163, 0, 167, 0, 31, 0, 131, 0, 33, 0, 31, 0, 126, 0, 131, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 69, 0, 70, 0, 64, 0, 67, 0, 69, 0, 67, 0, 75, 0, 69, 0, 67, 0, 73, 0, 75, 0, 73, 0, 79, 0, 75, 0, 73, 0, 77, 0, 79, 0, 77, 0, 83, 0, 79, 0, 77, 0, 81, 0, 83, 0, 81, 0, 87, 0, 83, 0, 81, 0, 85, 0, 87, 0, 85, 0, 91, 0, 87, 0, 85, 0, 89, 0, 91, 0, 89, 0, 95, 0, 91, 0, 89, 0, 93, 0, 95, 0, 93, 0, 99, 0, 95, 0, 93, 0, 97, 0, 99, 0, 97, 0, 103, 0, 99, 0, 97, 0, 101, 0, 103, 0, 101, 0, 107, 0, 103, 0, 101, 0, 105, 0, 107, 0, 105, 0, 111, 0, 107, 0, 105, 0, 109, 0, 111, 0, 109, 0, 115, 0, 111, 0, 109, 0, 113, 0, 115, 0, 113, 0, 119, 0, 115, 0, 113, 0, 117, 0, 119, 0, 117, 0, 123, 0, 119, 0, 117, 0, 121, 0, 123, 0, 121, 0, 127, 0, 123, 0, 121, 0, 125, 0, 127, 0, 125, 0, 130, 0, 127, 0, 125, 0, 129, 0, 130, 0, 129, 0, 134, 0, 130, 0, 129, 0, 132, 0, 134, 0, 132, 0, 138, 0, 134, 0, 132, 0, 136, 0, 138, 0, 136, 0, 142, 0, 138, 0, 136, 0, 140, 0, 142, 0, 140, 0, 146, 0, 142, 0, 140, 0, 144, 0, 146, 0, 144, 0, 150, 0, 146, 0, 144, 0, 148, 0, 150, 0, 148, 0, 154, 0, 150, 0, 148, 0, 152, 0, 154, 0, 152, 0, 158, 0, 154, 0, 152, 0, 156, 0, 158, 0, 156, 0, 162, 0, 158, 0, 156, 0, 160, 0, 162, 0, 160, 0, 166, 0, 162, 0, 160, 0, 164, 0, 166, 0, 164, 0, 170, 0, 166, 0, 164, 0, 168, 0, 170, 0, 168, 0, 174, 0, 170, 0, 168, 0, 172, 0, 174, 0, 172, 0, 178, 0, 174, 0, 172, 0, 176, 0, 178, 0, 176, 0, 182, 0, 178, 0, 176, 0, 180, 0, 182, 0, 180, 0, 186, 0, 182, 0, 180, 0, 184, 0, 186, 0, 184, 0, 190, 0, 186, 0, 184, 0, 188, 0, 190, 0, 188, 0, 70, 0, 190, 0, 188, 0, 64, 0, 70, 0, 5, 0, 78, 0, 7, 0, 5, 0, 74, 0, 78, 0, 42, 0, 145, 0, 40, 0, 42, 0, 149, 0, 145, 0, 23, 0, 114, 0, 25, 0, 23, 0, 110, 0, 114, 0, 60, 0, 181, 0, 58, 0, 60, 0, 185, 0, 181, 0, 41, 0, 151, 0, 43, 0, 41, 0, 147, 0, 151, 0, 8, 0, 76, 0, 6, 0, 8, 0, 80, 0, 76, 0, 59, 0, 187, 0, 61, 0, 59, 0, 183, 0, 187, 0, 26, 0, 112, 0, 24, 0, 26, 0, 116, 0, 112, 0, 7, 0, 82, 0, 9, 0, 7, 0, 78, 0, 82, 0, 44, 0, 149, 0, 42, 0, 44, 0, 153, 0, 149, 0, 25, 0, 118, 0, 27, 0, 25, 0, 114, 0, 118, 0, 62, 0, 185, 0, 60, 0, 62, 0, 189, 0, 185, 0, 43, 0, 155, 0, 45, 0, 43, 0, 151, 0, 155, 0, 10, 0, 80, 0, 8, 0, 10, 0, 84, 0, 80, 0, 61, 0, 191, 0, 63, 0, 61, 0, 187, 0, 191, 0, 28, 0, 116, 0, 26, 0, 28, 0, 120, 0, 116, 0, 9, 0, 86, 0, 11, 0, 9, 0, 82, 0, 86, 0, 46, 0, 153, 0, 44, 0, 46, 0, 157, 0, 153, 0, 27, 0, 122, 0, 29, 0, 27, 0, 118, 0, 122, 0, 0, 0, 189, 0, 62, 0, 0, 0, 65, 0, 189, 0, 45, 0, 159, 0, 47, 0, 45, 0, 155, 0, 159, 0, 12, 0, 84, 0, 10, 0, 12, 0, 88, 0, 84, 0, 63, 0, 71, 0, 1, 0, 63, 0, 191, 0, 71, 0, 30, 0, 120, 0, 28, 0, 30, 0, 124, 0, 120, 0, 11, 0, 90, 0, 13, 0, 11, 0, 86, 0, 90, 0, 48, 0, 157, 0, 46, 0, 48, 0, 161, 0, 157, 0, 29, 0, 126, 0, 31, 0, 29, 0, 122, 0, 126, 0, 47, 0, 163, 0, 49, 0, 47, 0, 159, 0, 163, 0, 14, 0, 88, 0, 12, 0, 14, 0, 92, 0, 88, 0, 32, 0, 124, 0, 30, 0, 32, 0, 128, 0, 124, 0, 13, 0, 94, 0, 15, 0, 13, 0, 90, 0, 94, 0, 50, 0, 161, 0, 48, 0, 50, 0, 165, 0, 161, 0 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.11, -0.004, -0.11, 0.22, 0.016, 0.22), +"attribute_data": PackedByteArray(92, 107, 177, 61, 58, 12, 76, 63, 42, 46, 22, 63, 10, 32, 78, 63, 253, 128, 204, 61, 20, 43, 84, 63, 59, 117, 20, 63, 8, 126, 69, 63, 213, 197, 243, 61, 168, 120, 91, 63, 204, 116, 20, 63, 104, 175, 60, 63, 22, 216, 18, 62, 115, 172, 97, 63, 45, 39, 22, 63, 30, 12, 52, 63, 213, 41, 48, 62, 127, 138, 102, 63, 25, 129, 25, 63, 12, 233, 43, 63, 124, 187, 80, 62, 60, 226, 105, 63, 31, 97, 30, 63, 116, 150, 36, 63, 47, 76, 115, 62, 35, 148, 107, 63, 208, 151, 36, 63, 242, 91, 30, 63, 221, 63, 139, 62, 0, 142, 107, 63, 114, 230, 43, 63, 121, 118, 25, 63, 170, 125, 156, 62, 123, 210, 105, 63, 181, 5, 52, 63, 50, 23, 22, 63, 138, 187, 172, 62, 219, 111, 102, 63, 177, 165, 60, 63, 34, 95, 20, 63, 220, 86, 187, 62, 82, 135, 97, 63, 224, 113, 69, 63, 124, 95, 20, 63, 156, 190, 199, 62, 23, 74, 91, 63, 107, 20, 78, 63, 2, 22, 22, 63, 221, 122, 209, 62, 186, 245, 83, 63, 149, 54, 86, 63, 186, 115, 25, 63, 134, 42, 216, 62, 96, 209, 75, 63, 118, 136, 93, 63, 176, 87, 30, 63, 122, 142, 219, 62, 70, 45, 67, 63, 4, 194, 99, 63, 202, 145, 36, 63, 97, 130, 219, 62, 122, 96, 58, 63, 181, 167, 104, 63, 200, 225, 43, 63, 39, 11, 216, 62, 176, 193, 49, 63, 24, 7, 108, 63, 190, 2, 52, 63, 189, 69, 209, 62, 214, 162, 41, 63, 34, 191, 109, 63, 228, 164, 60, 63, 135, 116, 199, 62, 66, 85, 34, 63, 255, 190, 109, 63, 118, 115, 69, 63, 243, 249, 186, 62, 120, 33, 28, 63, 29, 13, 108, 63, 217, 21, 78, 63, 20, 81, 172, 62, 108, 67, 23, 63, 140, 179, 104, 63, 18, 56, 86, 63, 65, 8, 156, 62, 174, 235, 19, 63, 238, 211, 99, 63, 32, 138, 93, 63, 230, 191, 138, 62, 199, 57, 18, 63, 180, 157, 93, 63, 31, 196, 99, 63, 68, 76, 114, 62, 235, 63, 18, 63, 125, 79, 86, 63, 160, 169, 104, 63, 168, 208, 79, 62, 112, 251, 19, 63, 172, 48, 78, 63, 19, 9, 108, 63, 232, 84, 47, 62, 16, 94, 23, 63, 12, 145, 69, 63, 120, 193, 109, 63, 72, 30, 18, 62, 152, 70, 28, 63, 14, 197, 60, 63, 152, 193, 109, 63, 137, 157, 242, 61, 210, 131, 34, 63, 208, 34, 52, 63, 247, 11, 108, 63, 126, 172, 203, 61, 48, 216, 41, 63, 197, 0, 44, 63, 20, 175, 104, 63, 213, 237, 176, 61, 138, 252, 49, 63, 255, 174, 36, 63, 227, 203, 99, 63, 15, 94, 163, 61, 164, 160, 58, 63, 83, 117, 30, 63, 202, 145, 93, 63, 122, 142, 163, 61, 113, 109, 67, 63, 122, 142, 25, 63, 40, 65, 86, 63, 136, 109, 153, 60, 105, 47, 81, 63, 136, 109, 153, 60, 105, 47, 81, 63, 15, 75, 24, 61, 113, 152, 92, 63, 15, 75, 24, 61, 113, 152, 92, 63, 99, 58, 2, 63, 63, 66, 71, 63, 229, 166, 237, 60, 210, 184, 93, 63, 47, 128, 33, 60, 187, 225, 81, 63, 57, 165, 4, 63, 193, 105, 83, 63, 137, 7, 131, 61, 208, 221, 102, 63, 137, 7, 131, 61, 208, 221, 102, 63, 139, 57, 2, 63, 161, 222, 58, 63, 245, 190, 104, 61, 43, 97, 104, 63, 107, 229, 200, 61, 134, 154, 111, 63, 107, 229, 200, 61, 134, 154, 111, 63, 224, 161, 4, 63, 70, 183, 46, 63, 144, 225, 188, 61, 0, 114, 113, 63, 127, 136, 13, 62, 50, 120, 118, 63, 127, 136, 13, 62, 50, 120, 118, 63, 56, 93, 9, 63, 187, 67, 35, 63, 41, 20, 9, 62, 176, 145, 120, 63, 24, 49, 59, 62, 175, 50, 123, 63, 24, 49, 59, 62, 175, 50, 123, 63, 135, 61, 16, 63, 52, 245, 24, 63, 81, 118, 56, 62, 125, 121, 125, 63, 197, 169, 107, 62, 209, 155, 125, 63, 197, 169, 107, 62, 209, 155, 125, 63, 242, 254, 24, 63, 58, 49, 16, 63, 27, 195, 106, 62, 115, 249, 127, 63, 221, 137, 142, 62, 76, 156, 125, 63, 221, 137, 142, 62, 76, 156, 125, 63, 107, 75, 35, 63, 58, 78, 9, 63, 212, 4, 143, 62, 107, 249, 127, 63, 224, 195, 166, 62, 152, 52, 123, 63, 224, 195, 166, 62, 152, 52, 123, 63, 122, 189, 46, 63, 93, 144, 4, 63, 127, 40, 168, 62, 6, 122, 125, 63, 8, 150, 189, 62, 102, 123, 118, 63, 8, 150, 189, 62, 102, 123, 118, 63, 30, 228, 58, 63, 38, 38, 2, 63, 196, 214, 191, 62, 225, 146, 120, 63, 233, 32, 210, 62, 59, 159, 111, 63, 233, 32, 210, 62, 59, 159, 111, 63, 182, 71, 71, 63, 234, 38, 2, 63, 151, 39, 213, 62, 64, 116, 113, 63, 132, 154, 227, 62, 148, 227, 102, 63, 132, 154, 227, 62, 148, 227, 102, 63, 43, 111, 83, 63, 138, 146, 4, 63, 109, 73, 231, 62, 20, 100, 104, 63, 10, 86, 241, 62, 52, 158, 92, 63, 10, 86, 241, 62, 52, 158, 92, 63, 28, 226, 94, 63, 217, 81, 9, 63, 2, 137, 245, 62, 78, 187, 93, 63, 53, 203, 250, 62, 26, 52, 81, 63, 53, 203, 250, 62, 26, 52, 81, 63, 79, 47, 105, 63, 246, 53, 16, 63, 206, 88, 255, 62, 208, 226, 81, 63, 158, 157, 255, 62, 246, 21, 69, 63, 158, 157, 255, 62, 246, 21, 69, 63, 93, 241, 113, 63, 32, 250, 24, 63, 112, 44, 2, 63, 163, 79, 69, 63, 160, 158, 255, 62, 126, 187, 56, 63, 160, 158, 255, 62, 126, 187, 56, 63, 237, 210, 120, 63, 118, 72, 35, 63, 112, 44, 2, 63, 2, 126, 56, 63, 37, 207, 250, 62, 130, 158, 44, 63, 37, 207, 250, 62, 130, 158, 44, 63, 249, 89, 255, 62, 48, 236, 43, 63, 189, 143, 125, 63, 121, 187, 46, 63, 154, 92, 241, 62, 122, 53, 33, 63, 154, 92, 241, 62, 122, 53, 33, 63, 142, 139, 245, 62, 25, 21, 32, 63, 114, 249, 127, 63, 38, 226, 58, 63, 27, 164, 227, 62, 28, 240, 22, 63, 27, 164, 227, 62, 28, 240, 22, 63, 30, 78, 231, 62, 192, 108, 21, 63, 114, 249, 127, 63, 184, 68, 71, 63, 162, 44, 210, 62, 100, 51, 14, 63, 162, 44, 210, 62, 100, 51, 14, 63, 153, 45, 213, 62, 236, 91, 12, 63, 236, 144, 125, 63, 199, 106, 83, 63, 192, 161, 189, 62, 185, 85, 7, 63, 192, 161, 189, 62, 185, 85, 7, 63, 235, 219, 191, 62, 59, 60, 5, 63, 224, 213, 120, 63, 0, 221, 94, 63, 115, 205, 166, 62, 60, 155, 2, 63, 115, 205, 166, 62, 60, 155, 2, 63, 215, 42, 168, 62, 110, 84, 0, 63, 65, 246, 113, 63, 118, 42, 105, 63, 27, 145, 142, 62, 24, 50, 0, 63, 27, 145, 142, 62, 24, 50, 0, 63, 113, 4, 143, 62, 240, 168, 251, 62, 217, 53, 105, 63, 182, 237, 113, 63, 66, 184, 107, 62, 158, 49, 0, 63, 66, 184, 107, 62, 158, 49, 0, 63, 85, 194, 106, 62, 254, 168, 251, 62, 114, 234, 94, 63, 132, 208, 120, 63, 61, 68, 59, 62, 82, 153, 2, 63, 61, 68, 59, 62, 82, 153, 2, 63, 255, 122, 56, 62, 228, 83, 0, 63, 105, 121, 83, 63, 147, 142, 125, 63, 236, 159, 13, 62, 132, 82, 7, 63, 236, 159, 13, 62, 132, 82, 7, 63, 117, 30, 9, 62, 8, 59, 5, 63, 181, 83, 71, 63, 82, 249, 127, 63, 82, 20, 201, 61, 175, 46, 14, 63, 82, 20, 201, 61, 175, 46, 14, 63, 153, 249, 188, 61, 169, 89, 12, 63, 235, 240, 58, 63, 115, 249, 127, 63, 230, 45, 131, 61, 86, 234, 22, 63, 230, 45, 131, 61, 86, 234, 22, 63, 119, 228, 104, 61, 214, 105, 21, 63, 7, 202, 46, 63, 18, 143, 125, 63, 142, 127, 24, 61, 182, 47, 33, 63, 142, 127, 24, 61, 182, 47, 33, 63, 185, 207, 237, 60, 156, 18, 32, 63, 54, 87, 35, 63, 32, 209, 120, 63, 69, 172, 153, 60, 208, 153, 44, 63, 69, 172, 153, 60, 208, 153, 44, 63, 149, 165, 33, 60, 26, 235, 43, 63, 179, 9, 25, 63, 59, 238, 113, 63, 184, 11, 25, 60, 244, 183, 56, 63, 184, 11, 25, 60, 244, 183, 56, 63, 119, 187, 209, 56, 71, 126, 56, 63, 172, 70, 16, 63, 29, 43, 105, 63, 117, 235, 24, 60, 109, 18, 69, 63, 117, 235, 24, 60, 109, 18, 69, 63, 50, 169, 209, 56, 233, 79, 69, 63, 132, 99, 9, 63, 44, 221, 94, 63), +"format": 4119, "index_count": 756, -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 192 -} +"index_data": PackedByteArray(24, 0, 108, 0, 22, 0, 24, 0, 112, 0, 108, 0, 57, 0, 183, 0, 59, 0, 57, 0, 179, 0, 183, 0, 6, 0, 72, 0, 4, 0, 6, 0, 76, 0, 72, 0, 39, 0, 147, 0, 41, 0, 39, 0, 143, 0, 147, 0, 58, 0, 177, 0, 56, 0, 58, 0, 181, 0, 177, 0, 21, 0, 110, 0, 23, 0, 21, 0, 106, 0, 110, 0, 40, 0, 141, 0, 38, 0, 40, 0, 145, 0, 141, 0, 3, 0, 74, 0, 5, 0, 3, 0, 68, 0, 74, 0, 22, 0, 104, 0, 20, 0, 22, 0, 108, 0, 104, 0, 55, 0, 179, 0, 57, 0, 55, 0, 175, 0, 179, 0, 4, 0, 66, 0, 2, 0, 4, 0, 72, 0, 66, 0, 37, 0, 143, 0, 39, 0, 37, 0, 139, 0, 143, 0, 56, 0, 173, 0, 54, 0, 56, 0, 177, 0, 173, 0, 19, 0, 106, 0, 21, 0, 19, 0, 102, 0, 106, 0, 38, 0, 137, 0, 36, 0, 38, 0, 141, 0, 137, 0, 20, 0, 100, 0, 18, 0, 20, 0, 104, 0, 100, 0, 53, 0, 175, 0, 55, 0, 53, 0, 171, 0, 175, 0, 1, 0, 68, 0, 3, 0, 1, 0, 71, 0, 68, 0, 35, 0, 139, 0, 37, 0, 35, 0, 135, 0, 139, 0, 54, 0, 169, 0, 52, 0, 54, 0, 173, 0, 169, 0, 2, 0, 65, 0, 0, 0, 2, 0, 66, 0, 65, 0, 17, 0, 102, 0, 19, 0, 17, 0, 98, 0, 102, 0, 36, 0, 133, 0, 34, 0, 36, 0, 137, 0, 133, 0, 18, 0, 96, 0, 16, 0, 18, 0, 100, 0, 96, 0, 51, 0, 171, 0, 53, 0, 51, 0, 167, 0, 171, 0, 33, 0, 135, 0, 35, 0, 33, 0, 131, 0, 135, 0, 52, 0, 165, 0, 50, 0, 52, 0, 169, 0, 165, 0, 15, 0, 98, 0, 17, 0, 15, 0, 94, 0, 98, 0, 34, 0, 128, 0, 32, 0, 34, 0, 133, 0, 128, 0, 16, 0, 92, 0, 14, 0, 16, 0, 96, 0, 92, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 167, 0, 51, 0, 49, 0, 163, 0, 167, 0, 31, 0, 131, 0, 33, 0, 31, 0, 126, 0, 131, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 69, 0, 70, 0, 64, 0, 67, 0, 69, 0, 67, 0, 75, 0, 69, 0, 67, 0, 73, 0, 75, 0, 73, 0, 79, 0, 75, 0, 73, 0, 77, 0, 79, 0, 77, 0, 83, 0, 79, 0, 77, 0, 81, 0, 83, 0, 81, 0, 87, 0, 83, 0, 81, 0, 85, 0, 87, 0, 85, 0, 91, 0, 87, 0, 85, 0, 89, 0, 91, 0, 89, 0, 95, 0, 91, 0, 89, 0, 93, 0, 95, 0, 93, 0, 99, 0, 95, 0, 93, 0, 97, 0, 99, 0, 97, 0, 103, 0, 99, 0, 97, 0, 101, 0, 103, 0, 101, 0, 107, 0, 103, 0, 101, 0, 105, 0, 107, 0, 105, 0, 111, 0, 107, 0, 105, 0, 109, 0, 111, 0, 109, 0, 115, 0, 111, 0, 109, 0, 113, 0, 115, 0, 113, 0, 119, 0, 115, 0, 113, 0, 117, 0, 119, 0, 117, 0, 123, 0, 119, 0, 117, 0, 121, 0, 123, 0, 121, 0, 127, 0, 123, 0, 121, 0, 125, 0, 127, 0, 125, 0, 130, 0, 127, 0, 125, 0, 129, 0, 130, 0, 129, 0, 134, 0, 130, 0, 129, 0, 132, 0, 134, 0, 132, 0, 138, 0, 134, 0, 132, 0, 136, 0, 138, 0, 136, 0, 142, 0, 138, 0, 136, 0, 140, 0, 142, 0, 140, 0, 146, 0, 142, 0, 140, 0, 144, 0, 146, 0, 144, 0, 150, 0, 146, 0, 144, 0, 148, 0, 150, 0, 148, 0, 154, 0, 150, 0, 148, 0, 152, 0, 154, 0, 152, 0, 158, 0, 154, 0, 152, 0, 156, 0, 158, 0, 156, 0, 162, 0, 158, 0, 156, 0, 160, 0, 162, 0, 160, 0, 166, 0, 162, 0, 160, 0, 164, 0, 166, 0, 164, 0, 170, 0, 166, 0, 164, 0, 168, 0, 170, 0, 168, 0, 174, 0, 170, 0, 168, 0, 172, 0, 174, 0, 172, 0, 178, 0, 174, 0, 172, 0, 176, 0, 178, 0, 176, 0, 182, 0, 178, 0, 176, 0, 180, 0, 182, 0, 180, 0, 186, 0, 182, 0, 180, 0, 184, 0, 186, 0, 184, 0, 190, 0, 186, 0, 184, 0, 188, 0, 190, 0, 188, 0, 70, 0, 190, 0, 188, 0, 64, 0, 70, 0, 5, 0, 78, 0, 7, 0, 5, 0, 74, 0, 78, 0, 42, 0, 145, 0, 40, 0, 42, 0, 149, 0, 145, 0, 23, 0, 114, 0, 25, 0, 23, 0, 110, 0, 114, 0, 60, 0, 181, 0, 58, 0, 60, 0, 185, 0, 181, 0, 41, 0, 151, 0, 43, 0, 41, 0, 147, 0, 151, 0, 8, 0, 76, 0, 6, 0, 8, 0, 80, 0, 76, 0, 59, 0, 187, 0, 61, 0, 59, 0, 183, 0, 187, 0, 26, 0, 112, 0, 24, 0, 26, 0, 116, 0, 112, 0, 7, 0, 82, 0, 9, 0, 7, 0, 78, 0, 82, 0, 44, 0, 149, 0, 42, 0, 44, 0, 153, 0, 149, 0, 25, 0, 118, 0, 27, 0, 25, 0, 114, 0, 118, 0, 62, 0, 185, 0, 60, 0, 62, 0, 189, 0, 185, 0, 43, 0, 155, 0, 45, 0, 43, 0, 151, 0, 155, 0, 10, 0, 80, 0, 8, 0, 10, 0, 84, 0, 80, 0, 61, 0, 191, 0, 63, 0, 61, 0, 187, 0, 191, 0, 28, 0, 116, 0, 26, 0, 28, 0, 120, 0, 116, 0, 9, 0, 86, 0, 11, 0, 9, 0, 82, 0, 86, 0, 46, 0, 153, 0, 44, 0, 46, 0, 157, 0, 153, 0, 27, 0, 122, 0, 29, 0, 27, 0, 118, 0, 122, 0, 0, 0, 189, 0, 62, 0, 0, 0, 65, 0, 189, 0, 45, 0, 159, 0, 47, 0, 45, 0, 155, 0, 159, 0, 12, 0, 84, 0, 10, 0, 12, 0, 88, 0, 84, 0, 63, 0, 71, 0, 1, 0, 63, 0, 191, 0, 71, 0, 30, 0, 120, 0, 28, 0, 30, 0, 124, 0, 120, 0, 11, 0, 90, 0, 13, 0, 11, 0, 86, 0, 90, 0, 48, 0, 157, 0, 46, 0, 48, 0, 161, 0, 157, 0, 29, 0, 126, 0, 31, 0, 29, 0, 122, 0, 126, 0, 47, 0, 163, 0, 49, 0, 47, 0, 159, 0, 163, 0, 14, 0, 88, 0, 12, 0, 14, 0, 92, 0, 88, 0, 32, 0, 124, 0, 30, 0, 32, 0, 128, 0, 124, 0, 13, 0, 94, 0, 15, 0, 13, 0, 90, 0, 94, 0, 50, 0, 161, 0, 48, 0, 50, 0, 165, 0, 161, 0), +"lods": [0.00958653, PackedByteArray(78, 0, 68, 0, 74, 0, 78, 0, 71, 0, 68, 0, 78, 0, 82, 0, 86, 0, 78, 0, 86, 0, 90, 0, 78, 0, 90, 0, 94, 0, 78, 0, 94, 0, 98, 0, 179, 0, 71, 0, 78, 0, 179, 0, 191, 0, 71, 0, 179, 0, 187, 0, 191, 0, 179, 0, 183, 0, 187, 0, 78, 0, 98, 0, 110, 0, 110, 0, 98, 0, 102, 0, 110, 0, 102, 0, 106, 0, 179, 0, 171, 0, 175, 0, 179, 0, 167, 0, 171, 0, 179, 0, 163, 0, 167, 0, 78, 0, 147, 0, 179, 0, 147, 0, 163, 0, 179, 0, 147, 0, 78, 0, 110, 0, 147, 0, 159, 0, 163, 0, 147, 0, 155, 0, 159, 0, 147, 0, 151, 0, 155, 0, 147, 0, 139, 0, 143, 0, 147, 0, 135, 0, 139, 0, 147, 0, 131, 0, 135, 0, 110, 0, 131, 0, 147, 0, 110, 0, 126, 0, 131, 0, 110, 0, 122, 0, 126, 0, 110, 0, 118, 0, 122, 0, 110, 0, 114, 0, 118, 0, 80, 0, 66, 0, 177, 0, 177, 0, 66, 0, 189, 0, 80, 0, 76, 0, 66, 0, 80, 0, 92, 0, 88, 0, 80, 0, 100, 0, 92, 0, 112, 0, 100, 0, 80, 0, 177, 0, 112, 0, 80, 0, 112, 0, 108, 0, 100, 0, 177, 0, 173, 0, 165, 0, 177, 0, 165, 0, 145, 0, 112, 0, 177, 0, 145, 0, 145, 0, 165, 0, 161, 0, 145, 0, 161, 0, 157, 0, 145, 0, 133, 0, 112, 0, 112, 0, 133, 0, 124, 0, 145, 0, 141, 0, 133, 0, 67, 0, 69, 0, 70, 0, 67, 0, 75, 0, 69, 0, 188, 0, 67, 0, 70, 0, 67, 0, 77, 0, 75, 0, 188, 0, 70, 0, 190, 0, 77, 0, 79, 0, 75, 0, 188, 0, 190, 0, 186, 0, 77, 0, 83, 0, 79, 0, 176, 0, 188, 0, 186, 0, 77, 0, 81, 0, 83, 0, 176, 0, 186, 0, 182, 0, 81, 0, 87, 0, 83, 0, 176, 0, 182, 0, 178, 0, 81, 0, 91, 0, 87, 0, 172, 0, 176, 0, 178, 0, 81, 0, 89, 0, 91, 0, 172, 0, 178, 0, 174, 0, 89, 0, 95, 0, 91, 0, 172, 0, 174, 0, 170, 0, 89, 0, 93, 0, 95, 0, 164, 0, 172, 0, 170, 0, 93, 0, 99, 0, 95, 0, 164, 0, 170, 0, 166, 0, 93, 0, 101, 0, 99, 0, 160, 0, 164, 0, 166, 0, 101, 0, 103, 0, 99, 0, 160, 0, 166, 0, 162, 0, 101, 0, 107, 0, 103, 0, 156, 0, 160, 0, 162, 0, 101, 0, 109, 0, 107, 0, 156, 0, 162, 0, 158, 0, 109, 0, 111, 0, 107, 0, 156, 0, 158, 0, 154, 0, 109, 0, 115, 0, 111, 0, 144, 0, 156, 0, 154, 0, 109, 0, 113, 0, 115, 0, 144, 0, 154, 0, 150, 0, 113, 0, 119, 0, 115, 0, 144, 0, 150, 0, 146, 0, 113, 0, 123, 0, 119, 0, 140, 0, 144, 0, 146, 0, 113, 0, 125, 0, 123, 0, 140, 0, 146, 0, 142, 0, 125, 0, 127, 0, 123, 0, 140, 0, 142, 0, 138, 0, 125, 0, 130, 0, 127, 0, 132, 0, 140, 0, 138, 0, 125, 0, 132, 0, 130, 0, 132, 0, 138, 0, 134, 0, 132, 0, 134, 0, 130, 0), 0.0182738, PackedByteArray(147, 0, 135, 0, 143, 0, 110, 0, 135, 0, 147, 0, 110, 0, 126, 0, 135, 0, 110, 0, 118, 0, 126, 0, 147, 0, 78, 0, 110, 0, 78, 0, 102, 0, 110, 0, 78, 0, 94, 0, 102, 0, 78, 0, 86, 0, 94, 0, 78, 0, 147, 0, 179, 0, 179, 0, 71, 0, 78, 0, 179, 0, 191, 0, 71, 0, 147, 0, 167, 0, 179, 0, 179, 0, 167, 0, 175, 0, 147, 0, 159, 0, 167, 0, 165, 0, 66, 0, 65, 0, 165, 0, 65, 0, 189, 0, 66, 0, 96, 0, 88, 0, 66, 0, 104, 0, 96, 0, 165, 0, 104, 0, 66, 0, 104, 0, 165, 0, 133, 0, 133, 0, 165, 0, 157, 0, 104, 0, 133, 0, 124, 0, 64, 0, 67, 0, 70, 0, 188, 0, 64, 0, 70, 0, 67, 0, 79, 0, 70, 0, 188, 0, 70, 0, 190, 0, 67, 0, 87, 0, 79, 0, 67, 0, 95, 0, 87, 0, 67, 0, 89, 0, 95, 0, 89, 0, 97, 0, 95, 0, 97, 0, 103, 0, 95, 0, 164, 0, 188, 0, 190, 0, 164, 0, 190, 0, 178, 0, 164, 0, 178, 0, 174, 0, 164, 0, 174, 0, 166, 0, 156, 0, 164, 0, 166, 0, 156, 0, 166, 0, 158, 0, 97, 0, 105, 0, 103, 0, 105, 0, 111, 0, 103, 0, 105, 0, 119, 0, 111, 0, 105, 0, 127, 0, 119, 0, 105, 0, 125, 0, 127, 0, 125, 0, 134, 0, 127, 0, 132, 0, 156, 0, 158, 0, 125, 0, 132, 0, 134, 0, 132, 0, 158, 0, 146, 0, 132, 0, 142, 0, 134, 0, 132, 0, 146, 0, 142, 0), 0.0249856, PackedByteArray(137, 0, 104, 0, 66, 0, 165, 0, 137, 0, 66, 0, 78, 0, 147, 0, 179, 0, 147, 0, 78, 0, 110, 0, 67, 0, 79, 0, 178, 0, 67, 0, 105, 0, 79, 0, 164, 0, 67, 0, 178, 0, 105, 0, 111, 0, 79, 0, 164, 0, 178, 0, 146, 0, 105, 0, 136, 0, 111, 0, 136, 0, 164, 0, 146, 0, 136, 0, 146, 0, 111, 0), 0.0341249, PackedByteArray(137, 0, 104, 0, 66, 0, 66, 0, 104, 0, 88, 0, 157, 0, 137, 0, 66, 0, 78, 0, 102, 0, 110, 0, 110, 0, 126, 0, 143, 0, 110, 0, 143, 0, 147, 0, 147, 0, 78, 0, 110, 0, 78, 0, 147, 0, 179, 0, 147, 0, 175, 0, 179, 0, 179, 0, 191, 0, 78, 0, 67, 0, 79, 0, 190, 0, 67, 0, 103, 0, 79, 0, 67, 0, 89, 0, 103, 0, 89, 0, 105, 0, 103, 0, 105, 0, 111, 0, 103, 0, 156, 0, 67, 0, 190, 0, 156, 0, 190, 0, 178, 0, 156, 0, 178, 0, 174, 0, 156, 0, 174, 0, 146, 0, 105, 0, 136, 0, 111, 0, 136, 0, 156, 0, 146, 0, 136, 0, 127, 0, 111, 0, 136, 0, 146, 0, 142, 0, 136, 0, 142, 0, 127, 0)], +"material": SubResource("StandardMaterial3D_3anyq"), +"primitive": 3, +"vertex_count": 192, +"vertex_data": PackedByteArray(0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 189, 149, 0, 0, 16, 154, 87, 183, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 255, 127, 65, 234, 148, 101, 94, 183, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 210, 152, 30, 4, 227, 154, 254, 183, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 225, 123, 44, 231, 61, 102, 6, 183, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 255, 154, 232, 7, 172, 155, 239, 184, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 23, 120, 255, 228, 230, 102, 253, 182, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 75, 156, 85, 11, 78, 156, 32, 186, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 170, 116, 179, 227, 73, 103, 73, 183, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 185, 156, 92, 14, 233, 156, 144, 187, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 162, 113, 69, 227, 99, 103, 232, 183, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 75, 156, 246, 16, 95, 157, 53, 189, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 9, 111, 179, 227, 36, 103, 213, 184, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 255, 154, 23, 19, 200, 157, 10, 191, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 232, 108, 255, 228, 145, 102, 11, 186, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 210, 152, 180, 20, 47, 157, 254, 192, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 75, 107, 44, 231, 166, 101, 129, 187, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 189, 149, 189, 21, 191, 155, 214, 194, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 65, 106, 65, 234, 111, 100, 45, 189, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 179, 148, 210, 24, 142, 154, 129, 196, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 44, 103, 74, 235, 1, 99, 6, 191, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 22, 147, 255, 26, 165, 153, 246, 197, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 255, 100, 231, 236, 90, 98, 248, 192, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 245, 144, 75, 28, 251, 152, 41, 199, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 179, 99, 8, 239, 164, 98, 202, 194, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 92, 142, 185, 28, 164, 152, 22, 200, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 69, 99, 162, 241, 10, 99, 109, 196, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 84, 139, 75, 28, 179, 152, 180, 200, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 179, 99, 169, 244, 140, 99, 218, 197, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 231, 135, 255, 26, 27, 153, 0, 201, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 255, 100, 22, 248, 47, 100, 11, 199, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 29, 132, 210, 24, 128, 153, 252, 200, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 44, 103, 224, 251, 215, 100, 248, 199, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 255, 127, 189, 21, 16, 154, 167, 200, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 189, 149, 255, 255, 148, 101, 159, 200, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 225, 123, 210, 24, 227, 154, 255, 199, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 210, 152, 224, 251, 67, 102, 248, 200, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 23, 120, 255, 26, 173, 155, 15, 199, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 255, 154, 22, 248, 231, 102, 0, 201, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 170, 116, 75, 28, 78, 156, 222, 197, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 75, 156, 169, 244, 74, 103, 180, 200, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 162, 113, 185, 28, 233, 156, 110, 196, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 185, 156, 162, 241, 98, 103, 22, 200, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 9, 111, 75, 28, 95, 157, 201, 194, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 75, 156, 8, 239, 37, 103, 40, 199, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 232, 108, 255, 26, 200, 157, 243, 192, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 255, 154, 231, 236, 142, 102, 243, 197, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 75, 107, 210, 24, 47, 157, 0, 191, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 210, 152, 74, 235, 163, 101, 125, 196, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 65, 106, 189, 21, 191, 155, 40, 189, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 189, 149, 65, 234, 107, 100, 209, 194, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 44, 103, 180, 20, 142, 154, 124, 187, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 179, 148, 44, 231, 253, 98, 248, 192, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 255, 100, 23, 19, 165, 153, 8, 186, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 22, 147, 255, 228, 86, 98, 6, 191, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 179, 99, 246, 16, 251, 152, 212, 184, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 245, 144, 179, 227, 156, 98, 53, 189, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 69, 99, 92, 14, 164, 152, 232, 183, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 92, 142, 69, 227, 2, 99, 146, 187, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 179, 99, 85, 11, 179, 152, 73, 183, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 84, 139, 179, 227, 126, 99, 38, 186, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 255, 100, 232, 7, 27, 153, 253, 182, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 231, 135, 255, 228, 40, 100, 243, 184, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 44, 103, 30, 4, 128, 153, 2, 183, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 29, 132, 44, 231, 220, 100, 4, 184, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 255, 255, 255, 255, 76, 159, 166, 143, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 145, 164, 0, 0, 163, 151, 22, 177, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 241, 168, 203, 6, 169, 152, 33, 178, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 255, 255, 194, 234, 97, 170, 103, 153, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 52, 121, 13, 215, 211, 104, 148, 176, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 255, 255, 194, 234, 52, 169, 178, 152, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 255, 255, 255, 255, 127, 157, 191, 142, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 255, 127, 108, 219, 214, 103, 41, 177, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 238, 171, 222, 12, 180, 153, 161, 179, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 255, 255, 129, 218, 181, 175, 188, 161, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 33, 115, 15, 212, 163, 105, 126, 176, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 255, 255, 129, 218, 252, 174, 57, 161, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 172, 173, 75, 18, 181, 154, 149, 181, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 255, 255, 186, 204, 214, 176, 188, 168, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 180, 109, 82, 210, 44, 106, 237, 176, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 255, 255, 186, 204, 109, 176, 100, 168, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 62, 174, 31, 23, 165, 155, 251, 183, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 255, 255, 255, 191, 225, 174, 225, 174, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 224, 104, 192, 209, 86, 106, 226, 177, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 255, 255, 255, 191, 170, 174, 170, 174, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 172, 173, 97, 27, 131, 156, 213, 186, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 255, 255, 68, 179, 84, 170, 215, 180, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 158, 100, 82, 210, 10, 106, 94, 179, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 255, 255, 68, 179, 62, 170, 187, 180, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 238, 171, 16, 31, 90, 157, 39, 190, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 255, 255, 124, 165, 247, 162, 178, 187, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 238, 96, 15, 212, 54, 105, 92, 181, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 255, 255, 124, 165, 242, 162, 169, 187, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 241, 168, 38, 34, 122, 156, 216, 193, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 255, 255, 59, 149, 155, 147, 229, 196, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 216, 93, 13, 215, 214, 103, 215, 183, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 255, 255, 59, 149, 155, 147, 229, 196, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 145, 164, 146, 36, 38, 154, 58, 197, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 255, 255, 255, 127, 255, 127, 176, 206, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 109, 91, 108, 219, 240, 101, 201, 186, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 255, 255, 255, 127, 255, 127, 166, 206, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 38, 162, 241, 40, 64, 152, 42, 200, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 194, 234, 255, 127, 83, 113, 200, 211, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 13, 87, 216, 221, 146, 99, 41, 190, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 194, 234, 255, 127, 74, 113, 171, 211, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 16, 159, 239, 43, 211, 150, 162, 202, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 129, 218, 255, 127, 223, 104, 133, 216, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 16, 84, 238, 224, 160, 98, 214, 193, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 129, 218, 255, 127, 189, 104, 75, 216, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 96, 155, 172, 45, 232, 149, 159, 204, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 186, 204, 255, 127, 167, 100, 220, 221, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 82, 82, 157, 228, 85, 99, 32, 197, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 186, 204, 255, 127, 89, 100, 123, 221, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 30, 151, 62, 46, 127, 149, 27, 206, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 255, 191, 255, 127, 143, 100, 142, 228, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 192, 81, 223, 232, 21, 100, 244, 199, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 255, 191, 255, 127, 243, 99, 243, 227, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 74, 146, 172, 45, 137, 149, 19, 207, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 68, 179, 255, 127, 194, 105, 114, 237, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 82, 82, 179, 237, 231, 100, 84, 202, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 68, 179, 255, 127, 158, 104, 126, 236, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 221, 140, 239, 43, 246, 149, 135, 207, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 124, 165, 255, 127, 234, 118, 146, 249, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 16, 84, 32, 243, 208, 101, 69, 204, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 124, 165, 255, 127, 209, 116, 23, 248, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 202, 134, 241, 40, 179, 150, 119, 207, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 59, 149, 255, 127, 64, 143, 162, 249, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 13, 87, 51, 249, 209, 102, 198, 205, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 59, 149, 255, 127, 118, 140, 204, 250, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 255, 127, 146, 36, 163, 151, 231, 206, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 255, 127, 255, 127, 76, 159, 88, 240, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 255, 127, 255, 127, 127, 157, 63, 241, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 145, 164, 255, 255, 222, 103, 213, 206, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 195, 106, 255, 127, 97, 170, 150, 230, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 52, 121, 241, 40, 169, 152, 221, 205, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 195, 106, 255, 127, 52, 169, 75, 231, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 241, 168, 51, 249, 217, 104, 106, 207, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 130, 90, 255, 127, 181, 175, 66, 222, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 33, 115, 239, 43, 180, 153, 92, 204, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 130, 90, 255, 127, 252, 174, 196, 222, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 238, 171, 32, 243, 166, 105, 128, 207, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 186, 76, 255, 127, 214, 176, 66, 215, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 180, 109, 172, 45, 181, 154, 104, 202, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 186, 76, 255, 127, 108, 176, 154, 215, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 172, 173, 179, 237, 47, 106, 17, 207, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 255, 63, 255, 127, 225, 174, 29, 209, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 224, 104, 62, 46, 165, 155, 3, 200, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 255, 63, 255, 127, 170, 174, 83, 209, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 62, 174, 223, 232, 88, 106, 27, 206, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 68, 51, 255, 127, 84, 170, 38, 203, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 158, 100, 172, 45, 131, 156, 41, 197, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 68, 51, 255, 127, 62, 170, 67, 203, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 172, 173, 157, 228, 11, 106, 159, 204, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 125, 37, 255, 127, 247, 162, 76, 196, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 238, 96, 239, 43, 90, 157, 215, 193, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 125, 37, 255, 127, 242, 162, 85, 196, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 238, 171, 238, 224, 54, 105, 161, 202, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 60, 21, 255, 127, 155, 147, 24, 187, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 216, 93, 241, 40, 122, 156, 38, 190, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 60, 21, 255, 127, 155, 147, 25, 187, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 241, 168, 216, 221, 212, 103, 39, 200, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 77, 177, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 109, 91, 146, 36, 38, 154, 196, 186, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 87, 177, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 145, 164, 108, 219, 237, 101, 54, 197, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 0, 0, 59, 149, 83, 113, 53, 172, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 13, 87, 38, 34, 64, 152, 212, 183, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 0, 0, 59, 149, 74, 113, 83, 172, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 38, 162, 13, 215, 142, 99, 213, 193, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 0, 0, 124, 165, 223, 104, 121, 167, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 16, 84, 16, 31, 211, 150, 91, 181, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 0, 0, 124, 165, 189, 104, 178, 167, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 16, 159, 15, 212, 153, 98, 41, 190, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 0, 0, 68, 179, 167, 100, 33, 162, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 82, 82, 97, 27, 232, 149, 95, 179, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 0, 0, 68, 179, 89, 100, 131, 162, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 96, 155, 82, 210, 78, 99, 223, 186, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 0, 0, 255, 191, 143, 100, 111, 155, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 192, 81, 31, 23, 127, 149, 226, 177, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 0, 0, 255, 191, 243, 99, 11, 156, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 30, 151, 192, 209, 14, 100, 12, 184, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 0, 0, 186, 204, 194, 105, 139, 146, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 82, 82, 75, 18, 137, 149, 234, 176, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 0, 0, 186, 204, 158, 104, 127, 147, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 74, 146, 82, 210, 224, 100, 171, 181, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 0, 0, 129, 218, 234, 118, 107, 134, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 16, 84, 222, 12, 246, 149, 118, 176, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 0, 0, 129, 218, 209, 116, 231, 135, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 221, 140, 15, 212, 202, 101, 186, 179, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 0, 0, 194, 234, 64, 143, 91, 134, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 13, 87, 203, 6, 179, 150, 134, 176, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 0, 0, 194, 234, 118, 140, 50, 133, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 202, 134, 13, 215, 202, 102, 56, 178) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_eeav4") -[sub_resource type="ConvexPolygonShape" id=2] -margin = 0.002 -points = PoolVector3Array( 0.11, 0.012, -7.45058e-09, 0.107868, 0.012, 0.0214487, 0.11, 0.00799843, -7.45058e-09, 0.107868, 0.012, -0.0214702, 0.107868, 0.00799843, 0.0214487, 0.101623, 0.012, 0.0420791, 0.0784514, -0.004, 0.0155912, 0.0799804, -0.004, -7.45058e-09, 0.0784514, -0.004, -0.0156128, 0.107868, 0.00799843, -0.0214702, 0.101623, 0.012, -0.0421006, 0.101623, 0.00799843, 0.0420791, 0.0914585, 0.012, 0.0610944, 0.0739076, -0.004, 0.030601, 0.0739076, -0.004, -0.0306226, 0.101623, 0.00799843, -0.0421006, 0.0914585, 0.012, -0.0611159, 0.0914585, 0.00799843, 0.0610944, 0.0777623, 0.012, 0.0777623, 0.0664996, -0.004, 0.0444264, 0.0664996, -0.004, -0.0444479, 0.0914585, 0.00799843, -0.0611159, 0.0777623, 0.012, -0.0777839, 0.0565505, -0.004, 0.0565505, 0.0777623, 0.00799843, 0.0777623, 0.0610944, 0.012, 0.0914585, 0.0565505, -0.004, -0.056572, 0.0777623, 0.00799843, -0.0777839, 0.0610944, 0.012, -0.09148, 0.0610944, 0.00799843, 0.0914585, 0.0444264, -0.004, 0.0664996, 0.0420791, 0.012, 0.101623, 0.0444264, -0.004, -0.0665211, 0.0610944, 0.00799843, -0.09148, 0.0420791, 0.012, -0.101644, 0.0420791, 0.00799843, 0.101623, 0.030601, -0.004, 0.0739076, 0.0214487, 0.012, 0.107868, 0.030601, -0.004, -0.0739291, 0.0420791, 0.00799843, -0.101644, 0.0214487, 0.012, -0.10789, 0.0214487, 0.00799843, 0.107868, 0.0155912, -0.004, 0.0784514, -7.45058e-09, 0.012, 0.11, 0.0155912, -0.004, -0.078473, 0.0214487, 0.00799843, -0.10789, -7.45058e-09, 0.012, -0.11, -7.45058e-09, 0.00799843, 0.11, -7.45058e-09, -0.004, 0.0799804, -0.0214702, 0.012, 0.107868, -7.45058e-09, -0.004, -0.080002, -7.45058e-09, 0.00799843, -0.11, -0.0214702, 0.012, -0.10789, -0.0214702, 0.00799843, 0.107868, -0.0156128, -0.004, 0.0784514, -0.0421006, 0.012, 0.101623, -0.0156128, -0.004, -0.078473, -0.0214702, 0.00799843, -0.10789, -0.0421006, 0.012, -0.101644, -0.0421006, 0.00799843, 0.101623, -0.0306226, -0.004, 0.0739076, -0.0611159, 0.012, 0.0914585, -0.0306226, -0.004, -0.0739291, -0.0421006, 0.00799843, -0.101644, -0.0611159, 0.012, -0.09148, -0.0611159, 0.00799843, 0.0914585, -0.0444479, -0.004, 0.0664996, -0.0777839, 0.012, 0.0777623, -0.0444479, -0.004, -0.0665211, -0.0611159, 0.00799843, -0.09148, -0.0777839, 0.012, -0.0777839, -0.0777839, 0.00799843, 0.0777623, -0.056572, -0.004, 0.0565505, -0.09148, 0.012, 0.0610944, -0.056572, -0.004, -0.056572, -0.0777839, 0.00799843, -0.0777839, -0.09148, 0.012, -0.0611159, -0.09148, 0.00799843, 0.0610944, -0.0665211, -0.004, 0.0444264, -0.101644, 0.012, 0.0420791, -0.0665211, -0.004, -0.0444479, -0.09148, 0.00799843, -0.0611159, -0.101644, 0.012, -0.0421006, -0.101644, 0.00799843, 0.0420791, -0.0739291, -0.004, 0.030601, -0.10789, 0.012, 0.0214487, -0.0739291, -0.004, -0.0306226, -0.101644, 0.00799843, -0.0421006, -0.10789, 0.012, -0.0214702, -0.10789, 0.00799843, 0.0214487, -0.078473, -0.004, 0.0155912, -0.11, 0.012, -7.45058e-09, -0.078473, -0.004, -0.0156128, -0.10789, 0.00799843, -0.0214702, -0.11, 0.00799843, -7.45058e-09, -0.080002, -0.004, -7.45058e-09 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_v45tx"] +points = PackedVector3Array(0.11, 0.012, -7.45058e-09, 0.107868, 0.012, 0.0214487, 0.11, 0.00799843, -7.45058e-09, 0.107868, 0.012, -0.0214702, 0.107868, 0.00799843, 0.0214487, 0.101623, 0.012, 0.0420791, 0.0784514, -0.004, 0.0155912, 0.0799804, -0.004, -7.45058e-09, 0.0784514, -0.004, -0.0156128, 0.107868, 0.00799843, -0.0214702, 0.101623, 0.012, -0.0421006, 0.101623, 0.00799843, 0.0420791, 0.0914585, 0.012, 0.0610944, 0.0739076, -0.004, 0.030601, 0.0739076, -0.004, -0.0306226, 0.101623, 0.00799843, -0.0421006, 0.0914585, 0.012, -0.0611159, 0.0914585, 0.00799843, 0.0610944, 0.0777623, 0.012, 0.0777623, 0.0664996, -0.004, 0.0444264, 0.0664996, -0.004, -0.0444479, 0.0914585, 0.00799843, -0.0611159, 0.0777623, 0.012, -0.0777839, 0.0565505, -0.004, 0.0565505, 0.0777623, 0.00799843, 0.0777623, 0.0610944, 0.012, 0.0914585, 0.0565505, -0.004, -0.056572, 0.0777623, 0.00799843, -0.0777839, 0.0610944, 0.012, -0.09148, 0.0610944, 0.00799843, 0.0914585, 0.0444264, -0.004, 0.0664996, 0.0420791, 0.012, 0.101623, 0.0444264, -0.004, -0.0665211, 0.0610944, 0.00799843, -0.09148, 0.0420791, 0.012, -0.101644, 0.0420791, 0.00799843, 0.101623, 0.030601, -0.004, 0.0739076, 0.0214487, 0.012, 0.107868, 0.030601, -0.004, -0.0739291, 0.0420791, 0.00799843, -0.101644, 0.0214487, 0.012, -0.10789, 0.0214487, 0.00799843, 0.107868, 0.0155912, -0.004, 0.0784514, -7.45058e-09, 0.012, 0.11, 0.0155912, -0.004, -0.078473, 0.0214487, 0.00799843, -0.10789, -7.45058e-09, 0.012, -0.11, -7.45058e-09, 0.00799843, 0.11, -7.45058e-09, -0.004, 0.0799804, -0.0214702, 0.012, 0.107868, -7.45058e-09, -0.004, -0.080002, -7.45058e-09, 0.00799843, -0.11, -0.0214702, 0.012, -0.10789, -0.0214702, 0.00799843, 0.107868, -0.0156128, -0.004, 0.0784514, -0.0421006, 0.012, 0.101623, -0.0156128, -0.004, -0.078473, -0.0214702, 0.00799843, -0.10789, -0.0421006, 0.012, -0.101644, -0.0421006, 0.00799843, 0.101623, -0.0306226, -0.004, 0.0739076, -0.0611159, 0.012, 0.0914585, -0.0306226, -0.004, -0.0739291, -0.0421006, 0.00799843, -0.101644, -0.0611159, 0.012, -0.09148, -0.0611159, 0.00799843, 0.0914585, -0.0444479, -0.004, 0.0664996, -0.0777839, 0.012, 0.0777623, -0.0444479, -0.004, -0.0665211, -0.0611159, 0.00799843, -0.09148, -0.0777839, 0.012, -0.0777839, -0.0777839, 0.00799843, 0.0777623, -0.056572, -0.004, 0.0565505, -0.09148, 0.012, 0.0610944, -0.056572, -0.004, -0.056572, -0.0777839, 0.00799843, -0.0777839, -0.09148, 0.012, -0.0611159, -0.09148, 0.00799843, 0.0610944, -0.0665211, -0.004, 0.0444264, -0.101644, 0.012, 0.0420791, -0.0665211, -0.004, -0.0444479, -0.09148, 0.00799843, -0.0611159, -0.101644, 0.012, -0.0421006, -0.101644, 0.00799843, 0.0420791, -0.0739291, -0.004, 0.030601, -0.10789, 0.012, 0.0214487, -0.0739291, -0.004, -0.0306226, -0.101644, 0.00799843, -0.0421006, -0.10789, 0.012, -0.0214702, -0.10789, 0.00799843, 0.0214487, -0.078473, -0.004, 0.0155912, -0.11, 0.012, -7.45058e-09, -0.078473, -0.004, -0.0156128, -0.10789, 0.00799843, -0.0214702, -0.11, 0.00799843, -7.45058e-09, -0.080002, -0.004, -7.45058e-09) -[node name="Saucer" type="StaticBody"] +[node name="Saucer" type="StaticBody3D"] collision_mask = 0 -[node name="Saucer" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) +[node name="Saucer" type="MeshInstance3D" parent="."] +gi_mode = 0 +mesh = SubResource("ArrayMesh_le8dc") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("1_ycnf3") -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 2 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("ConvexPolygonShape3D_v45tx") -[node name="SnapZoneTeacup" parent="." instance=ExtResource( 1 )] +[node name="SnapZoneTeacup" parent="." instance=ExtResource("1")] snap_mode = 1 snap_require = "Teacup" diff --git a/scenes/pickable_demo/objects/snap_toy_red.tscn b/scenes/pickable_demo/objects/snap_toy_red.tscn index 2ae30f53..3f1ad2b1 100644 --- a/scenes/pickable_demo/objects/snap_toy_red.tscn +++ b/scenes/pickable_demo/objects/snap_toy_red.tscn @@ -1,31 +1,34 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=6 format=3 uid="uid://cf024hg5alcif"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"] -[sub_resource type="ConvexPolygonShape" id=17] +[sub_resource type="ConvexPolygonShape3D" id="17"] margin = 0.01 -points = PoolVector3Array( -6.78003e-06, -0.04, 0.04, -6.78003e-06, 0.04, 0, -0.034641, -0.04, 0.02, 0.0346342, -0.04, 0.02, 0.0346342, -0.04, -0.0200078, -6.78003e-06, -0.04, -0.04, -0.034641, -0.04, -0.02 ) +points = PackedVector3Array(-6.78003e-06, -0.04, 0.04, -6.78003e-06, 0.04, 0, -0.034641, -0.04, 0.02, 0.0346342, -0.04, 0.02, 0.0346342, -0.04, -0.0200078, -6.78003e-06, -0.04, -0.04, -0.034641, -0.04, -0.02) -[sub_resource type="CylinderMesh" id=1] +[sub_resource type="CylinderMesh" id="1"] top_radius = 0.0 bottom_radius = 0.04 height = 0.08 radial_segments = 6 rings = 0 -[sub_resource type="SpatialMaterial" id=2] -albedo_color = Color( 1, 0, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_byqew"] +albedo_color = Color(1, 0, 0, 1) -[node name="SnapToyRed" groups=["SnapToy", "SnapToyRed"] instance=ExtResource( 1 )] +[node name="SnapToyRed" groups=["SnapToy", "SnapToyRed"] instance=ExtResource("1")] +collision_layer = 4 collision_mask = 65543 +reset_transform_on_pickup = false +picked_up_layer = 65536 ranged_grab_method = 0 -[node name="CollisionShape" parent="." index="0"] -shape = SubResource( 17 ) +[node name="CollisionShape3D" parent="." index="1"] +shape = SubResource("17") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -mesh = SubResource( 1 ) -material/0 = SubResource( 2 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="2"] +mesh = SubResource("1") +surface_material_override/0 = SubResource("StandardMaterial3D_byqew") -[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )] +[node name="HighlightRing" parent="." index="3" instance=ExtResource("2")] diff --git a/scenes/pickable_demo/objects/snap_toy_yellow.tscn b/scenes/pickable_demo/objects/snap_toy_yellow.tscn index d4027065..c159fbc6 100644 --- a/scenes/pickable_demo/objects/snap_toy_yellow.tscn +++ b/scenes/pickable_demo/objects/snap_toy_yellow.tscn @@ -1,33 +1,34 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=6 format=3 uid="uid://cboxrvj4xdi6f"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"] -[sub_resource type="ConvexPolygonShape" id=20] +[sub_resource type="ConvexPolygonShape3D" id="20"] margin = 0.01 -points = PoolVector3Array( -0.0285317, -0.04, 0.00926607, -0.017634, -0.04, -0.0242705, -5.58421e-06, -0.04, 0.0299947, -0.0285317, 0.04, 0.00926607, -0.017634, 0.04, -0.0242705, 0.0176284, -0.04, -0.0242705, 0.0285261, -0.04, 0.00926607, -5.58421e-06, 0.04, 0.0299947, 0.0176284, 0.04, -0.0242705, 0.0285261, 0.04, 0.00926607 ) +points = PackedVector3Array(-0.0285317, -0.04, 0.00926607, -0.017634, -0.04, -0.0242705, -5.58421e-06, -0.04, 0.0299947, -0.0285317, 0.04, 0.00926607, -0.017634, 0.04, -0.0242705, 0.0176284, -0.04, -0.0242705, 0.0285261, -0.04, 0.00926607, -5.58421e-06, 0.04, 0.0299947, 0.0176284, 0.04, -0.0242705, 0.0285261, 0.04, 0.00926607) -[sub_resource type="CylinderMesh" id=21] +[sub_resource type="CylinderMesh" id="21"] top_radius = 0.03 bottom_radius = 0.03 height = 0.08 radial_segments = 5 rings = 0 -[sub_resource type="SpatialMaterial" id=22] -albedo_color = Color( 1, 1, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xkmnl"] +albedo_color = Color(1, 1, 0, 1) -[node name="SnapToyYellow" groups=["SnapToy", "SnapToyYellow"] instance=ExtResource( 1 )] +[node name="SnapToyYellow" groups=["SnapToy", "SnapToyYellow"] instance=ExtResource("1")] collision_layer = 4 collision_mask = 65543 +reset_transform_on_pickup = false picked_up_layer = 65536 ranged_grab_method = 0 -[node name="CollisionShape" parent="." index="0"] -shape = SubResource( 20 ) +[node name="CollisionShape3D" parent="." index="1"] +shape = SubResource("20") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -mesh = SubResource( 21 ) -material/0 = SubResource( 22 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="2"] +mesh = SubResource("21") +surface_material_override/0 = SubResource("StandardMaterial3D_xkmnl") -[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )] +[node name="HighlightRing" parent="." index="3" instance=ExtResource("2")] diff --git a/scenes/pickable_demo/objects/snap_tray.gd b/scenes/pickable_demo/objects/snap_tray.gd index 5e20581d..2d452e8f 100644 --- a/scenes/pickable_demo/objects/snap_tray.gd +++ b/scenes/pickable_demo/objects/snap_tray.gd @@ -5,19 +5,19 @@ signal pointer_pressed(at) ## Snap-tray active state -export var tray_active : bool = true setget _set_tray_active +@export var tray_active : bool = true: set = _set_tray_active ## Active material -export (Material) var active_material : Material +@export var active_material : Material ## Inactive material -export (Material) var inactive_material : Material +@export var inactive_material : Material ## Called when the node enters the scene tree for the first time. func _ready(): # Connect to the pointer pressed signal - connect("pointer_pressed", self, "_on_pointer_pressed") + pointer_pressed.connect(_on_pointer_pressed) # Update the tray_active state _update_tray_active() @@ -38,7 +38,6 @@ func _set_tray_active(new_value : bool) -> void: ## Update state based on tray_active property func _update_tray_active() -> void: - enabled = tray_active $Body.material_override = active_material if tray_active else inactive_material $SnapArea1/SnapZone1.enabled = tray_active $SnapArea2/SnapZone2.enabled = tray_active diff --git a/scenes/pickable_demo/objects/snap_tray.tscn b/scenes/pickable_demo/objects/snap_tray.tscn index e9d6a7aa..981677d7 100644 --- a/scenes/pickable_demo/objects/snap_tray.tscn +++ b/scenes/pickable_demo/objects/snap_tray.tscn @@ -1,107 +1,99 @@ -[gd_scene load_steps=15 format=2] +[gd_scene load_steps=13 format=3 uid="uid://c6rmke57xw5lg"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=2] -[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=4] -[ext_resource path="res://scenes/pickable_demo/objects/snap_tray.gd" type="Script" id=5] -[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=6] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="2"] +[ext_resource type="Script" path="res://scenes/pickable_demo/objects/snap_tray.gd" id="2_bnyxu"] +[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="4"] +[ext_resource type="Material" path="res://scenes/pickable_demo/objects/snap_tray_inactive_material.tres" id="4_4l77u"] -[sub_resource type="SpatialMaterial" id=15] -albedo_color = Color( 0.247059, 0.247059, 0.247059, 1 ) -albedo_texture = ExtResource( 6 ) -uv1_triplanar = true +[sub_resource type="BoxShape3D" id="9"] +size = Vector3(0.3, 0.4, 0.1) -[sub_resource type="BoxShape" id=9] -extents = Vector3( 0.15, 0.2, 0.05 ) +[sub_resource type="BoxMesh" id="1"] +size = Vector3(0.3, 0.4, 0.1) -[sub_resource type="CubeMesh" id=1] -size = Vector3( 0.3, 0.4, 0.1 ) +[sub_resource type="BoxMesh" id="10"] +size = Vector3(0.08, 0.08, 0.02) -[sub_resource type="CubeMesh" id=10] -size = Vector3( 0.08, 0.08, 0.02 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2eorr"] +albedo_color = Color(1, 0, 0, 1) -[sub_resource type="SpatialMaterial" id=11] -albedo_color = Color( 1, 0, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ti2r6"] +albedo_color = Color(1, 1, 0, 1) -[sub_resource type="SpatialMaterial" id=12] -albedo_color = Color( 1, 1, 0, 1 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_73h0y"] +albedo_color = Color(0.498039, 0.498039, 0.498039, 1) -[sub_resource type="SpatialMaterial" id=13] -albedo_color = Color( 0.498039, 0.498039, 0.498039, 1 ) - -[sub_resource type="SpatialMaterial" id=14] -albedo_color = Color( 0.498039, 0.498039, 0.498039, 1 ) - -[node name="SnapTray" instance=ExtResource( 1 )] +[node name="SnapTray" instance=ExtResource("1")] collision_layer = 1048580 collision_mask = 65543 -script = ExtResource( 5 ) +script = ExtResource("2_bnyxu") +tray_active = true +active_material = ExtResource("2") +inactive_material = ExtResource("4_4l77u") picked_up_layer = 1114112 ranged_grab_method = 0 -tray_active = false -active_material = ExtResource( 2 ) -inactive_material = SubResource( 15 ) -[node name="CollisionShape" parent="." index="0"] -shape = SubResource( 9 ) +[node name="CollisionShape3D" parent="." index="0"] +shape = SubResource("9") -[node name="Body" type="MeshInstance" parent="." index="1"] -mesh = SubResource( 1 ) -material/0 = ExtResource( 2 ) +[node name="Body" type="MeshInstance3D" parent="." index="1"] +mesh = SubResource("1") +surface_material_override/0 = ExtResource("2") -[node name="SnapArea1" type="MeshInstance" parent="." index="2"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, 0.06, 0.06 ) -mesh = SubResource( 10 ) -material/0 = SubResource( 11 ) +[node name="SnapArea1" type="MeshInstance3D" parent="." index="2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, 0.06, 0.06) +mesh = SubResource("10") +surface_material_override/0 = SubResource("StandardMaterial3D_2eorr") -[node name="SnapZone1" parent="SnapArea1" index="0" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 ) +[node name="SnapZone1" parent="SnapArea1" index="0" instance=ExtResource("4")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06) collision_layer = 4 collision_mask = 65540 grab_distance = 0.05 snap_require = "SnapToyRed" -[node name="HighlightRing" parent="SnapArea1/SnapZone1" index="1" instance=ExtResource( 3 )] +[node name="HighlightRing" parent="SnapArea1/SnapZone1" index="1" instance=ExtResource("3")] -[node name="SnapArea2" type="MeshInstance" parent="." index="3"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, 0.06, 0.06 ) -mesh = SubResource( 10 ) -material/0 = SubResource( 12 ) +[node name="SnapArea2" type="MeshInstance3D" parent="." index="3"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, 0.06, 0.06) +mesh = SubResource("10") +surface_material_override/0 = SubResource("StandardMaterial3D_ti2r6") -[node name="SnapZone2" parent="SnapArea2" index="0" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 ) +[node name="SnapZone2" parent="SnapArea2" index="0" instance=ExtResource("4")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06) collision_layer = 4 collision_mask = 65540 grab_distance = 0.05 snap_require = "SnapToyYellow" -[node name="HighlightRing" parent="SnapArea2/SnapZone2" index="1" instance=ExtResource( 3 )] +[node name="HighlightRing" parent="SnapArea2/SnapZone2" index="1" instance=ExtResource("3")] -[node name="SnapArea3" type="MeshInstance" parent="." index="4"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.06, 0.06 ) -mesh = SubResource( 10 ) -material/0 = SubResource( 13 ) +[node name="SnapArea3" type="MeshInstance3D" parent="." index="4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.06, 0.06) +mesh = SubResource("10") +surface_material_override/0 = SubResource("StandardMaterial3D_73h0y") -[node name="SnapZone3" parent="SnapArea3" index="0" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 ) +[node name="SnapZone3" parent="SnapArea3" index="0" instance=ExtResource("4")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06) collision_layer = 4 collision_mask = 65540 grab_distance = 0.05 snap_require = "SnapToy" -[node name="HighlightRing" parent="SnapArea3/SnapZone3" index="1" instance=ExtResource( 3 )] +[node name="HighlightRing" parent="SnapArea3/SnapZone3" index="1" instance=ExtResource("3")] -[node name="SnapArea4" type="MeshInstance" parent="." index="5"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, -0.06, 0.06 ) -mesh = SubResource( 10 ) -material/0 = SubResource( 14 ) +[node name="SnapArea4" type="MeshInstance3D" parent="." index="5"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, -0.06, 0.06) +mesh = SubResource("10") +surface_material_override/0 = SubResource("StandardMaterial3D_73h0y") -[node name="SnapZone4" parent="SnapArea4" index="0" instance=ExtResource( 4 )] -transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 ) +[node name="SnapZone4" parent="SnapArea4" index="0" instance=ExtResource("4")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06) collision_layer = 4 collision_mask = 65540 grab_distance = 0.05 snap_require = "SnapToy" -[node name="HighlightRing" parent="SnapArea4/SnapZone4" index="1" instance=ExtResource( 3 )] +[node name="HighlightRing" parent="SnapArea4/SnapZone4" index="1" instance=ExtResource("3")] diff --git a/scenes/pickable_demo/objects/teacup.tscn b/scenes/pickable_demo/objects/teacup.tscn index d80e236e..452dc7d1 100644 --- a/scenes/pickable_demo/objects/teacup.tscn +++ b/scenes/pickable_demo/objects/teacup.tscn @@ -1,65 +1,81 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=15 format=3 uid="uid://chww0na0ryl1m"] -[ext_resource path="res://addons/godot-xr-tools/objects/pickable.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn" type="PackedScene" id=4] -[ext_resource path="res://scenes/pickable_demo/materials/porcelain.tres" type="Material" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinky.anim" type="Animation" id=7] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinky.anim" type="Animation" id=8] +[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_q232w"] +[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://dh8grd7s3n8kg" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn" id="4"] +[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="4_a44uc"] +[ext_resource type="Material" path="res://scenes/pickable_demo/materials/porcelain.tres" id="5"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_rkolq"] +[ext_resource type="Animation" uid="uid://b6ra3rqia1gvb" path="res://addons/godot-xr-tools/hands/animations/right/Pinky.res" id="7_m23hc"] -[sub_resource type="ArrayMesh" id=1] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ea5pe"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_23l5t"] +_surfaces = [{ +"aabb": AABB(-0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12), +"format": 4097, +"index_count": 3276, +"index_data": PackedByteArray(122, 1, 10, 0, 2, 0, 122, 1, 14, 0, 10, 0, 126, 1, 14, 0, 122, 1, 126, 1, 18, 0, 14, 0, 1, 0, 5, 0, 120, 1, 1, 0, 7, 0, 5, 0, 128, 1, 18, 0, 126, 1, 128, 1, 20, 0, 18, 0, 2, 0, 7, 0, 1, 0, 2, 0, 10, 0, 7, 0, 246, 0, 20, 0, 128, 1, 20, 0, 34, 0, 18, 0, 20, 0, 36, 0, 34, 0, 10, 0, 24, 0, 7, 0, 10, 0, 26, 0, 24, 0, 246, 0, 36, 0, 20, 0, 14, 0, 26, 0, 10, 0, 14, 0, 31, 0, 26, 0, 18, 0, 31, 0, 14, 0, 18, 0, 34, 0, 31, 0, 7, 0, 22, 0, 5, 0, 7, 0, 24, 0, 22, 0, 34, 0, 53, 0, 31, 0, 34, 0, 55, 0, 53, 0, 24, 0, 42, 0, 22, 0, 24, 0, 46, 0, 42, 0, 36, 0, 55, 0, 34, 0, 36, 0, 57, 0, 55, 0, 26, 0, 46, 0, 24, 0, 26, 0, 50, 0, 46, 0, 246, 0, 57, 0, 36, 0, 31, 0, 50, 0, 26, 0, 31, 0, 53, 0, 50, 0, 246, 0, 78, 0, 57, 0, 53, 0, 63, 0, 50, 0, 53, 0, 70, 0, 63, 0, 55, 0, 70, 0, 53, 0, 55, 0, 74, 0, 70, 0, 46, 0, 59, 0, 42, 0, 46, 0, 61, 0, 59, 0, 57, 0, 74, 0, 55, 0, 57, 0, 78, 0, 74, 0, 50, 0, 61, 0, 46, 0, 50, 0, 63, 0, 61, 0, 61, 0, 81, 0, 59, 0, 61, 0, 85, 0, 81, 0, 78, 0, 91, 0, 74, 0, 78, 0, 93, 0, 91, 0, 63, 0, 85, 0, 61, 0, 63, 0, 87, 0, 85, 0, 246, 0, 93, 0, 78, 0, 70, 0, 87, 0, 63, 0, 70, 0, 90, 0, 87, 0, 74, 0, 90, 0, 70, 0, 74, 0, 91, 0, 90, 0, 91, 0, 106, 0, 90, 0, 91, 0, 109, 0, 106, 0, 223, 1, 97, 0, 222, 1, 97, 0, 81, 0, 85, 0, 81, 0, 240, 1, 96, 0, 81, 0, 218, 1, 240, 1, 221, 1, 97, 0, 223, 1, 221, 1, 81, 0, 97, 0, 81, 0, 219, 1, 218, 1, 220, 1, 81, 0, 221, 1, 81, 0, 220, 1, 219, 1, 93, 0, 109, 0, 91, 0, 93, 0, 114, 0, 109, 0, 87, 0, 97, 0, 85, 0, 87, 0, 102, 0, 97, 0, 246, 0, 114, 0, 93, 0, 230, 1, 106, 0, 227, 1, 87, 0, 228, 1, 102, 0, 87, 0, 224, 1, 228, 1, 230, 1, 90, 0, 106, 0, 229, 1, 90, 0, 230, 1, 87, 0, 226, 1, 224, 1, 225, 1, 90, 0, 229, 1, 87, 0, 225, 1, 226, 1, 90, 0, 225, 1, 87, 0, 102, 0, 122, 0, 97, 0, 102, 0, 123, 0, 122, 0, 246, 0, 130, 0, 114, 0, 231, 1, 102, 0, 228, 1, 125, 0, 227, 1, 106, 0, 125, 0, 235, 1, 227, 1, 231, 1, 123, 0, 102, 0, 233, 1, 123, 0, 231, 1, 125, 0, 234, 1, 235, 1, 232, 1, 123, 0, 233, 1, 125, 0, 232, 1, 234, 1, 123, 0, 232, 1, 125, 0, 109, 0, 125, 0, 106, 0, 109, 0, 128, 0, 125, 0, 241, 1, 96, 0, 240, 1, 117, 0, 97, 0, 122, 0, 97, 0, 237, 1, 222, 1, 97, 0, 236, 1, 237, 1, 241, 1, 117, 0, 96, 0, 238, 1, 117, 0, 241, 1, 117, 0, 236, 1, 97, 0, 239, 1, 117, 0, 238, 1, 117, 0, 239, 1, 236, 1, 114, 0, 128, 0, 109, 0, 114, 0, 130, 0, 128, 0, 122, 0, 134, 0, 117, 0, 122, 0, 138, 0, 134, 0, 130, 0, 150, 0, 128, 0, 130, 0, 154, 0, 150, 0, 123, 0, 138, 0, 122, 0, 123, 0, 140, 0, 138, 0, 246, 0, 154, 0, 130, 0, 125, 0, 140, 0, 123, 0, 125, 0, 146, 0, 140, 0, 128, 0, 146, 0, 125, 0, 128, 0, 150, 0, 146, 0, 146, 0, 160, 0, 140, 0, 146, 0, 162, 0, 160, 0, 150, 0, 162, 0, 146, 0, 150, 0, 164, 0, 162, 0, 138, 0, 155, 0, 134, 0, 138, 0, 157, 0, 155, 0, 154, 0, 164, 0, 150, 0, 154, 0, 166, 0, 164, 0, 140, 0, 157, 0, 138, 0, 140, 0, 160, 0, 157, 0, 246, 0, 166, 0, 154, 0, 160, 0, 174, 0, 157, 0, 160, 0, 180, 0, 174, 0, 246, 0, 187, 0, 166, 0, 162, 0, 180, 0, 160, 0, 162, 0, 182, 0, 180, 0, 164, 0, 182, 0, 162, 0, 164, 0, 184, 0, 182, 0, 169, 0, 157, 0, 174, 0, 169, 0, 155, 0, 157, 0, 166, 0, 184, 0, 164, 0, 166, 0, 187, 0, 184, 0, 184, 0, 195, 0, 182, 0, 184, 0, 198, 0, 195, 0, 174, 0, 189, 0, 169, 0, 174, 0, 192, 0, 189, 0, 187, 0, 198, 0, 184, 0, 187, 0, 200, 0, 198, 0, 180, 0, 192, 0, 174, 0, 180, 0, 194, 0, 192, 0, 246, 0, 200, 0, 187, 0, 182, 0, 194, 0, 180, 0, 182, 0, 195, 0, 194, 0, 195, 0, 204, 0, 194, 0, 195, 0, 207, 0, 204, 0, 198, 0, 207, 0, 195, 0, 198, 0, 208, 0, 207, 0, 192, 0, 201, 0, 189, 0, 192, 0, 202, 0, 201, 0, 200, 0, 208, 0, 198, 0, 200, 0, 209, 0, 208, 0, 194, 0, 202, 0, 192, 0, 194, 0, 204, 0, 202, 0, 246, 0, 209, 0, 200, 0, 209, 0, 216, 0, 208, 0, 209, 0, 218, 0, 216, 0, 204, 0, 211, 0, 202, 0, 204, 0, 212, 0, 211, 0, 246, 0, 218, 0, 209, 0, 207, 0, 212, 0, 204, 0, 207, 0, 214, 0, 212, 0, 208, 0, 214, 0, 207, 0, 208, 0, 216, 0, 214, 0, 202, 0, 210, 0, 201, 0, 202, 0, 211, 0, 210, 0, 216, 0, 225, 0, 214, 0, 216, 0, 226, 0, 225, 0, 211, 0, 220, 0, 210, 0, 211, 0, 221, 0, 220, 0, 218, 0, 226, 0, 216, 0, 218, 0, 227, 0, 226, 0, 212, 0, 221, 0, 211, 0, 212, 0, 223, 0, 221, 0, 246, 0, 227, 0, 218, 0, 214, 0, 223, 0, 212, 0, 214, 0, 225, 0, 223, 0, 246, 0, 236, 0, 227, 0, 225, 0, 230, 0, 223, 0, 225, 0, 232, 0, 230, 0, 226, 0, 232, 0, 225, 0, 226, 0, 234, 0, 232, 0, 221, 0, 228, 0, 220, 0, 221, 0, 229, 0, 228, 0, 227, 0, 234, 0, 226, 0, 227, 0, 236, 0, 234, 0, 223, 0, 229, 0, 221, 0, 223, 0, 230, 0, 229, 0, 236, 0, 244, 0, 234, 0, 236, 0, 245, 0, 244, 0, 230, 0, 241, 0, 229, 0, 230, 0, 242, 0, 241, 0, 246, 0, 245, 0, 236, 0, 232, 0, 242, 0, 230, 0, 232, 0, 243, 0, 242, 0, 234, 0, 243, 0, 232, 0, 234, 0, 244, 0, 243, 0, 229, 0, 239, 0, 228, 0, 229, 0, 241, 0, 239, 0, 244, 0, 2, 1, 243, 0, 244, 0, 5, 1, 2, 1, 241, 0, 247, 0, 239, 0, 241, 0, 250, 0, 247, 0, 245, 0, 5, 1, 244, 0, 245, 0, 8, 1, 5, 1, 242, 0, 250, 0, 241, 0, 242, 0, 253, 0, 250, 0, 246, 0, 8, 1, 245, 0, 243, 0, 253, 0, 242, 0, 243, 0, 2, 1, 253, 0, 246, 0, 24, 1, 8, 1, 2, 1, 16, 1, 253, 0, 2, 1, 19, 1, 16, 1, 5, 1, 19, 1, 2, 1, 5, 1, 20, 1, 19, 1, 250, 0, 13, 1, 247, 0, 250, 0, 15, 1, 13, 1, 8, 1, 20, 1, 5, 1, 8, 1, 24, 1, 20, 1, 253, 0, 15, 1, 250, 0, 253, 0, 16, 1, 15, 1, 24, 1, 42, 1, 20, 1, 24, 1, 46, 1, 42, 1, 16, 1, 32, 1, 15, 1, 16, 1, 36, 1, 32, 1, 246, 0, 46, 1, 24, 1, 19, 1, 36, 1, 16, 1, 19, 1, 41, 1, 36, 1, 20, 1, 41, 1, 19, 1, 20, 1, 42, 1, 41, 1, 15, 1, 28, 1, 13, 1, 15, 1, 32, 1, 28, 1, 42, 1, 55, 1, 41, 1, 42, 1, 59, 1, 55, 1, 32, 1, 49, 1, 28, 1, 32, 1, 51, 1, 49, 1, 46, 1, 59, 1, 42, 1, 46, 1, 61, 1, 59, 1, 36, 1, 51, 1, 32, 1, 36, 1, 53, 1, 51, 1, 246, 0, 61, 1, 46, 1, 41, 1, 53, 1, 36, 1, 41, 1, 55, 1, 53, 1, 246, 0, 83, 1, 61, 1, 55, 1, 72, 1, 53, 1, 55, 1, 77, 1, 72, 1, 59, 1, 77, 1, 55, 1, 59, 1, 80, 1, 77, 1, 51, 1, 65, 1, 49, 1, 51, 1, 68, 1, 65, 1, 61, 1, 80, 1, 59, 1, 61, 1, 83, 1, 80, 1, 53, 1, 68, 1, 51, 1, 53, 1, 72, 1, 68, 1, 84, 1, 68, 1, 86, 1, 84, 1, 65, 1, 68, 1, 83, 1, 94, 1, 80, 1, 83, 1, 98, 1, 94, 1, 72, 1, 86, 1, 68, 1, 72, 1, 88, 1, 86, 1, 246, 0, 98, 1, 83, 1, 77, 1, 88, 1, 72, 1, 77, 1, 93, 1, 88, 1, 80, 1, 93, 1, 77, 1, 80, 1, 94, 1, 93, 1, 94, 1, 114, 1, 93, 1, 94, 1, 116, 1, 114, 1, 86, 1, 102, 1, 84, 1, 86, 1, 107, 1, 102, 1, 98, 1, 116, 1, 94, 1, 98, 1, 118, 1, 116, 1, 88, 1, 107, 1, 86, 1, 88, 1, 110, 1, 107, 1, 246, 0, 118, 1, 98, 1, 93, 1, 110, 1, 88, 1, 93, 1, 114, 1, 110, 1, 110, 1, 1, 0, 107, 1, 110, 1, 2, 0, 1, 0, 246, 0, 128, 1, 118, 1, 114, 1, 2, 0, 110, 1, 114, 1, 122, 1, 2, 0, 116, 1, 122, 1, 114, 1, 116, 1, 126, 1, 122, 1, 107, 1, 120, 1, 102, 1, 107, 1, 1, 0, 120, 1, 118, 1, 126, 1, 116, 1, 118, 1, 128, 1, 126, 1, 215, 1, 32, 0, 38, 0, 215, 1, 12, 0, 32, 0, 217, 1, 48, 0, 152, 1, 216, 1, 41, 0, 45, 0, 216, 1, 16, 0, 41, 0, 8, 0, 32, 0, 12, 0, 8, 0, 29, 0, 32, 0, 217, 1, 45, 0, 48, 0, 217, 1, 216, 1, 45, 0, 41, 0, 80, 0, 45, 0, 41, 0, 76, 0, 80, 0, 29, 0, 66, 0, 32, 0, 29, 0, 65, 0, 66, 0, 48, 0, 83, 0, 152, 1, 83, 0, 119, 0, 152, 1, 80, 0, 119, 0, 83, 0, 80, 0, 116, 0, 119, 0, 66, 0, 107, 0, 72, 0, 66, 0, 103, 0, 107, 0, 136, 0, 107, 0, 103, 0, 136, 0, 142, 0, 107, 0, 119, 0, 151, 0, 152, 1, 142, 0, 111, 0, 107, 0, 142, 0, 144, 0, 111, 0, 111, 0, 147, 0, 116, 0, 111, 0, 144, 0, 147, 0, 132, 0, 103, 0, 100, 0, 132, 0, 136, 0, 103, 0, 144, 0, 181, 0, 147, 0, 144, 0, 178, 0, 181, 0, 168, 0, 136, 0, 132, 0, 168, 0, 172, 0, 136, 0, 172, 0, 142, 0, 136, 0, 172, 0, 175, 0, 142, 0, 151, 0, 185, 0, 152, 1, 175, 0, 144, 0, 142, 0, 175, 0, 178, 0, 144, 0, 185, 0, 206, 0, 152, 1, 178, 0, 205, 0, 181, 0, 178, 0, 203, 0, 205, 0, 206, 0, 222, 0, 224, 0, 206, 0, 205, 0, 222, 0, 152, 1, 206, 0, 224, 0, 205, 0, 219, 0, 222, 0, 205, 0, 203, 0, 219, 0, 222, 0, 237, 0, 238, 0, 222, 0, 219, 0, 237, 0, 213, 0, 233, 0, 215, 0, 213, 0, 231, 0, 233, 0, 224, 0, 238, 0, 240, 0, 224, 0, 222, 0, 238, 0, 152, 1, 224, 0, 240, 0, 233, 0, 0, 1, 235, 0, 233, 0, 252, 0, 0, 1, 152, 1, 240, 0, 10, 1, 238, 0, 4, 1, 7, 1, 238, 0, 237, 0, 4, 1, 240, 0, 7, 1, 10, 1, 240, 0, 238, 0, 7, 1, 252, 0, 23, 1, 27, 1, 252, 0, 248, 0, 23, 1, 10, 1, 38, 1, 45, 1, 10, 1, 7, 1, 38, 1, 27, 1, 0, 1, 252, 0, 27, 1, 30, 1, 0, 1, 152, 1, 10, 1, 45, 1, 30, 1, 4, 1, 0, 1, 30, 1, 35, 1, 4, 1, 7, 1, 35, 1, 38, 1, 7, 1, 4, 1, 35, 1, 66, 1, 35, 1, 30, 1, 66, 1, 70, 1, 35, 1, 38, 1, 70, 1, 74, 1, 38, 1, 35, 1, 70, 1, 27, 1, 56, 1, 62, 1, 27, 1, 23, 1, 56, 1, 45, 1, 74, 1, 78, 1, 45, 1, 38, 1, 74, 1, 62, 1, 30, 1, 27, 1, 62, 1, 66, 1, 30, 1, 152, 1, 45, 1, 78, 1, 97, 1, 66, 1, 62, 1, 97, 1, 101, 1, 66, 1, 152, 1, 78, 1, 112, 1, 101, 1, 70, 1, 66, 1, 101, 1, 104, 1, 70, 1, 74, 1, 104, 1, 109, 1, 74, 1, 70, 1, 104, 1, 90, 1, 62, 1, 56, 1, 90, 1, 97, 1, 62, 1, 78, 1, 109, 1, 112, 1, 78, 1, 74, 1, 109, 1, 134, 1, 109, 1, 104, 1, 134, 1, 136, 1, 109, 1, 124, 1, 97, 1, 90, 1, 124, 1, 130, 1, 97, 1, 136, 1, 112, 1, 109, 1, 136, 1, 138, 1, 112, 1, 97, 1, 132, 1, 101, 1, 97, 1, 130, 1, 132, 1, 138, 1, 152, 1, 112, 1, 132, 1, 104, 1, 101, 1, 132, 1, 134, 1, 104, 1, 146, 1, 136, 1, 134, 1, 146, 1, 148, 1, 136, 1, 124, 1, 142, 1, 130, 1, 124, 1, 140, 1, 142, 1, 148, 1, 138, 1, 136, 1, 148, 1, 150, 1, 138, 1, 150, 1, 152, 1, 138, 1, 162, 1, 150, 1, 148, 1, 162, 1, 164, 1, 150, 1, 164, 1, 152, 1, 150, 1, 160, 1, 148, 1, 146, 1, 160, 1, 162, 1, 148, 1, 140, 1, 156, 1, 142, 1, 140, 1, 154, 1, 156, 1, 170, 1, 162, 1, 160, 1, 170, 1, 171, 1, 162, 1, 171, 1, 164, 1, 162, 1, 171, 1, 172, 1, 164, 1, 156, 1, 169, 1, 158, 1, 156, 1, 168, 1, 169, 1, 172, 1, 152, 1, 164, 1, 178, 1, 152, 1, 172, 1, 176, 1, 171, 1, 170, 1, 176, 1, 177, 1, 171, 1, 177, 1, 172, 1, 171, 1, 177, 1, 178, 1, 172, 1, 168, 1, 175, 1, 169, 1, 168, 1, 174, 1, 175, 1, 183, 1, 178, 1, 177, 1, 183, 1, 184, 1, 178, 1, 184, 1, 152, 1, 178, 1, 175, 1, 182, 1, 176, 1, 175, 1, 181, 1, 182, 1, 182, 1, 177, 1, 176, 1, 182, 1, 183, 1, 177, 1, 188, 1, 183, 1, 182, 1, 188, 1, 189, 1, 183, 1, 189, 1, 184, 1, 183, 1, 189, 1, 190, 1, 184, 1, 180, 1, 187, 1, 181, 1, 180, 1, 186, 1, 187, 1, 190, 1, 152, 1, 184, 1, 196, 1, 152, 1, 190, 1, 194, 1, 189, 1, 188, 1, 194, 1, 195, 1, 189, 1, 195, 1, 190, 1, 189, 1, 195, 1, 196, 1, 190, 1, 201, 1, 196, 1, 195, 1, 201, 1, 202, 1, 196, 1, 202, 1, 152, 1, 196, 1, 200, 1, 195, 1, 194, 1, 200, 1, 201, 1, 195, 1, 207, 1, 202, 1, 201, 1, 207, 1, 208, 1, 202, 1, 208, 1, 152, 1, 202, 1, 199, 1, 206, 1, 200, 1, 199, 1, 205, 1, 206, 1, 214, 1, 152, 1, 208, 1, 205, 1, 212, 1, 206, 1, 205, 1, 211, 1, 212, 1, 206, 1, 213, 1, 207, 1, 206, 1, 212, 1, 213, 1, 210, 1, 8, 0, 12, 0, 210, 1, 209, 1, 8, 0, 12, 0, 211, 1, 210, 1, 12, 0, 215, 1, 211, 1, 214, 1, 217, 1, 152, 1, 211, 1, 16, 0, 212, 1, 211, 1, 215, 1, 16, 0, 16, 0, 213, 1, 212, 1, 16, 0, 216, 1, 213, 1, 13, 1, 10, 2, 247, 0, 13, 1, 11, 2, 10, 2, 155, 0, 6, 2, 134, 0, 155, 0, 15, 2, 6, 2, 0, 0, 23, 0, 21, 0, 0, 0, 3, 0, 23, 0, 3, 0, 25, 0, 23, 0, 3, 0, 4, 0, 25, 0, 4, 0, 27, 0, 25, 0, 4, 0, 6, 0, 27, 0, 6, 0, 28, 0, 27, 0, 6, 0, 9, 0, 28, 0, 9, 0, 30, 0, 28, 0, 9, 0, 11, 0, 30, 0, 11, 0, 33, 0, 30, 0, 11, 0, 13, 0, 33, 0, 13, 0, 35, 0, 33, 0, 13, 0, 15, 0, 35, 0, 15, 0, 37, 0, 35, 0, 15, 0, 17, 0, 37, 0, 17, 0, 39, 0, 37, 0, 17, 0, 19, 0, 39, 0, 19, 0, 21, 0, 39, 0, 19, 0, 0, 0, 21, 0, 21, 0, 43, 0, 40, 0, 21, 0, 23, 0, 43, 0, 23, 0, 44, 0, 43, 0, 23, 0, 25, 0, 44, 0, 25, 0, 47, 0, 44, 0, 25, 0, 27, 0, 47, 0, 27, 0, 49, 0, 47, 0, 27, 0, 28, 0, 49, 0, 28, 0, 51, 0, 49, 0, 28, 0, 30, 0, 51, 0, 30, 0, 52, 0, 51, 0, 30, 0, 33, 0, 52, 0, 33, 0, 54, 0, 52, 0, 33, 0, 35, 0, 54, 0, 35, 0, 56, 0, 54, 0, 35, 0, 37, 0, 56, 0, 37, 0, 58, 0, 56, 0, 37, 0, 39, 0, 58, 0, 39, 0, 40, 0, 58, 0, 39, 0, 21, 0, 40, 0, 40, 0, 62, 0, 60, 0, 40, 0, 43, 0, 62, 0, 43, 0, 64, 0, 62, 0, 43, 0, 44, 0, 64, 0, 44, 0, 67, 0, 64, 0, 44, 0, 47, 0, 67, 0, 47, 0, 69, 0, 67, 0, 47, 0, 49, 0, 69, 0, 49, 0, 71, 0, 69, 0, 49, 0, 51, 0, 71, 0, 51, 0, 73, 0, 71, 0, 51, 0, 52, 0, 73, 0, 52, 0, 75, 0, 73, 0, 52, 0, 54, 0, 75, 0, 54, 0, 77, 0, 75, 0, 54, 0, 56, 0, 77, 0, 56, 0, 79, 0, 77, 0, 56, 0, 58, 0, 79, 0, 58, 0, 60, 0, 79, 0, 58, 0, 40, 0, 60, 0, 60, 0, 84, 0, 82, 0, 60, 0, 62, 0, 84, 0, 62, 0, 86, 0, 84, 0, 62, 0, 64, 0, 86, 0, 64, 0, 88, 0, 86, 0, 64, 0, 67, 0, 88, 0, 67, 0, 89, 0, 88, 0, 67, 0, 69, 0, 89, 0, 69, 0, 92, 0, 89, 0, 69, 0, 71, 0, 92, 0, 71, 0, 94, 0, 92, 0, 71, 0, 73, 0, 94, 0, 73, 0, 95, 0, 94, 0, 73, 0, 75, 0, 95, 0, 75, 0, 98, 0, 95, 0, 75, 0, 77, 0, 98, 0, 77, 0, 99, 0, 98, 0, 77, 0, 79, 0, 99, 0, 79, 0, 82, 0, 99, 0, 79, 0, 60, 0, 82, 0, 82, 0, 104, 0, 101, 0, 82, 0, 84, 0, 104, 0, 84, 0, 105, 0, 104, 0, 84, 0, 86, 0, 105, 0, 86, 0, 108, 0, 105, 0, 86, 0, 88, 0, 108, 0, 88, 0, 110, 0, 108, 0, 88, 0, 89, 0, 110, 0, 89, 0, 112, 0, 110, 0, 89, 0, 92, 0, 112, 0, 92, 0, 113, 0, 112, 0, 92, 0, 94, 0, 113, 0, 94, 0, 115, 0, 113, 0, 94, 0, 95, 0, 115, 0, 95, 0, 118, 0, 115, 0, 95, 0, 98, 0, 118, 0, 98, 0, 120, 0, 118, 0, 98, 0, 99, 0, 120, 0, 99, 0, 101, 0, 120, 0, 99, 0, 82, 0, 101, 0, 101, 0, 124, 0, 121, 0, 101, 0, 104, 0, 124, 0, 104, 0, 126, 0, 124, 0, 104, 0, 105, 0, 126, 0, 105, 0, 127, 0, 126, 0, 105, 0, 108, 0, 127, 0, 108, 0, 129, 0, 127, 0, 108, 0, 110, 0, 129, 0, 110, 0, 131, 0, 129, 0, 110, 0, 112, 0, 131, 0, 112, 0, 133, 0, 131, 0, 112, 0, 113, 0, 133, 0, 113, 0, 135, 0, 133, 0, 113, 0, 115, 0, 135, 0, 115, 0, 137, 0, 135, 0, 115, 0, 118, 0, 137, 0, 118, 0, 139, 0, 137, 0, 118, 0, 120, 0, 139, 0, 120, 0, 121, 0, 139, 0, 120, 0, 101, 0, 121, 0, 121, 0, 143, 0, 141, 0, 121, 0, 124, 0, 143, 0, 124, 0, 145, 0, 143, 0, 124, 0, 126, 0, 145, 0, 126, 0, 148, 0, 145, 0, 126, 0, 127, 0, 148, 0, 127, 0, 149, 0, 148, 0, 127, 0, 129, 0, 149, 0, 129, 0, 152, 0, 149, 0, 129, 0, 131, 0, 152, 0, 131, 0, 153, 0, 152, 0, 131, 0, 133, 0, 153, 0, 133, 0, 156, 0, 153, 0, 133, 0, 135, 0, 156, 0, 135, 0, 158, 0, 156, 0, 135, 0, 137, 0, 158, 0, 137, 0, 159, 0, 158, 0, 137, 0, 139, 0, 159, 0, 139, 0, 141, 0, 159, 0, 139, 0, 121, 0, 141, 0, 141, 0, 163, 0, 161, 0, 141, 0, 143, 0, 163, 0, 143, 0, 165, 0, 163, 0, 143, 0, 145, 0, 165, 0, 145, 0, 167, 0, 165, 0, 145, 0, 148, 0, 167, 0, 148, 0, 170, 0, 167, 0, 148, 0, 149, 0, 170, 0, 149, 0, 171, 0, 170, 0, 149, 0, 152, 0, 171, 0, 152, 0, 173, 0, 171, 0, 152, 0, 153, 0, 173, 0, 153, 0, 176, 0, 173, 0, 153, 0, 156, 0, 176, 0, 156, 0, 177, 0, 176, 0, 156, 0, 158, 0, 177, 0, 158, 0, 179, 0, 177, 0, 158, 0, 159, 0, 179, 0, 159, 0, 161, 0, 179, 0, 159, 0, 141, 0, 161, 0, 163, 0, 240, 1, 161, 0, 163, 0, 241, 1, 240, 1, 163, 0, 238, 1, 241, 1, 238, 1, 165, 0, 183, 0, 238, 1, 163, 0, 165, 0, 165, 0, 186, 0, 183, 0, 165, 0, 167, 0, 186, 0, 167, 0, 188, 0, 186, 0, 167, 0, 170, 0, 188, 0, 170, 0, 190, 0, 188, 0, 170, 0, 171, 0, 190, 0, 171, 0, 191, 0, 190, 0, 171, 0, 173, 0, 191, 0, 173, 0, 193, 0, 191, 0, 173, 0, 176, 0, 193, 0, 176, 0, 196, 0, 193, 0, 176, 0, 177, 0, 196, 0, 196, 0, 218, 1, 219, 1, 218, 1, 177, 0, 179, 0, 218, 1, 196, 0, 177, 0, 161, 0, 218, 1, 179, 0, 161, 0, 240, 1, 218, 1, 199, 0, 168, 0, 197, 0, 199, 0, 172, 0, 168, 0, 183, 0, 239, 1, 238, 1, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 188, 0, 236, 1, 186, 0, 188, 0, 237, 1, 236, 1, 178, 0, 68, 0, 203, 0, 178, 0, 175, 0, 68, 0, 222, 1, 188, 0, 190, 0, 222, 1, 237, 1, 188, 0, 223, 1, 190, 0, 191, 0, 223, 1, 222, 1, 190, 0, 221, 1, 191, 0, 193, 0, 221, 1, 223, 1, 191, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 215, 0, 197, 0, 213, 0, 215, 0, 199, 0, 197, 0, 219, 1, 220, 1, 196, 0, 219, 0, 68, 0, 217, 0, 219, 0, 203, 0, 68, 0, 68, 0, 172, 0, 199, 0, 68, 0, 175, 0, 172, 0, 215, 0, 68, 0, 199, 0, 215, 0, 217, 0, 68, 0, 232, 1, 249, 0, 234, 1, 249, 0, 233, 1, 251, 0, 249, 0, 232, 1, 233, 1, 233, 1, 254, 0, 251, 0, 233, 1, 231, 1, 254, 0, 228, 1, 254, 0, 231, 1, 228, 1, 255, 0, 254, 0, 228, 1, 1, 1, 255, 0, 228, 1, 224, 1, 1, 1, 224, 1, 3, 1, 1, 1, 224, 1, 226, 1, 3, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 229, 1, 6, 1, 225, 1, 227, 1, 11, 1, 9, 1, 227, 1, 235, 1, 11, 1, 11, 1, 249, 0, 12, 1, 249, 0, 235, 1, 234, 1, 249, 0, 11, 1, 235, 1, 249, 0, 14, 1, 12, 1, 249, 0, 251, 0, 14, 1, 251, 0, 17, 1, 14, 1, 251, 0, 254, 0, 17, 1, 254, 0, 18, 1, 17, 1, 254, 0, 255, 0, 18, 1, 255, 0, 21, 1, 18, 1, 255, 0, 1, 1, 21, 1, 1, 1, 22, 1, 21, 1, 1, 1, 3, 1, 22, 1, 3, 1, 25, 1, 22, 1, 3, 1, 6, 1, 25, 1, 230, 1, 6, 1, 229, 1, 6, 1, 26, 1, 25, 1, 6, 1, 230, 1, 26, 1, 26, 1, 227, 1, 9, 1, 26, 1, 230, 1, 227, 1, 9, 1, 31, 1, 29, 1, 9, 1, 11, 1, 31, 1, 11, 1, 33, 1, 31, 1, 11, 1, 12, 1, 33, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 14, 1, 37, 1, 34, 1, 14, 1, 17, 1, 37, 1, 17, 1, 39, 1, 37, 1, 17, 1, 18, 1, 39, 1, 18, 1, 40, 1, 39, 1, 18, 1, 21, 1, 40, 1, 21, 1, 43, 1, 40, 1, 21, 1, 22, 1, 43, 1, 22, 1, 44, 1, 43, 1, 22, 1, 25, 1, 44, 1, 25, 1, 47, 1, 44, 1, 25, 1, 26, 1, 47, 1, 26, 1, 29, 1, 47, 1, 26, 1, 9, 1, 29, 1, 29, 1, 50, 1, 48, 1, 29, 1, 31, 1, 50, 1, 31, 1, 52, 1, 50, 1, 31, 1, 33, 1, 52, 1, 33, 1, 54, 1, 52, 1, 33, 1, 34, 1, 54, 1, 34, 1, 57, 1, 54, 1, 34, 1, 37, 1, 57, 1, 37, 1, 58, 1, 57, 1, 37, 1, 39, 1, 58, 1, 39, 1, 60, 1, 58, 1, 39, 1, 40, 1, 60, 1, 40, 1, 63, 1, 60, 1, 40, 1, 43, 1, 63, 1, 43, 1, 64, 1, 63, 1, 43, 1, 44, 1, 64, 1, 44, 1, 67, 1, 64, 1, 44, 1, 47, 1, 67, 1, 47, 1, 48, 1, 67, 1, 47, 1, 29, 1, 48, 1, 48, 1, 71, 1, 69, 1, 48, 1, 50, 1, 71, 1, 50, 1, 73, 1, 71, 1, 50, 1, 52, 1, 73, 1, 52, 1, 75, 1, 73, 1, 52, 1, 54, 1, 75, 1, 54, 1, 76, 1, 75, 1, 54, 1, 57, 1, 76, 1, 57, 1, 79, 1, 76, 1, 57, 1, 58, 1, 79, 1, 58, 1, 81, 1, 79, 1, 58, 1, 60, 1, 81, 1, 60, 1, 82, 1, 81, 1, 60, 1, 63, 1, 82, 1, 63, 1, 85, 1, 82, 1, 63, 1, 64, 1, 85, 1, 64, 1, 87, 1, 85, 1, 64, 1, 67, 1, 87, 1, 67, 1, 69, 1, 87, 1, 67, 1, 48, 1, 69, 1, 69, 1, 91, 1, 89, 1, 69, 1, 71, 1, 91, 1, 71, 1, 92, 1, 91, 1, 71, 1, 73, 1, 92, 1, 73, 1, 95, 1, 92, 1, 73, 1, 75, 1, 95, 1, 75, 1, 96, 1, 95, 1, 75, 1, 76, 1, 96, 1, 76, 1, 99, 1, 96, 1, 76, 1, 79, 1, 99, 1, 79, 1, 100, 1, 99, 1, 79, 1, 81, 1, 100, 1, 81, 1, 103, 1, 100, 1, 81, 1, 82, 1, 103, 1, 82, 1, 105, 1, 103, 1, 82, 1, 85, 1, 105, 1, 85, 1, 106, 1, 105, 1, 85, 1, 87, 1, 106, 1, 87, 1, 89, 1, 106, 1, 87, 1, 69, 1, 89, 1, 89, 1, 111, 1, 108, 1, 89, 1, 91, 1, 111, 1, 91, 1, 113, 1, 111, 1, 91, 1, 92, 1, 113, 1, 92, 1, 115, 1, 113, 1, 92, 1, 95, 1, 115, 1, 95, 1, 117, 1, 115, 1, 95, 1, 96, 1, 117, 1, 96, 1, 119, 1, 117, 1, 96, 1, 99, 1, 119, 1, 99, 1, 121, 1, 119, 1, 99, 1, 100, 1, 121, 1, 100, 1, 123, 1, 121, 1, 100, 1, 103, 1, 123, 1, 103, 1, 125, 1, 123, 1, 103, 1, 105, 1, 125, 1, 105, 1, 127, 1, 125, 1, 105, 1, 106, 1, 127, 1, 106, 1, 108, 1, 127, 1, 106, 1, 89, 1, 108, 1, 108, 1, 131, 1, 129, 1, 108, 1, 111, 1, 131, 1, 111, 1, 133, 1, 131, 1, 111, 1, 113, 1, 133, 1, 113, 1, 135, 1, 133, 1, 113, 1, 115, 1, 135, 1, 115, 1, 137, 1, 135, 1, 115, 1, 117, 1, 137, 1, 117, 1, 139, 1, 137, 1, 117, 1, 119, 1, 139, 1, 119, 1, 141, 1, 139, 1, 119, 1, 121, 1, 141, 1, 121, 1, 143, 1, 141, 1, 121, 1, 123, 1, 143, 1, 123, 1, 145, 1, 143, 1, 123, 1, 125, 1, 145, 1, 125, 1, 147, 1, 145, 1, 125, 1, 127, 1, 147, 1, 127, 1, 129, 1, 147, 1, 127, 1, 108, 1, 129, 1, 129, 1, 151, 1, 149, 1, 129, 1, 131, 1, 151, 1, 131, 1, 153, 1, 151, 1, 131, 1, 133, 1, 153, 1, 133, 1, 155, 1, 153, 1, 133, 1, 135, 1, 155, 1, 135, 1, 157, 1, 155, 1, 135, 1, 137, 1, 157, 1, 137, 1, 159, 1, 157, 1, 137, 1, 139, 1, 159, 1, 139, 1, 161, 1, 159, 1, 139, 1, 141, 1, 161, 1, 141, 1, 163, 1, 161, 1, 141, 1, 143, 1, 163, 1, 143, 1, 165, 1, 163, 1, 143, 1, 145, 1, 165, 1, 145, 1, 167, 1, 165, 1, 145, 1, 147, 1, 167, 1, 147, 1, 149, 1, 167, 1, 147, 1, 129, 1, 149, 1, 149, 1, 3, 0, 0, 0, 149, 1, 151, 1, 3, 0, 151, 1, 4, 0, 3, 0, 151, 1, 153, 1, 4, 0, 153, 1, 6, 0, 4, 0, 153, 1, 155, 1, 6, 0, 155, 1, 9, 0, 6, 0, 155, 1, 157, 1, 9, 0, 157, 1, 11, 0, 9, 0, 157, 1, 159, 1, 11, 0, 159, 1, 13, 0, 11, 0, 159, 1, 161, 1, 13, 0, 161, 1, 15, 0, 13, 0, 161, 1, 163, 1, 15, 0, 163, 1, 17, 0, 15, 0, 163, 1, 165, 1, 17, 0, 165, 1, 19, 0, 17, 0, 165, 1, 167, 1, 19, 0, 167, 1, 0, 0, 19, 0, 167, 1, 149, 1, 0, 0, 215, 1, 41, 0, 16, 0, 215, 1, 38, 0, 41, 0, 32, 0, 72, 0, 38, 0, 32, 0, 66, 0, 72, 0, 38, 0, 76, 0, 41, 0, 38, 0, 72, 0, 76, 0, 45, 0, 83, 0, 48, 0, 45, 0, 80, 0, 83, 0, 65, 0, 103, 0, 66, 0, 65, 0, 100, 0, 103, 0, 72, 0, 111, 0, 76, 0, 72, 0, 107, 0, 111, 0, 76, 0, 116, 0, 80, 0, 76, 0, 111, 0, 116, 0, 116, 0, 151, 0, 119, 0, 116, 0, 147, 0, 151, 0, 147, 0, 185, 0, 151, 0, 147, 0, 181, 0, 185, 0, 181, 0, 206, 0, 185, 0, 181, 0, 205, 0, 206, 0, 215, 0, 235, 0, 217, 0, 215, 0, 233, 0, 235, 0, 217, 0, 237, 0, 219, 0, 217, 0, 235, 0, 237, 0, 231, 0, 252, 0, 233, 0, 231, 0, 248, 0, 252, 0, 235, 0, 4, 1, 237, 0, 235, 0, 0, 1, 4, 1, 130, 1, 144, 1, 132, 1, 130, 1, 142, 1, 144, 1, 132, 1, 146, 1, 134, 1, 132, 1, 144, 1, 146, 1, 142, 1, 158, 1, 144, 1, 142, 1, 156, 1, 158, 1, 144, 1, 160, 1, 146, 1, 144, 1, 158, 1, 160, 1, 158, 1, 170, 1, 160, 1, 158, 1, 169, 1, 170, 1, 154, 1, 168, 1, 156, 1, 154, 1, 166, 1, 168, 1, 166, 1, 174, 1, 168, 1, 166, 1, 173, 1, 174, 1, 169, 1, 176, 1, 170, 1, 169, 1, 175, 1, 176, 1, 173, 1, 180, 1, 174, 1, 173, 1, 179, 1, 180, 1, 174, 1, 181, 1, 175, 1, 174, 1, 180, 1, 181, 1, 181, 1, 188, 1, 182, 1, 181, 1, 187, 1, 188, 1, 179, 1, 186, 1, 180, 1, 179, 1, 185, 1, 186, 1, 185, 1, 192, 1, 186, 1, 185, 1, 191, 1, 192, 1, 186, 1, 193, 1, 187, 1, 186, 1, 192, 1, 193, 1, 187, 1, 194, 1, 188, 1, 187, 1, 193, 1, 194, 1, 193, 1, 200, 1, 194, 1, 193, 1, 199, 1, 200, 1, 191, 1, 198, 1, 192, 1, 191, 1, 197, 1, 198, 1, 192, 1, 199, 1, 193, 1, 192, 1, 198, 1, 199, 1, 198, 1, 205, 1, 199, 1, 198, 1, 204, 1, 205, 1, 200, 1, 207, 1, 201, 1, 200, 1, 206, 1, 207, 1, 197, 1, 204, 1, 198, 1, 197, 1, 203, 1, 204, 1, 203, 1, 210, 1, 204, 1, 203, 1, 209, 1, 210, 1, 207, 1, 214, 1, 208, 1, 207, 1, 213, 1, 214, 1, 204, 1, 211, 1, 205, 1, 204, 1, 210, 1, 211, 1, 213, 1, 217, 1, 214, 1, 213, 1, 216, 1, 217, 1, 19, 2, 5, 2, 255, 1, 5, 2, 243, 1, 244, 1, 243, 1, 30, 2, 242, 1, 30, 2, 10, 2, 11, 2, 10, 2, 31, 2, 33, 2, 31, 2, 252, 1, 253, 1, 252, 1, 24, 2, 26, 2, 24, 2, 15, 2, 23, 2, 15, 2, 246, 1, 6, 2, 246, 1, 247, 1, 245, 1, 247, 1, 12, 2, 27, 2, 12, 2, 248, 1, 4, 2, 12, 2, 249, 1, 248, 1, 25, 2, 5, 2, 19, 2, 3, 2, 5, 2, 25, 2, 247, 1, 249, 1, 12, 2, 247, 1, 0, 2, 249, 1, 3, 2, 243, 1, 5, 2, 2, 2, 243, 1, 3, 2, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 2, 2, 30, 2, 243, 1, 21, 2, 30, 2, 2, 2, 246, 1, 7, 2, 247, 1, 246, 1, 8, 2, 7, 2, 251, 1, 30, 2, 21, 2, 250, 1, 30, 2, 251, 1, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 250, 1, 10, 2, 30, 2, 17, 2, 10, 2, 250, 1, 15, 2, 18, 2, 9, 2, 15, 2, 13, 2, 18, 2, 17, 2, 31, 2, 10, 2, 16, 2, 31, 2, 17, 2, 24, 2, 13, 2, 15, 2, 24, 2, 14, 2, 13, 2, 29, 2, 31, 2, 16, 2, 32, 2, 31, 2, 29, 2, 252, 1, 14, 2, 24, 2, 252, 1, 22, 2, 14, 2, 32, 2, 252, 1, 31, 2, 252, 1, 28, 2, 22, 2, 252, 1, 32, 2, 28, 2, 20, 2, 4, 2, 248, 1, 4, 2, 255, 1, 254, 1, 255, 1, 20, 2, 19, 2, 20, 2, 255, 1, 4, 2, 120, 1, 5, 2, 102, 1, 120, 1, 255, 1, 5, 2, 203, 1, 25, 2, 209, 1, 203, 1, 3, 2, 25, 2, 168, 0, 7, 2, 197, 0, 168, 0, 1, 2, 7, 2, 220, 0, 252, 1, 210, 0, 220, 0, 253, 1, 252, 1, 117, 0, 245, 1, 96, 0, 117, 0, 246, 1, 245, 1, 197, 1, 3, 2, 203, 1, 197, 1, 2, 2, 3, 2, 49, 1, 30, 2, 28, 1, 49, 1, 242, 1, 30, 2, 140, 1, 29, 2, 154, 1, 140, 1, 32, 2, 29, 2, 231, 0, 18, 2, 248, 0, 231, 0, 9, 2, 18, 2, 84, 1, 243, 1, 65, 1, 84, 1, 244, 1, 243, 1, 248, 0, 13, 2, 23, 1, 248, 0, 18, 2, 13, 2, 179, 1, 251, 1, 185, 1, 179, 1, 250, 1, 251, 1, 247, 0, 33, 2, 239, 0, 247, 0, 10, 2, 33, 2, 239, 0, 31, 2, 228, 0, 239, 0, 33, 2, 31, 2, 209, 1, 19, 2, 8, 0, 209, 1, 25, 2, 19, 2, 154, 1, 16, 2, 166, 1, 154, 1, 29, 2, 16, 2, 213, 0, 9, 2, 231, 0, 213, 0, 8, 2, 9, 2, 201, 0, 24, 2, 189, 0, 201, 0, 26, 2, 24, 2, 210, 0, 26, 2, 201, 0, 210, 0, 252, 1, 26, 2, 29, 0, 248, 1, 65, 0, 29, 0, 20, 2, 248, 1, 169, 0, 15, 2, 155, 0, 169, 0, 23, 2, 15, 2, 134, 0, 246, 1, 117, 0, 134, 0, 6, 2, 246, 1, 90, 1, 28, 2, 124, 1, 90, 1, 22, 2, 28, 2, 191, 1, 2, 2, 197, 1, 191, 1, 21, 2, 2, 2, 59, 0, 12, 2, 42, 0, 59, 0, 27, 2, 12, 2, 96, 0, 247, 1, 81, 0, 96, 0, 245, 1, 247, 1, 102, 1, 244, 1, 84, 1, 102, 1, 5, 2, 244, 1, 42, 0, 4, 2, 22, 0, 42, 0, 12, 2, 4, 2, 132, 0, 1, 2, 168, 0, 132, 0, 0, 2, 1, 2, 22, 0, 254, 1, 5, 0, 22, 0, 4, 2, 254, 1, 5, 0, 255, 1, 120, 1, 5, 0, 254, 1, 255, 1, 65, 0, 249, 1, 100, 0, 65, 0, 248, 1, 249, 1, 189, 0, 23, 2, 169, 0, 189, 0, 24, 2, 23, 2, 8, 0, 20, 2, 29, 0, 8, 0, 19, 2, 20, 2, 65, 1, 242, 1, 49, 1, 65, 1, 243, 1, 242, 1, 100, 0, 0, 2, 132, 0, 100, 0, 249, 1, 0, 2, 56, 1, 22, 2, 90, 1, 56, 1, 14, 2, 22, 2, 28, 1, 11, 2, 13, 1, 28, 1, 30, 2, 11, 2, 124, 1, 32, 2, 140, 1, 124, 1, 28, 2, 32, 2, 228, 0, 253, 1, 220, 0, 228, 0, 31, 2, 253, 1, 81, 0, 27, 2, 59, 0, 81, 0, 247, 1, 27, 2, 23, 1, 14, 2, 56, 1, 23, 1, 13, 2, 14, 2, 173, 1, 250, 1, 179, 1, 173, 1, 17, 2, 250, 1, 185, 1, 21, 2, 191, 1, 185, 1, 251, 1, 21, 2, 166, 1, 17, 2, 173, 1, 166, 1, 16, 2, 17, 2, 197, 0, 8, 2, 213, 0, 197, 0, 7, 2, 8, 2), +"lods": [0.00381843, PackedByteArray(7, 0, 254, 1, 5, 2, 254, 1, 255, 1, 5, 2, 5, 2, 244, 1, 243, 1, 107, 1, 5, 2, 243, 1, 107, 1, 7, 0, 5, 2, 243, 1, 68, 1, 107, 1, 114, 1, 7, 0, 107, 1, 68, 1, 114, 1, 107, 1, 7, 0, 46, 0, 254, 1, 46, 0, 12, 2, 254, 1, 12, 2, 4, 2, 254, 1, 7, 0, 53, 0, 46, 0, 46, 0, 61, 0, 12, 2, 53, 0, 61, 0, 46, 0, 61, 0, 81, 0, 12, 2, 81, 0, 27, 2, 12, 2, 81, 0, 247, 1, 27, 2, 18, 0, 53, 0, 7, 0, 114, 1, 18, 0, 7, 0, 53, 0, 87, 0, 61, 0, 240, 1, 247, 1, 81, 0, 240, 1, 245, 1, 247, 1, 81, 0, 218, 1, 240, 1, 81, 0, 219, 1, 218, 1, 81, 0, 220, 1, 219, 1, 220, 1, 81, 0, 221, 1, 97, 0, 81, 0, 61, 0, 221, 1, 81, 0, 97, 0, 87, 0, 97, 0, 61, 0, 221, 1, 97, 0, 223, 1, 223, 1, 97, 0, 222, 1, 97, 0, 237, 1, 222, 1, 97, 0, 236, 1, 237, 1, 117, 0, 236, 1, 97, 0, 117, 0, 245, 1, 240, 1, 117, 0, 239, 1, 236, 1, 117, 0, 246, 1, 245, 1, 239, 1, 117, 0, 238, 1, 117, 0, 6, 2, 246, 1, 241, 1, 117, 0, 240, 1, 238, 1, 117, 0, 241, 1, 15, 2, 6, 2, 117, 0, 97, 0, 157, 0, 117, 0, 157, 0, 15, 2, 117, 0, 123, 0, 157, 0, 97, 0, 87, 0, 123, 0, 97, 0, 15, 2, 157, 0, 192, 0, 192, 0, 24, 2, 15, 2, 24, 2, 23, 2, 15, 2, 157, 0, 195, 0, 192, 0, 192, 0, 211, 0, 24, 2, 195, 0, 211, 0, 192, 0, 164, 0, 195, 0, 157, 0, 211, 0, 252, 1, 24, 2, 252, 1, 26, 2, 24, 2, 195, 0, 216, 0, 211, 0, 164, 0, 216, 0, 195, 0, 211, 0, 229, 0, 252, 1, 216, 0, 232, 0, 211, 0, 211, 0, 232, 0, 229, 0, 229, 0, 31, 2, 252, 1, 31, 2, 253, 1, 252, 1, 232, 0, 250, 0, 229, 0, 229, 0, 250, 0, 31, 2, 216, 0, 5, 1, 232, 0, 232, 0, 5, 1, 250, 0, 250, 0, 10, 2, 31, 2, 10, 2, 33, 2, 31, 2, 250, 0, 32, 1, 10, 2, 32, 1, 30, 2, 10, 2, 30, 2, 11, 2, 10, 2, 250, 0, 41, 1, 32, 1, 5, 1, 41, 1, 250, 0, 32, 1, 68, 1, 30, 2, 41, 1, 68, 1, 32, 1, 68, 1, 243, 1, 30, 2, 243, 1, 242, 1, 30, 2, 41, 1, 80, 1, 68, 1, 5, 1, 80, 1, 41, 1, 80, 1, 114, 1, 68, 1, 80, 1, 18, 0, 114, 1, 83, 1, 80, 1, 5, 1, 83, 1, 18, 0, 80, 1, 218, 0, 83, 1, 5, 1, 218, 0, 5, 1, 216, 0, 83, 1, 20, 0, 18, 0, 218, 0, 216, 0, 164, 0, 93, 0, 83, 1, 218, 0, 93, 0, 20, 0, 83, 1, 93, 0, 218, 0, 164, 0, 20, 0, 93, 0, 91, 0, 20, 0, 91, 0, 18, 0, 93, 0, 164, 0, 91, 0, 18, 0, 91, 0, 90, 0, 18, 0, 90, 0, 53, 0, 91, 0, 164, 0, 125, 0, 91, 0, 125, 0, 90, 0, 125, 0, 164, 0, 157, 0, 53, 0, 90, 0, 87, 0, 125, 0, 157, 0, 123, 0, 90, 0, 225, 1, 87, 0, 225, 1, 90, 0, 229, 1, 87, 0, 225, 1, 226, 1, 229, 1, 90, 0, 230, 1, 230, 1, 90, 0, 125, 0, 87, 0, 226, 1, 224, 1, 87, 0, 224, 1, 228, 1, 87, 0, 228, 1, 123, 0, 231, 1, 123, 0, 228, 1, 233, 1, 123, 0, 231, 1, 232, 1, 123, 0, 233, 1, 123, 0, 232, 1, 125, 0, 230, 1, 125, 0, 227, 1, 125, 0, 232, 1, 234, 1, 125, 0, 235, 1, 227, 1, 125, 0, 234, 1, 235, 1, 209, 1, 65, 0, 12, 0, 65, 0, 248, 1, 249, 1, 65, 0, 20, 2, 248, 1, 209, 1, 20, 2, 65, 0, 209, 1, 19, 2, 20, 2, 65, 0, 249, 1, 0, 2, 209, 1, 25, 2, 19, 2, 209, 1, 3, 2, 25, 2, 65, 0, 0, 2, 168, 0, 168, 0, 0, 2, 1, 2, 168, 0, 1, 2, 7, 2, 168, 0, 7, 2, 213, 0, 213, 0, 7, 2, 8, 2, 213, 0, 8, 2, 9, 2, 168, 0, 172, 0, 65, 0, 172, 0, 168, 0, 213, 0, 172, 0, 72, 0, 65, 0, 12, 0, 65, 0, 72, 0, 172, 0, 142, 0, 72, 0, 12, 0, 72, 0, 45, 0, 72, 0, 142, 0, 45, 0, 203, 0, 142, 0, 172, 0, 213, 0, 203, 0, 172, 0, 45, 0, 142, 0, 181, 0, 142, 0, 203, 0, 181, 0, 213, 0, 235, 0, 203, 0, 181, 0, 203, 0, 238, 0, 238, 0, 203, 0, 235, 0, 213, 0, 30, 1, 235, 0, 238, 0, 235, 0, 30, 1, 213, 0, 9, 2, 248, 0, 213, 0, 248, 0, 30, 1, 248, 0, 9, 2, 18, 2, 248, 0, 18, 2, 13, 2, 248, 0, 13, 2, 23, 1, 23, 1, 13, 2, 14, 2, 23, 1, 14, 2, 22, 2, 248, 0, 23, 1, 62, 1, 62, 1, 30, 1, 248, 0, 23, 1, 22, 2, 124, 1, 124, 1, 62, 1, 23, 1, 124, 1, 22, 2, 28, 2, 124, 1, 28, 2, 32, 2, 124, 1, 32, 2, 154, 1, 154, 1, 32, 2, 29, 2, 124, 1, 130, 1, 62, 1, 124, 1, 154, 1, 130, 1, 154, 1, 29, 2, 16, 2, 130, 1, 134, 1, 62, 1, 62, 1, 134, 1, 30, 1, 130, 1, 154, 1, 158, 1, 130, 1, 158, 1, 134, 1, 109, 1, 30, 1, 134, 1, 158, 1, 109, 1, 134, 1, 238, 0, 30, 1, 109, 1, 154, 1, 16, 2, 173, 1, 173, 1, 16, 2, 17, 2, 173, 1, 17, 2, 250, 1, 154, 1, 173, 1, 181, 1, 154, 1, 181, 1, 158, 1, 173, 1, 250, 1, 185, 1, 173, 1, 185, 1, 181, 1, 185, 1, 250, 1, 251, 1, 185, 1, 251, 1, 21, 2, 181, 1, 171, 1, 158, 1, 158, 1, 171, 1, 109, 1, 185, 1, 193, 1, 181, 1, 193, 1, 171, 1, 181, 1, 185, 1, 21, 2, 197, 1, 197, 1, 21, 2, 2, 2, 197, 1, 2, 2, 3, 2, 197, 1, 3, 2, 209, 1, 197, 1, 198, 1, 185, 1, 197, 1, 209, 1, 198, 1, 185, 1, 198, 1, 193, 1, 198, 1, 209, 1, 211, 1, 198, 1, 211, 1, 193, 1, 12, 0, 211, 1, 209, 1, 211, 1, 12, 0, 212, 1, 193, 1, 211, 1, 212, 1, 12, 0, 45, 0, 212, 1, 212, 1, 201, 1, 193, 1, 193, 1, 201, 1, 171, 1, 212, 1, 45, 0, 151, 0, 212, 1, 151, 0, 201, 1, 45, 0, 181, 0, 151, 0, 201, 1, 184, 1, 171, 1, 201, 1, 151, 0, 184, 1, 171, 1, 184, 1, 109, 1, 181, 0, 45, 1, 151, 0, 184, 1, 151, 0, 45, 1, 109, 1, 184, 1, 45, 1, 45, 1, 181, 0, 238, 0, 45, 1, 238, 0, 109, 1, 21, 0, 4, 0, 25, 0, 21, 0, 25, 0, 44, 0, 21, 0, 44, 0, 64, 0, 21, 0, 64, 0, 82, 0, 56, 0, 82, 0, 77, 0, 56, 0, 21, 0, 82, 0, 37, 0, 21, 0, 56, 0, 17, 0, 21, 0, 37, 0, 165, 1, 21, 0, 17, 0, 165, 1, 129, 1, 21, 0, 129, 1, 4, 0, 21, 0, 145, 1, 129, 1, 165, 1, 129, 1, 153, 1, 4, 0, 125, 1, 129, 1, 145, 1, 129, 1, 133, 1, 153, 1, 129, 1, 113, 1, 133, 1, 105, 1, 129, 1, 125, 1, 105, 1, 69, 1, 129, 1, 69, 1, 92, 1, 113, 1, 69, 1, 113, 1, 129, 1, 85, 1, 69, 1, 105, 1, 64, 1, 69, 1, 85, 1, 69, 1, 73, 1, 92, 1, 29, 1, 73, 1, 69, 1, 44, 1, 29, 1, 64, 1, 29, 1, 52, 1, 73, 1, 29, 1, 33, 1, 52, 1, 25, 1, 12, 1, 29, 1, 64, 1, 29, 1, 69, 1, 12, 1, 33, 1, 29, 1, 25, 1, 29, 1, 44, 1, 25, 1, 227, 1, 12, 1, 227, 1, 235, 1, 12, 1, 249, 0, 12, 1, 235, 1, 25, 1, 230, 1, 227, 1, 6, 1, 230, 1, 25, 1, 249, 0, 235, 1, 234, 1, 232, 1, 249, 0, 234, 1, 4, 0, 27, 0, 25, 0, 25, 0, 27, 0, 47, 0, 4, 0, 6, 0, 27, 0, 25, 0, 47, 0, 44, 0, 153, 1, 6, 0, 4, 0, 44, 0, 47, 0, 67, 0, 153, 1, 155, 1, 6, 0, 44, 0, 67, 0, 64, 0, 133, 1, 155, 1, 153, 1, 64, 0, 67, 0, 88, 0, 133, 1, 135, 1, 155, 1, 64, 0, 88, 0, 86, 0, 113, 1, 135, 1, 133, 1, 86, 0, 88, 0, 108, 0, 113, 1, 115, 1, 135, 1, 86, 0, 108, 0, 105, 0, 92, 1, 115, 1, 113, 1, 105, 0, 108, 0, 127, 0, 92, 1, 95, 1, 115, 1, 105, 0, 127, 0, 126, 0, 73, 1, 95, 1, 92, 1, 126, 0, 127, 0, 148, 0, 73, 1, 75, 1, 95, 1, 126, 0, 148, 0, 145, 0, 52, 1, 75, 1, 73, 1, 145, 0, 148, 0, 167, 0, 52, 1, 54, 1, 75, 1, 145, 0, 167, 0, 165, 0, 33, 1, 54, 1, 52, 1, 165, 0, 167, 0, 186, 0, 33, 1, 34, 1, 54, 1, 165, 0, 186, 0, 183, 0, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 249, 0, 14, 1, 12, 1, 249, 0, 251, 0, 14, 1, 249, 0, 233, 1, 251, 0, 249, 0, 232, 1, 233, 1, 6, 0, 30, 0, 27, 0, 27, 0, 30, 0, 47, 0, 155, 1, 30, 0, 6, 0, 47, 0, 30, 0, 92, 0, 47, 0, 92, 0, 67, 0, 67, 0, 92, 0, 88, 0, 155, 1, 139, 1, 30, 0, 135, 1, 139, 1, 155, 1, 115, 1, 139, 1, 135, 1, 95, 1, 139, 1, 115, 1, 88, 0, 92, 0, 112, 0, 88, 0, 112, 0, 108, 0, 108, 0, 112, 0, 127, 0, 92, 0, 115, 0, 112, 0, 92, 0, 95, 0, 115, 0, 112, 0, 115, 0, 135, 0, 92, 0, 75, 0, 95, 0, 30, 0, 75, 0, 92, 0, 30, 0, 54, 0, 75, 0, 30, 0, 35, 0, 54, 0, 30, 0, 15, 0, 35, 0, 139, 1, 15, 0, 30, 0, 112, 0, 135, 0, 156, 0, 139, 1, 163, 1, 15, 0, 139, 1, 143, 1, 163, 1, 139, 1, 123, 1, 143, 1, 112, 0, 156, 0, 171, 0, 171, 0, 156, 0, 176, 0, 127, 0, 112, 0, 171, 0, 127, 0, 171, 0, 148, 0, 171, 0, 176, 0, 193, 0, 148, 0, 171, 0, 167, 0, 99, 1, 123, 1, 139, 1, 99, 1, 103, 1, 123, 1, 95, 1, 99, 1, 139, 1, 75, 1, 99, 1, 95, 1, 99, 1, 82, 1, 103, 1, 54, 1, 99, 1, 75, 1, 58, 1, 82, 1, 99, 1, 54, 1, 58, 1, 99, 1, 58, 1, 63, 1, 82, 1, 34, 1, 58, 1, 54, 1, 18, 1, 63, 1, 58, 1, 34, 1, 18, 1, 58, 1, 18, 1, 43, 1, 63, 1, 14, 1, 18, 1, 34, 1, 18, 1, 22, 1, 43, 1, 251, 0, 18, 1, 14, 1, 228, 1, 22, 1, 18, 1, 233, 1, 231, 1, 251, 0, 228, 1, 251, 0, 231, 1, 228, 1, 3, 1, 22, 1, 228, 1, 224, 1, 3, 1, 224, 1, 226, 1, 3, 1, 15, 0, 37, 0, 35, 0, 35, 0, 37, 0, 56, 0, 15, 0, 17, 0, 37, 0, 35, 0, 56, 0, 54, 0, 163, 1, 17, 0, 15, 0, 54, 0, 56, 0, 77, 0, 163, 1, 165, 1, 17, 0, 54, 0, 77, 0, 75, 0, 143, 1, 165, 1, 163, 1, 75, 0, 77, 0, 98, 0, 143, 1, 145, 1, 165, 1, 75, 0, 98, 0, 95, 0, 123, 1, 145, 1, 143, 1, 95, 0, 98, 0, 118, 0, 123, 1, 125, 1, 145, 1, 95, 0, 118, 0, 115, 0, 103, 1, 125, 1, 123, 1, 115, 0, 118, 0, 137, 0, 103, 1, 105, 1, 125, 1, 115, 0, 137, 0, 135, 0, 82, 1, 105, 1, 103, 1, 135, 0, 137, 0, 158, 0, 82, 1, 85, 1, 105, 1, 135, 0, 158, 0, 156, 0, 63, 1, 85, 1, 82, 1, 156, 0, 158, 0, 177, 0, 63, 1, 64, 1, 85, 1, 156, 0, 177, 0, 176, 0, 43, 1, 64, 1, 63, 1, 176, 0, 177, 0, 196, 0, 43, 1, 44, 1, 64, 1, 176, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 22, 1, 44, 1, 43, 1, 22, 1, 25, 1, 44, 1, 3, 1, 25, 1, 22, 1, 3, 1, 6, 1, 25, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 82, 0, 64, 0, 86, 0, 77, 0, 82, 0, 98, 0, 82, 0, 86, 0, 105, 0, 82, 0, 105, 0, 126, 0, 82, 0, 126, 0, 141, 0, 118, 0, 82, 0, 141, 0, 98, 0, 82, 0, 118, 0, 118, 0, 141, 0, 137, 0, 141, 0, 126, 0, 145, 0, 141, 0, 145, 0, 163, 0, 158, 0, 141, 0, 163, 0, 137, 0, 141, 0, 158, 0, 158, 0, 163, 0, 177, 0, 145, 0, 165, 0, 163, 0, 163, 0, 218, 1, 177, 0, 218, 1, 196, 0, 177, 0, 163, 0, 240, 1, 218, 1, 163, 0, 241, 1, 240, 1, 163, 0, 238, 1, 241, 1, 183, 0, 239, 1, 238, 1, 196, 0, 218, 1, 219, 1, 219, 1, 220, 1, 196, 0, 238, 1, 163, 0, 165, 0, 238, 1, 165, 0, 183, 0, 167, 0, 222, 1, 186, 0, 167, 0, 171, 0, 222, 1, 222, 1, 237, 1, 186, 0, 186, 0, 237, 1, 236, 1, 171, 0, 193, 0, 222, 1, 223, 1, 222, 1, 193, 0, 221, 1, 223, 1, 193, 0, 229, 1, 6, 1, 225, 1, 230, 1, 6, 1, 229, 1, 251, 0, 228, 1, 18, 1, 19, 2, 5, 2, 255, 1, 25, 2, 5, 2, 19, 2, 255, 1, 20, 2, 19, 2, 3, 2, 5, 2, 25, 2, 20, 2, 255, 1, 4, 2, 4, 2, 255, 1, 254, 1, 20, 2, 4, 2, 248, 1, 12, 2, 248, 1, 4, 2, 12, 2, 249, 1, 248, 1, 3, 2, 243, 1, 5, 2, 5, 2, 243, 1, 244, 1, 2, 2, 243, 1, 3, 2, 247, 1, 249, 1, 12, 2, 247, 1, 12, 2, 27, 2, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 2, 2, 30, 2, 243, 1, 243, 1, 30, 2, 242, 1, 21, 2, 30, 2, 2, 2, 251, 1, 30, 2, 21, 2, 250, 1, 30, 2, 251, 1, 246, 1, 7, 2, 247, 1, 246, 1, 247, 1, 245, 1, 246, 1, 8, 2, 7, 2, 15, 2, 8, 2, 246, 1, 15, 2, 246, 1, 6, 2, 15, 2, 9, 2, 8, 2, 15, 2, 18, 2, 9, 2, 15, 2, 13, 2, 18, 2, 24, 2, 13, 2, 15, 2, 24, 2, 15, 2, 23, 2, 24, 2, 14, 2, 13, 2, 252, 1, 14, 2, 24, 2, 252, 1, 24, 2, 26, 2, 252, 1, 22, 2, 14, 2, 252, 1, 28, 2, 22, 2, 252, 1, 32, 2, 28, 2, 32, 2, 252, 1, 31, 2, 31, 2, 252, 1, 253, 1, 32, 2, 31, 2, 29, 2, 29, 2, 31, 2, 16, 2, 16, 2, 31, 2, 17, 2, 17, 2, 31, 2, 10, 2, 10, 2, 31, 2, 33, 2, 17, 2, 10, 2, 250, 1, 250, 1, 10, 2, 30, 2, 30, 2, 10, 2, 11, 2), 0.0373354, PackedByteArray(12, 2, 218, 1, 240, 1, 12, 2, 219, 1, 218, 1, 12, 2, 220, 1, 219, 1, 220, 1, 12, 2, 221, 1, 218, 0, 225, 1, 12, 2, 240, 1, 247, 1, 12, 2, 240, 1, 245, 1, 247, 1, 15, 2, 245, 1, 240, 1, 15, 2, 246, 1, 245, 1, 241, 1, 15, 2, 240, 1, 238, 1, 15, 2, 241, 1, 239, 1, 15, 2, 238, 1, 15, 2, 239, 1, 236, 1, 12, 2, 255, 1, 5, 2, 242, 1, 12, 2, 5, 2, 11, 2, 242, 1, 30, 2, 11, 2, 12, 2, 242, 1, 11, 2, 33, 2, 31, 2, 252, 1, 11, 2, 31, 2, 31, 2, 253, 1, 252, 1, 218, 0, 11, 2, 252, 1, 218, 0, 12, 2, 11, 2, 252, 1, 26, 2, 24, 2, 15, 2, 252, 1, 24, 2, 24, 2, 23, 2, 15, 2, 218, 0, 252, 1, 15, 2, 233, 1, 15, 2, 231, 1, 232, 1, 15, 2, 233, 1, 15, 2, 232, 1, 218, 0, 231, 1, 15, 2, 228, 1, 12, 2, 228, 1, 15, 2, 218, 0, 232, 1, 234, 1, 12, 2, 224, 1, 228, 1, 12, 2, 226, 1, 224, 1, 12, 2, 225, 1, 226, 1, 225, 1, 218, 0, 229, 1, 218, 0, 234, 1, 235, 1, 229, 1, 218, 0, 230, 1, 218, 0, 235, 1, 227, 1, 230, 1, 218, 0, 227, 1, 12, 2, 15, 2, 97, 0, 15, 2, 236, 1, 97, 0, 221, 1, 12, 2, 97, 0, 97, 0, 236, 1, 237, 1, 221, 1, 97, 0, 223, 1, 97, 0, 237, 1, 223, 1, 19, 2, 249, 1, 3, 2, 249, 1, 0, 2, 1, 2, 3, 2, 249, 1, 45, 0, 1, 2, 45, 0, 249, 1, 8, 2, 45, 0, 1, 2, 1, 2, 7, 2, 8, 2, 3, 2, 45, 0, 171, 1, 251, 1, 3, 2, 171, 1, 8, 2, 14, 2, 45, 0, 45, 0, 14, 2, 171, 1, 8, 2, 9, 2, 14, 2, 17, 2, 251, 1, 171, 1, 17, 2, 250, 1, 251, 1, 17, 2, 171, 1, 28, 2, 28, 2, 171, 1, 14, 2, 14, 2, 22, 2, 28, 2, 153, 1, 47, 0, 25, 0, 25, 0, 47, 0, 44, 0, 44, 0, 47, 0, 64, 0, 64, 0, 47, 0, 86, 0, 153, 1, 155, 1, 47, 0, 86, 0, 47, 0, 108, 0, 133, 1, 155, 1, 153, 1, 86, 0, 108, 0, 105, 0, 133, 1, 95, 1, 155, 1, 105, 0, 108, 0, 186, 0, 113, 1, 95, 1, 133, 1, 92, 1, 95, 1, 113, 1, 73, 1, 95, 1, 92, 1, 52, 1, 95, 1, 73, 1, 52, 1, 34, 1, 95, 1, 33, 1, 34, 1, 52, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 249, 0, 14, 1, 12, 1, 249, 0, 233, 1, 14, 1, 249, 0, 232, 1, 233, 1, 105, 0, 186, 0, 126, 0, 126, 0, 186, 0, 145, 0, 145, 0, 186, 0, 165, 0, 165, 0, 186, 0, 183, 0, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 47, 0, 163, 1, 35, 0, 47, 0, 35, 0, 54, 0, 47, 0, 54, 0, 75, 0, 47, 0, 75, 0, 95, 0, 47, 0, 95, 0, 115, 0, 47, 0, 115, 0, 108, 0, 95, 1, 163, 1, 47, 0, 155, 1, 95, 1, 47, 0, 95, 1, 143, 1, 163, 1, 95, 1, 123, 1, 143, 1, 95, 1, 103, 1, 123, 1, 95, 1, 82, 1, 103, 1, 34, 1, 82, 1, 95, 1, 34, 1, 63, 1, 82, 1, 22, 1, 63, 1, 34, 1, 22, 1, 43, 1, 63, 1, 14, 1, 22, 1, 34, 1, 14, 1, 228, 1, 22, 1, 228, 1, 14, 1, 231, 1, 228, 1, 3, 1, 22, 1, 228, 1, 224, 1, 3, 1, 224, 1, 226, 1, 3, 1, 163, 1, 37, 0, 35, 0, 35, 0, 37, 0, 56, 0, 163, 1, 17, 0, 37, 0, 35, 0, 56, 0, 54, 0, 163, 1, 145, 1, 17, 0, 54, 0, 56, 0, 77, 0, 143, 1, 145, 1, 163, 1, 54, 0, 77, 0, 75, 0, 123, 1, 145, 1, 143, 1, 75, 0, 77, 0, 98, 0, 123, 1, 105, 1, 145, 1, 75, 0, 98, 0, 95, 0, 103, 1, 105, 1, 123, 1, 95, 0, 98, 0, 118, 0, 82, 1, 105, 1, 103, 1, 95, 0, 118, 0, 115, 0, 82, 1, 64, 1, 105, 1, 115, 0, 118, 0, 137, 0, 63, 1, 64, 1, 82, 1, 115, 0, 137, 0, 135, 0, 43, 1, 64, 1, 63, 1, 135, 0, 137, 0, 156, 0, 43, 1, 25, 1, 64, 1, 156, 0, 137, 0, 177, 0, 22, 1, 25, 1, 43, 1, 156, 0, 177, 0, 176, 0, 3, 1, 25, 1, 22, 1, 176, 0, 177, 0, 196, 0, 3, 1, 6, 1, 25, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 176, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 17, 0, 25, 0, 37, 0, 145, 1, 25, 0, 17, 0, 145, 1, 153, 1, 25, 0, 145, 1, 133, 1, 153, 1, 145, 1, 113, 1, 133, 1, 37, 0, 25, 0, 60, 0, 25, 0, 44, 0, 60, 0, 60, 0, 44, 0, 64, 0, 37, 0, 60, 0, 56, 0, 56, 0, 60, 0, 77, 0, 60, 0, 105, 0, 126, 0, 60, 0, 86, 0, 105, 0, 137, 0, 126, 0, 145, 0, 98, 0, 60, 0, 126, 0, 98, 0, 126, 0, 118, 0, 118, 0, 126, 0, 137, 0, 137, 0, 145, 0, 165, 0, 137, 0, 165, 0, 177, 0, 165, 0, 218, 1, 177, 0, 218, 1, 196, 0, 177, 0, 238, 1, 165, 0, 183, 0, 165, 0, 238, 1, 241, 1, 165, 0, 241, 1, 240, 1, 165, 0, 240, 1, 218, 1, 196, 0, 218, 1, 219, 1, 219, 1, 220, 1, 196, 0, 60, 0, 64, 0, 86, 0, 77, 0, 60, 0, 98, 0, 108, 0, 115, 0, 186, 0, 115, 0, 135, 0, 156, 0, 115, 0, 156, 0, 186, 0, 186, 0, 156, 0, 176, 0, 186, 0, 176, 0, 193, 0, 186, 0, 193, 0, 223, 1, 221, 1, 223, 1, 193, 0, 223, 1, 237, 1, 186, 0, 186, 0, 237, 1, 236, 1, 183, 0, 239, 1, 238, 1, 232, 1, 249, 0, 234, 1, 249, 0, 235, 1, 234, 1, 233, 1, 231, 1, 14, 1, 229, 1, 6, 1, 225, 1, 230, 1, 6, 1, 229, 1, 227, 1, 235, 1, 12, 1, 249, 0, 12, 1, 235, 1, 25, 1, 227, 1, 12, 1, 25, 1, 230, 1, 227, 1, 6, 1, 230, 1, 25, 1, 12, 1, 33, 1, 25, 1, 25, 1, 33, 1, 52, 1, 25, 1, 52, 1, 73, 1, 64, 1, 25, 1, 92, 1, 25, 1, 73, 1, 92, 1, 105, 1, 92, 1, 145, 1, 64, 1, 92, 1, 105, 1, 92, 1, 113, 1, 145, 1, 19, 2, 5, 2, 255, 1, 3, 2, 5, 2, 19, 2, 255, 1, 249, 1, 19, 2, 3, 2, 242, 1, 5, 2, 249, 1, 255, 1, 12, 2, 3, 2, 30, 2, 242, 1, 251, 1, 30, 2, 3, 2, 250, 1, 30, 2, 251, 1, 250, 1, 11, 2, 30, 2, 247, 1, 249, 1, 12, 2, 17, 2, 11, 2, 250, 1, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 246, 1, 7, 2, 247, 1, 246, 1, 247, 1, 245, 1, 246, 1, 8, 2, 7, 2, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 15, 2, 14, 2, 9, 2, 24, 2, 14, 2, 15, 2, 24, 2, 15, 2, 23, 2, 252, 1, 14, 2, 24, 2, 252, 1, 24, 2, 26, 2, 252, 1, 22, 2, 14, 2, 252, 1, 28, 2, 22, 2, 252, 1, 17, 2, 28, 2, 17, 2, 252, 1, 31, 2, 31, 2, 252, 1, 253, 1, 17, 2, 31, 2, 11, 2, 11, 2, 31, 2, 33, 2), 0.0615714, PackedByteArray(221, 1, 12, 2, 223, 1, 220, 1, 12, 2, 221, 1, 12, 2, 220, 1, 219, 1, 219, 1, 247, 1, 12, 2, 219, 1, 246, 1, 247, 1, 15, 2, 246, 1, 219, 1, 12, 2, 15, 2, 223, 1, 238, 1, 15, 2, 219, 1, 15, 2, 236, 1, 223, 1, 239, 1, 15, 2, 238, 1, 15, 2, 239, 1, 236, 1, 12, 2, 255, 1, 5, 2, 242, 1, 12, 2, 5, 2, 230, 1, 12, 2, 242, 1, 230, 1, 242, 1, 30, 2, 230, 1, 30, 2, 252, 1, 252, 1, 234, 1, 230, 1, 252, 1, 232, 1, 234, 1, 15, 2, 232, 1, 252, 1, 15, 2, 252, 1, 23, 2, 232, 1, 15, 2, 233, 1, 233, 1, 15, 2, 224, 1, 12, 2, 224, 1, 15, 2, 12, 2, 226, 1, 224, 1, 12, 2, 225, 1, 226, 1, 230, 1, 225, 1, 12, 2, 19, 2, 249, 1, 3, 2, 249, 1, 0, 2, 1, 2, 28, 2, 3, 2, 1, 2, 251, 1, 3, 2, 28, 2, 28, 2, 1, 2, 8, 2, 8, 2, 14, 2, 28, 2, 153, 1, 108, 0, 86, 0, 86, 0, 108, 0, 126, 0, 126, 0, 108, 0, 145, 0, 108, 0, 239, 1, 145, 0, 108, 0, 236, 1, 239, 1, 153, 1, 14, 1, 108, 0, 92, 1, 14, 1, 153, 1, 12, 1, 14, 1, 92, 1, 249, 0, 14, 1, 12, 1, 249, 0, 233, 1, 14, 1, 249, 0, 232, 1, 233, 1, 35, 0, 37, 0, 77, 0, 35, 0, 77, 0, 118, 0, 35, 0, 118, 0, 115, 0, 115, 0, 118, 0, 137, 0, 115, 0, 137, 0, 196, 0, 115, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 123, 1, 37, 0, 35, 0, 123, 1, 125, 1, 37, 0, 123, 1, 105, 1, 125, 1, 123, 1, 64, 1, 105, 1, 22, 1, 64, 1, 123, 1, 22, 1, 25, 1, 64, 1, 22, 1, 6, 1, 25, 1, 22, 1, 225, 1, 6, 1, 22, 1, 226, 1, 225, 1, 37, 0, 153, 1, 77, 0, 108, 0, 35, 0, 115, 0, 108, 0, 115, 0, 193, 0, 14, 1, 35, 0, 108, 0, 14, 1, 123, 1, 35, 0, 14, 1, 22, 1, 123, 1, 14, 1, 224, 1, 22, 1, 108, 0, 193, 0, 223, 1, 221, 1, 223, 1, 193, 0, 108, 0, 223, 1, 236, 1, 77, 0, 153, 1, 118, 0, 118, 0, 153, 1, 126, 0, 153, 1, 86, 0, 126, 0, 118, 0, 126, 0, 137, 0, 137, 0, 126, 0, 145, 0, 137, 0, 145, 0, 196, 0, 145, 0, 238, 1, 219, 1, 145, 0, 239, 1, 238, 1, 145, 0, 219, 1, 196, 0, 219, 1, 220, 1, 196, 0, 37, 0, 125, 1, 153, 1, 105, 1, 153, 1, 125, 1, 105, 1, 92, 1, 153, 1, 64, 1, 25, 1, 105, 1, 232, 1, 249, 0, 234, 1, 233, 1, 224, 1, 14, 1, 224, 1, 226, 1, 22, 1, 230, 1, 6, 1, 225, 1, 6, 1, 230, 1, 25, 1, 25, 1, 230, 1, 12, 1, 230, 1, 234, 1, 12, 1, 249, 0, 12, 1, 234, 1, 25, 1, 92, 1, 105, 1, 25, 1, 12, 1, 92, 1, 3, 2, 249, 1, 1, 2, 19, 2, 5, 2, 255, 1, 3, 2, 5, 2, 19, 2, 255, 1, 249, 1, 19, 2, 3, 2, 242, 1, 5, 2, 249, 1, 255, 1, 12, 2, 3, 2, 30, 2, 242, 1, 251, 1, 30, 2, 3, 2, 28, 2, 30, 2, 251, 1, 247, 1, 249, 1, 12, 2, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 8, 2, 1, 2, 246, 1, 8, 2, 247, 1, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 15, 2, 14, 2, 9, 2, 23, 2, 14, 2, 15, 2, 252, 1, 14, 2, 23, 2, 252, 1, 28, 2, 14, 2, 28, 2, 252, 1, 30, 2, 8, 2, 9, 2, 14, 2), 0.0738546, PackedByteArray(221, 1, 233, 1, 223, 1, 233, 1, 236, 1, 223, 1, 221, 1, 244, 1, 233, 1, 220, 1, 244, 1, 221, 1, 244, 1, 220, 1, 219, 1, 244, 1, 224, 1, 233, 1, 244, 1, 226, 1, 224, 1, 244, 1, 225, 1, 226, 1, 234, 1, 225, 1, 244, 1, 219, 1, 246, 1, 244, 1, 234, 1, 244, 1, 252, 1, 252, 1, 232, 1, 234, 1, 233, 1, 232, 1, 252, 1, 15, 2, 246, 1, 219, 1, 233, 1, 252, 1, 15, 2, 15, 2, 236, 1, 233, 1, 15, 2, 252, 1, 26, 2, 15, 2, 239, 1, 236, 1, 239, 1, 15, 2, 219, 1, 115, 0, 64, 1, 118, 0, 118, 0, 221, 1, 115, 0, 118, 0, 220, 1, 221, 1, 22, 1, 64, 1, 115, 0, 22, 1, 25, 1, 64, 1, 22, 1, 6, 1, 25, 1, 22, 1, 225, 1, 6, 1, 22, 1, 226, 1, 225, 1, 64, 1, 44, 0, 118, 0, 64, 1, 92, 1, 44, 0, 25, 1, 92, 1, 64, 1, 44, 0, 239, 1, 219, 1, 44, 0, 219, 1, 118, 0, 219, 1, 220, 1, 118, 0, 47, 0, 115, 0, 223, 1, 47, 0, 223, 1, 236, 1, 221, 1, 223, 1, 115, 0, 95, 1, 115, 0, 47, 0, 95, 1, 22, 1, 115, 0, 95, 1, 224, 1, 22, 1, 233, 1, 224, 1, 95, 1, 47, 0, 239, 1, 44, 0, 47, 0, 236, 1, 239, 1, 44, 0, 95, 1, 47, 0, 92, 1, 95, 1, 44, 0, 249, 0, 95, 1, 92, 1, 249, 0, 233, 1, 95, 1, 249, 0, 232, 1, 233, 1, 232, 1, 249, 0, 234, 1, 234, 1, 6, 1, 225, 1, 6, 1, 234, 1, 25, 1, 25, 1, 234, 1, 249, 0, 224, 1, 226, 1, 22, 1, 25, 1, 249, 0, 92, 1, 246, 1, 14, 2, 244, 1, 14, 2, 252, 1, 244, 1, 15, 2, 14, 2, 246, 1, 252, 1, 14, 2, 26, 2, 26, 2, 14, 2, 15, 2)], +"primitive": 3, +"vertex_count": 546, +"vertex_data": PackedByteArray(70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_gro0q"] resource_name = "teacup_Sphere" -surfaces/0 = { -"aabb": AABB( -0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12 ), -"array_data": PoolByteArray( 70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 92, 222, 221, 17, 94, 49, 36, 55, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 156, 130, 112, 72, 115, 52, 63, 59, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 176, 130, 114, 73, 92, 52, 237, 58, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 79, 226, 222, 17, 94, 49, 101, 55, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 0, 0, 221, 17, 94, 49, 145, 55, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 73, 229, 222, 17, 94, 49, 145, 55, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 120, 155, 76, 79, 110, 53, 136, 59, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 183, 27, 221, 17, 179, 55, 229, 54, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 0, 0, 221, 17, 94, 49, 162, 55, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 104, 152, 81, 79, 29, 53, 41, 59, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 0, 7, 40, 109, 99, 59, 112, 57, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 177, 30, 221, 17, 179, 55, 14, 55, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 86, 148, 89, 79, 219, 52, 220, 58, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 164, 34, 221, 17, 179, 55, 81, 55, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 0, 26, 54, 109, 16, 59, 148, 57, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 160, 47, 221, 17, 179, 55, 147, 55, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 70, 144, 99, 77, 165, 52, 155, 58, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 157, 53, 221, 17, 179, 55, 189, 55, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 127, 127, 222, 17, 94, 49, 165, 54, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 0, 63, 78, 111, 146, 58, 201, 57, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 127, 127, 222, 17, 94, 49, 183, 54, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 99, 203, 222, 17, 94, 49, 183, 54, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 53, 141, 107, 76, 117, 52, 96, 58, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 96, 209, 222, 17, 94, 49, 226, 54, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 26, 135, 118, 72, 73, 52, 40, 58, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 111, 241, 241, 7, 188, 48, 36, 55, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 121, 174, 54, 86, 52, 54, 78, 59, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 94, 243, 241, 7, 189, 48, 101, 55, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 106, 168, 60, 86, 180, 53, 253, 58, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 0, 0, 241, 7, 191, 48, 145, 55, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 85, 244, 241, 7, 191, 48, 145, 55, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 89, 162, 70, 85, 78, 53, 188, 58, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 170, 11, 242, 8, 111, 55, 228, 54, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 0, 0, 240, 8, 194, 48, 163, 55, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 162, 13, 241, 8, 112, 55, 14, 55, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 231, 6, 15, 121, 126, 59, 210, 57, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 145, 15, 241, 7, 112, 55, 81, 55, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 73, 157, 84, 83, 247, 52, 131, 58, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 234, 22, 39, 116, 35, 59, 223, 57, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 143, 32, 240, 7, 112, 55, 148, 55, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 56, 150, 97, 80, 170, 52, 81, 58, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 141, 40, 240, 7, 111, 55, 189, 55, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 127, 129, 240, 8, 194, 48, 165, 54, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 28, 140, 113, 74, 99, 52, 33, 58, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 126, 129, 242, 7, 191, 48, 183, 54, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 114, 215, 241, 7, 191, 48, 183, 54, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 238, 40, 56, 116, 219, 58, 232, 57, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 113, 224, 241, 7, 189, 48, 226, 54, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 115, 11, 11, 5, 29, 48, 36, 55, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 242, 56, 73, 114, 157, 58, 241, 57, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 121, 190, 36, 93, 212, 54, 253, 58, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 97, 9, 11, 5, 30, 48, 101, 55, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 0, 0, 12, 6, 34, 48, 145, 55, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 88, 8, 11, 5, 34, 48, 145, 55, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 245, 73, 88, 113, 102, 58, 248, 57, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 106, 183, 44, 93, 48, 54, 191, 58, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 169, 248, 12, 7, 44, 55, 227, 54, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 0, 0, 9, 4, 40, 48, 163, 55, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 250, 94, 104, 111, 50, 58, 255, 57, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 159, 247, 11, 6, 45, 55, 13, 55, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 90, 175, 58, 91, 171, 53, 141, 58, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 141, 245, 11, 5, 45, 55, 81, 55, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 139, 227, 12, 5, 45, 55, 148, 55, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 74, 167, 73, 88, 59, 53, 98, 58, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 138, 217, 14, 6, 44, 55, 191, 55, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 126, 129, 10, 5, 40, 48, 164, 54, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 57, 158, 89, 84, 214, 52, 60, 58, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 126, 129, 12, 6, 34, 48, 183, 54, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 118, 38, 10, 5, 34, 48, 183, 54, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 29, 144, 110, 76, 121, 52, 23, 58, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 117, 29, 11, 5, 30, 48, 227, 54, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 121, 206, 21, 102, 68, 55, 154, 58, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 93, 33, 33, 16, 9, 47, 36, 55, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 106, 197, 33, 101, 135, 54, 116, 58, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 79, 28, 34, 16, 13, 47, 100, 55, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 89, 186, 50, 97, 238, 53, 85, 58, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 0, 0, 34, 17, 22, 47, 144, 55, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 73, 25, 33, 16, 22, 47, 144, 55, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 212, 5, 229, 120, 126, 59, 56, 58, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 218, 20, 30, 125, 35, 59, 44, 58, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 184, 230, 33, 18, 234, 54, 225, 54, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 0, 0, 32, 16, 34, 47, 163, 55, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 176, 46, 98, 118, 82, 58, 208, 58, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 177, 228, 33, 17, 235, 54, 12, 55, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 73, 176, 67, 93, 107, 53, 58, 58, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 163, 223, 33, 16, 235, 54, 81, 55, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 224, 37, 53, 121, 218, 58, 34, 58, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 158, 209, 34, 16, 235, 54, 149, 55, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 56, 165, 84, 87, 246, 52, 33, 58, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 156, 202, 36, 16, 234, 54, 192, 55, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 126, 129, 32, 16, 34, 47, 164, 54, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 229, 53, 71, 117, 156, 58, 26, 58, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 126, 129, 34, 17, 22, 47, 183, 54, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 101, 53, 33, 16, 22, 47, 183, 54, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 28, 148, 107, 77, 137, 52, 10, 58, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 98, 47, 33, 17, 13, 47, 227, 54, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 236, 70, 87, 114, 102, 58, 19, 58, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 120, 225, 10, 114, 126, 55, 44, 58, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 74, 52, 52, 26, 231, 45, 36, 55, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 244, 91, 104, 111, 50, 58, 12, 58, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 64, 45, 52, 26, 235, 45, 100, 55, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 104, 212, 27, 109, 180, 54, 33, 58, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 0, 0, 53, 26, 243, 45, 144, 55, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 58, 41, 52, 26, 243, 45, 144, 55, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 86, 198, 47, 103, 17, 54, 22, 58, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 198, 215, 52, 27, 170, 54, 223, 54, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 0, 0, 51, 25, 255, 45, 164, 55, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 193, 211, 52, 26, 171, 54, 11, 55, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 70, 185, 65, 96, 133, 53, 13, 58, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 53, 172, 82, 89, 7, 53, 4, 58, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 182, 204, 52, 26, 171, 54, 81, 55, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 26, 150, 106, 78, 146, 52, 251, 57, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 175, 193, 53, 26, 171, 54, 150, 55, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 171, 188, 54, 26, 170, 54, 194, 55, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 126, 127, 51, 25, 255, 45, 163, 54, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 119, 249, 17, 123, 125, 55, 191, 57, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 100, 230, 34, 114, 181, 54, 203, 57, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 126, 127, 53, 26, 243, 45, 184, 54, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 85, 68, 52, 26, 243, 45, 184, 54, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 81, 62, 52, 26, 235, 45, 228, 54, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 196, 5, 207, 116, 99, 59, 155, 58, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 55, 71, 71, 35, 209, 44, 36, 55, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 80, 210, 54, 106, 19, 54, 213, 57, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 203, 20, 209, 122, 14, 59, 118, 58, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 47, 61, 71, 35, 212, 44, 99, 55, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 0, 0, 70, 35, 220, 44, 144, 55, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 43, 55, 70, 35, 220, 44, 144, 55, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 63, 193, 67, 97, 134, 53, 222, 57, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 211, 36, 56, 124, 202, 58, 90, 58, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 213, 201, 70, 36, 108, 54, 222, 54, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 0, 0, 69, 34, 227, 44, 165, 55, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 47, 177, 83, 90, 8, 53, 229, 57, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 209, 196, 70, 35, 109, 54, 10, 55, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 219, 52, 73, 119, 145, 58, 66, 58, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 201, 185, 71, 35, 108, 54, 81, 55, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 190, 177, 71, 35, 109, 54, 151, 55, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 22, 152, 106, 79, 147, 52, 236, 57, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 185, 173, 72, 35, 108, 54, 196, 55, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 126, 127, 69, 34, 227, 44, 162, 54, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 228, 69, 89, 115, 94, 58, 45, 58, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 95, 250, 39, 120, 77, 55, 84, 57, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 126, 127, 70, 35, 220, 44, 184, 54, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 71, 83, 70, 35, 220, 44, 184, 54, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 239, 91, 106, 111, 47, 58, 25, 58, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 65, 79, 71, 35, 212, 44, 228, 54, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 34, 92, 91, 46, 131, 43, 36, 55, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 82, 234, 52, 113, 138, 54, 119, 57, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 68, 216, 63, 105, 243, 53, 151, 57, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 29, 77, 90, 46, 134, 43, 100, 55, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 55, 200, 73, 97, 111, 53, 176, 57, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 0, 0, 90, 45, 141, 43, 144, 55, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 26, 70, 89, 45, 141, 43, 144, 55, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 230, 186, 92, 46, 47, 54, 221, 54, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 0, 0, 90, 45, 146, 43, 167, 55, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 42, 183, 86, 90, 250, 52, 200, 57, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 227, 179, 92, 46, 47, 54, 10, 55, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 20, 156, 107, 79, 140, 52, 221, 57, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 222, 164, 91, 46, 47, 54, 81, 55, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 180, 5, 191, 116, 47, 59, 241, 58, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 207, 159, 91, 46, 47, 54, 151, 55, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 76, 251, 61, 114, 224, 54, 239, 56, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 200, 156, 91, 46, 47, 54, 197, 55, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 127, 127, 89, 44, 146, 43, 161, 54, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 189, 20, 192, 121, 231, 58, 185, 58, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 127, 127, 89, 44, 141, 43, 183, 54, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 56, 100, 91, 45, 141, 43, 183, 54, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 67, 236, 68, 108, 57, 54, 43, 57, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 49, 97, 92, 45, 134, 43, 228, 54, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 56, 219, 73, 102, 180, 53, 93, 57, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 7, 119, 119, 59, 86, 41, 36, 55, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 200, 37, 66, 125, 174, 58, 140, 58, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 6, 98, 113, 59, 91, 41, 102, 55, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 210, 53, 80, 120, 125, 58, 101, 58, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 0, 0, 112, 56, 96, 41, 147, 55, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 5, 87, 112, 59, 96, 41, 147, 55, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 46, 203, 81, 95, 66, 53, 135, 57, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 221, 70, 94, 115, 81, 58, 68, 58, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 251, 169, 118, 58, 241, 53, 222, 54, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 0, 0, 114, 57, 92, 41, 169, 55, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 251, 159, 119, 59, 241, 53, 10, 55, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 35, 186, 91, 88, 221, 52, 173, 57, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 234, 91, 108, 111, 40, 58, 36, 58, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 249, 137, 119, 59, 242, 53, 81, 55, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 227, 135, 117, 59, 241, 53, 151, 55, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 18, 158, 110, 78, 125, 52, 208, 57, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 60, 251, 79, 106, 66, 54, 155, 56, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 217, 135, 116, 59, 241, 53, 195, 55, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 126, 127, 114, 57, 92, 41, 159, 54, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 53, 236, 82, 102, 193, 53, 236, 56, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 126, 127, 113, 56, 96, 41, 180, 54, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 39, 121, 118, 56, 96, 41, 180, 54, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 28, 120, 118, 57, 91, 41, 226, 54, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 45, 220, 85, 97, 89, 53, 45, 57, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 233, 103, 103, 76, 253, 37, 36, 55, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 37, 204, 90, 91, 1, 53, 101, 57, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 236, 86, 98, 74, 28, 38, 106, 55, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 28, 187, 98, 85, 179, 52, 151, 57, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 238, 78, 97, 73, 69, 38, 153, 55, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 0, 0, 115, 69, 69, 38, 153, 55, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 14, 159, 113, 76, 104, 52, 197, 57, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 0, 0, 114, 69, 66, 38, 174, 55, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 18, 178, 105, 76, 180, 53, 224, 54, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 161, 6, 177, 119, 230, 58, 55, 59, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 44, 251, 95, 96, 126, 53, 95, 56, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 20, 170, 103, 76, 179, 53, 12, 55, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 24, 154, 102, 75, 180, 53, 81, 55, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 174, 22, 178, 123, 177, 58, 239, 58, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 40, 150, 100, 75, 179, 53, 150, 55, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 38, 236, 96, 93, 43, 53, 190, 56, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 188, 40, 82, 123, 133, 58, 181, 58, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 126, 127, 113, 70, 66, 38, 153, 54, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 48, 148, 101, 74, 180, 53, 193, 55, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 208, 108, 107, 78, 69, 38, 175, 54, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 126, 127, 115, 69, 69, 38, 175, 54, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 201, 56, 91, 118, 96, 58, 131, 58, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 216, 106, 106, 78, 28, 38, 221, 54, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 32, 219, 98, 89, 233, 52, 11, 57, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 214, 73, 101, 114, 62, 58, 86, 58, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 27, 203, 101, 85, 177, 52, 76, 57, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 221, 64, 74, 80, 14, 30, 166, 55, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 0, 0, 101, 76, 14, 30, 166, 55, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 20, 186, 107, 80, 126, 52, 135, 57, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 231, 94, 112, 111, 31, 58, 45, 58, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 0, 0, 102, 75, 136, 30, 187, 55, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 35, 191, 86, 86, 116, 53, 228, 54, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 10, 158, 118, 74, 78, 52, 189, 57, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 38, 186, 84, 87, 116, 53, 14, 55, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 25, 250, 112, 82, 160, 52, 62, 56, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 44, 174, 82, 85, 118, 53, 81, 55, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 56, 168, 79, 84, 116, 53, 147, 55, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 22, 234, 113, 80, 130, 52, 165, 56, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 126, 129, 103, 75, 136, 30, 141, 54, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 61, 165, 80, 83, 116, 53, 190, 55, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 18, 216, 114, 78, 106, 52, 248, 56, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 14, 200, 115, 76, 86, 52, 63, 57, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 194, 91, 93, 89, 14, 30, 161, 54, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 126, 129, 102, 75, 14, 30, 161, 54, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 137, 7, 92, 125, 143, 58, 104, 59, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 11, 183, 118, 74, 67, 52, 126, 57, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 156, 26, 94, 122, 109, 58, 21, 59, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 5, 156, 123, 71, 49, 52, 185, 57, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 0, 249, 114, 56, 114, 51, 60, 56, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 0, 230, 114, 55, 163, 51, 163, 56, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 193, 63, 103, 115, 60, 58, 151, 58, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 0, 210, 116, 54, 205, 51, 247, 56, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 209, 79, 110, 112, 39, 58, 99, 58, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 229, 99, 117, 110, 19, 58, 52, 58, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 0, 193, 118, 54, 239, 51, 62, 57, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 0, 177, 120, 55, 6, 52, 125, 57, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 0, 152, 124, 56, 19, 52, 184, 57, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 231, 250, 77, 48, 177, 49, 88, 56, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 234, 234, 82, 47, 77, 50, 185, 56, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 238, 216, 90, 48, 203, 50, 7, 57, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 136, 31, 116, 114, 45, 58, 128, 59, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 242, 200, 100, 49, 55, 51, 73, 57, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 152, 44, 116, 113, 35, 58, 38, 59, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 245, 183, 107, 50, 149, 51, 132, 57, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 170, 58, 117, 112, 27, 58, 223, 58, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 251, 156, 118, 54, 235, 51, 188, 57, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 186, 71, 119, 111, 19, 58, 161, 58, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 212, 251, 54, 41, 28, 48, 145, 56, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 218, 236, 60, 40, 24, 49, 228, 56, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 203, 84, 121, 110, 13, 58, 106, 58, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 224, 219, 70, 41, 227, 49, 39, 57, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 224, 101, 123, 109, 7, 58, 55, 58, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 229, 203, 83, 43, 144, 50, 96, 57, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 236, 186, 97, 46, 40, 51, 147, 57, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 246, 158, 114, 52, 182, 51, 195, 57, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 196, 251, 37, 34, 162, 45, 226, 56, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 203, 236, 44, 33, 26, 48, 33, 57, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 211, 220, 58, 35, 37, 49, 85, 57, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 135, 50, 114, 20, 201, 57, 127, 59, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 219, 204, 73, 38, 6, 50, 129, 57, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 150, 59, 115, 19, 215, 57, 37, 59, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 228, 187, 89, 42, 207, 50, 168, 57, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 167, 70, 115, 18, 225, 57, 221, 58, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 242, 159, 110, 50, 137, 51, 205, 57, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 183, 80, 117, 18, 234, 57, 160, 58, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 200, 91, 120, 17, 242, 57, 106, 58, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 180, 251, 22, 25, 150, 43, 69, 57, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 221, 104, 123, 18, 249, 57, 55, 58, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 189, 236, 33, 25, 204, 46, 109, 57, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 200, 219, 50, 29, 156, 48, 142, 57, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 210, 203, 67, 34, 164, 49, 169, 57, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 221, 186, 84, 39, 143, 50, 194, 57, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 238, 158, 107, 49, 105, 51, 218, 57, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 0, 129, 127, 69, 31, 52, 242, 57, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 161, 250, 11, 13, 167, 41, 181, 57, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 135, 66, 95, 23, 105, 57, 99, 59, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 183, 231, 205, 110, 69, 53, 165, 55, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 0, 0, 204, 100, 69, 53, 165, 55, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 174, 234, 27, 16, 14, 46, 194, 57, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 0, 0, 204, 100, 67, 53, 186, 55, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 72, 26, 222, 106, 249, 56, 228, 54, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 150, 73, 96, 21, 142, 57, 15, 59, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 188, 216, 47, 23, 84, 48, 205, 57, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 79, 28, 223, 108, 249, 56, 14, 55, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 93, 33, 223, 110, 248, 56, 81, 55, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 166, 81, 99, 19, 171, 57, 205, 58, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 98, 47, 218, 110, 249, 56, 147, 55, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 201, 200, 65, 30, 111, 49, 215, 57, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 127, 127, 205, 101, 67, 53, 141, 54, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 100, 54, 216, 109, 249, 56, 190, 55, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 182, 89, 104, 18, 195, 57, 149, 58, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 214, 183, 82, 37, 108, 50, 224, 57, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 155, 203, 223, 101, 69, 53, 162, 54, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 127, 127, 205, 101, 69, 53, 162, 54, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 199, 98, 110, 17, 217, 57, 99, 58, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 236, 156, 106, 48, 88, 51, 233, 57, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 182, 204, 203, 100, 253, 52, 36, 55, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 221, 109, 117, 17, 237, 57, 52, 58, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 192, 211, 199, 101, 252, 52, 106, 55, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 198, 215, 196, 101, 249, 52, 152, 55, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 0, 0, 196, 96, 249, 52, 152, 55, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 137, 249, 15, 3, 153, 41, 40, 58, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 0, 0, 197, 97, 249, 52, 174, 55, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 58, 41, 204, 99, 217, 56, 224, 54, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 156, 230, 37, 11, 7, 46, 27, 58, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 176, 210, 53, 20, 80, 48, 16, 58, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 63, 45, 205, 99, 217, 56, 12, 55, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 74, 52, 204, 100, 217, 56, 81, 55, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 193, 193, 68, 28, 108, 49, 7, 58, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 209, 177, 83, 36, 105, 50, 255, 57, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 81, 63, 202, 101, 217, 56, 150, 55, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 126, 129, 197, 97, 249, 52, 154, 54, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 85, 68, 201, 100, 217, 56, 193, 55, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 135, 82, 80, 24, 20, 57, 46, 59, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 234, 152, 106, 47, 87, 51, 248, 57, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 171, 188, 206, 96, 249, 52, 175, 54, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 126, 129, 196, 96, 249, 52, 175, 54, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 175, 194, 205, 98, 252, 52, 221, 54, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 150, 88, 82, 22, 77, 57, 233, 58, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 136, 225, 41, 6, 110, 43, 152, 58, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 201, 185, 186, 91, 179, 52, 36, 55, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 167, 94, 87, 19, 122, 57, 176, 58, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 209, 195, 183, 92, 178, 52, 102, 55, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 152, 212, 53, 13, 184, 46, 112, 58, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 213, 201, 183, 92, 178, 52, 147, 55, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 0, 0, 182, 89, 178, 52, 147, 55, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 0, 0, 183, 90, 178, 52, 168, 55, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 43, 55, 186, 90, 186, 56, 222, 54, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 183, 99, 93, 17, 160, 57, 128, 58, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 170, 198, 63, 21, 145, 48, 80, 58, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 47, 60, 186, 91, 186, 56, 10, 55, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 200, 106, 101, 16, 194, 57, 86, 58, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 55, 71, 186, 91, 186, 56, 81, 55, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 66, 79, 185, 91, 186, 56, 151, 55, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 186, 185, 74, 29, 154, 49, 53, 58, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 203, 172, 87, 36, 135, 50, 29, 58, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 126, 129, 182, 89, 178, 52, 159, 54, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 71, 83, 184, 91, 186, 56, 196, 55, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 185, 173, 187, 89, 178, 52, 180, 54, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 126, 129, 181, 89, 178, 52, 180, 54, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 221, 114, 112, 17, 225, 57, 45, 58, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 230, 150, 107, 47, 101, 51, 7, 58, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 191, 177, 187, 90, 178, 52, 226, 54, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 222, 164, 165, 80, 109, 52, 36, 55, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 135, 206, 63, 13, 129, 45, 253, 58, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 227, 179, 164, 81, 109, 52, 100, 55, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 150, 197, 69, 18, 10, 48, 189, 58, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 230, 186, 163, 81, 108, 52, 144, 55, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 0, 0, 162, 79, 108, 52, 144, 55, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 167, 186, 74, 24, 19, 49, 138, 58, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 0, 0, 162, 79, 107, 52, 167, 55, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 26, 70, 165, 80, 156, 56, 221, 54, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 183, 176, 82, 31, 246, 49, 94, 58, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 136, 101, 61, 22, 209, 56, 230, 58, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 29, 77, 165, 80, 155, 56, 10, 55, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 34, 92, 165, 80, 155, 56, 81, 55, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 200, 165, 92, 38, 194, 50, 56, 58, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 49, 97, 164, 80, 155, 56, 151, 55, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 228, 148, 110, 48, 130, 51, 20, 58, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 152, 104, 66, 19, 24, 57, 178, 58, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 126, 129, 163, 80, 107, 52, 161, 54, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 56, 100, 165, 80, 156, 56, 197, 55, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 200, 156, 165, 80, 108, 52, 183, 54, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 126, 129, 163, 80, 108, 52, 183, 54, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 135, 190, 81, 21, 6, 48, 79, 59, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 170, 108, 75, 17, 82, 57, 136, 58, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 207, 159, 165, 80, 109, 52, 228, 54, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 150, 183, 83, 25, 2, 49, 252, 58, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 249, 137, 137, 67, 41, 52, 36, 55, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 186, 112, 84, 16, 131, 57, 100, 58, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 250, 158, 137, 67, 40, 52, 99, 55, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 166, 175, 86, 29, 205, 49, 185, 58, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 251, 169, 136, 67, 39, 52, 144, 55, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 0, 0, 137, 67, 39, 52, 144, 55, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 203, 115, 95, 15, 175, 57, 67, 58, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 0, 0, 134, 65, 37, 52, 165, 55, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 5, 87, 138, 68, 125, 56, 222, 54, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 5, 97, 137, 67, 125, 56, 10, 55, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 182, 167, 91, 35, 123, 50, 128, 58, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 224, 120, 108, 16, 216, 57, 36, 58, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 7, 119, 137, 67, 125, 56, 81, 55, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 199, 158, 99, 41, 24, 51, 78, 58, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 29, 121, 138, 67, 125, 56, 151, 55, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 126, 129, 134, 65, 37, 52, 163, 54, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 39, 121, 139, 67, 125, 56, 196, 55, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 227, 144, 113, 50, 172, 51, 31, 58, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 135, 174, 96, 31, 150, 49, 136, 59, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 217, 135, 137, 66, 39, 52, 184, 54, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 126, 129, 136, 66, 39, 52, 184, 54, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 150, 168, 98, 33, 51, 50, 40, 59, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 228, 136, 137, 67, 40, 52, 228, 54, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 167, 162, 99, 37, 177, 50, 219, 58, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 23, 153, 153, 51, 200, 51, 36, 55, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 119, 126, 39, 16, 163, 56, 145, 58, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 20, 170, 154, 51, 198, 51, 100, 55, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 0, 0, 153, 51, 194, 51, 144, 55, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 18, 178, 154, 51, 194, 51, 144, 55, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 183, 157, 102, 41, 30, 51, 153, 58, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 200, 150, 107, 46, 129, 51, 94, 58, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 238, 78, 152, 51, 94, 56, 223, 54, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 0, 0, 155, 50, 188, 51, 164, 55, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 236, 86, 153, 50, 93, 56, 11, 55, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 100, 126, 50, 14, 244, 56, 113, 58, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 228, 140, 118, 52, 224, 51, 39, 58, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 232, 102, 154, 51, 93, 56, 81, 55, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 216, 106, 155, 51, 93, 56, 150, 55, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 80, 126, 65, 15, 53, 57, 87, 58, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 136, 155, 114, 45, 83, 51, 166, 59, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 208, 108, 154, 52, 94, 56, 194, 55, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 127, 127, 155, 50, 188, 51, 163, 54, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 63, 126, 76, 13, 111, 57, 64, 58, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 127, 127, 153, 51, 194, 51, 184, 54, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 48, 148, 154, 51, 194, 51, 184, 54, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 40, 150, 153, 51, 198, 51, 228, 54, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 152, 152, 115, 46, 135, 51, 63, 59, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 44, 174, 174, 41, 55, 51, 36, 55, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 47, 127, 90, 14, 162, 57, 44, 58, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 170, 148, 115, 48, 176, 51, 236, 58, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 38, 185, 174, 41, 53, 51, 100, 55, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 229, 127, 106, 15, 210, 57, 24, 58, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 0, 0, 173, 41, 49, 51, 144, 55, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 35, 192, 175, 41, 49, 51, 144, 55, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 186, 144, 116, 50, 212, 51, 166, 58, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 221, 65, 173, 40, 62, 56, 225, 54, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 0, 0, 175, 40, 43, 51, 163, 55, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 203, 141, 119, 52, 247, 51, 102, 58, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 218, 70, 174, 40, 61, 56, 12, 55, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 230, 135, 123, 55, 13, 52, 44, 58, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 212, 82, 174, 41, 61, 56, 81, 55, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 137, 130, 112, 71, 144, 52, 166, 59, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 200, 88, 175, 41, 61, 56, 149, 55, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 193, 130, 117, 72, 73, 52, 166, 58, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 195, 91, 175, 41, 62, 56, 192, 55, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 127, 127, 175, 40, 43, 51, 164, 54, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 120, 101, 16, 6, 140, 56, 51, 58, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 127, 127, 173, 41, 49, 51, 183, 54, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 62, 165, 174, 40, 49, 51, 183, 54, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 209, 130, 120, 72, 57, 52, 103, 58, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 55, 168, 174, 41, 53, 51, 227, 54, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 234, 129, 124, 70, 43, 52, 44, 58, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 61, 191, 191, 32, 158, 50, 36, 55, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 104, 104, 36, 8, 225, 56, 41, 58, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 53, 199, 191, 33, 157, 50, 101, 55, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 86, 108, 57, 11, 40, 57, 32, 58, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 0, 0, 190, 33, 153, 50, 145, 55, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 49, 204, 191, 32, 153, 50, 145, 55, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 70, 112, 72, 11, 100, 57, 25, 58, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 208, 53, 189, 32, 29, 56, 227, 54, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 0, 0, 191, 32, 148, 50, 163, 55, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 53, 115, 87, 12, 155, 57, 18, 58, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 203, 57, 190, 32, 29, 56, 13, 55, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 32, 120, 104, 15, 206, 57, 12, 58, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 195, 65, 191, 32, 29, 56, 81, 55, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 121, 82, 230, 6, 141, 56, 212, 57, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 187, 73, 191, 33, 29, 56, 148, 55, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 106, 88, 30, 1, 226, 56, 223, 57, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 183, 78, 191, 33, 29, 56, 191, 55, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 127, 127, 191, 32, 148, 50, 164, 54, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 89, 94, 53, 6, 40, 57, 232, 57, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 127, 127, 190, 33, 153, 50, 183, 54, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 74, 179, 191, 32, 153, 50, 183, 54, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 73, 99, 71, 9, 101, 57, 240, 57, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 69, 183, 190, 32, 157, 50, 227, 54, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 56, 106, 87, 11, 155, 57, 248, 57, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 76, 206, 206, 25, 0, 50, 36, 55, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 35, 114, 104, 14, 206, 57, 255, 57, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 66, 212, 206, 25, 255, 49, 101, 55, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 0, 127, 127, 18, 0, 58, 5, 58, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 0, 0, 205, 25, 252, 49, 145, 55, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 61, 216, 206, 25, 252, 49, 145, 55, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 121, 66, 207, 10, 165, 56, 119, 57, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 195, 41, 205, 25, 247, 55, 228, 54, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 0, 0, 206, 25, 249, 49, 163, 55, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 106, 73, 210, 4, 245, 56, 151, 57, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 190, 44, 205, 25, 247, 55, 14, 55, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 90, 81, 56, 2, 55, 57, 177, 57, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 180, 50, 206, 25, 247, 55, 81, 55, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 74, 89, 73, 8, 112, 57, 200, 57, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 174, 60, 206, 25, 247, 55, 148, 55, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 57, 98, 89, 11, 162, 57, 222, 57, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 171, 65, 206, 25, 247, 55, 189, 55, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 127, 127, 206, 25, 249, 49, 165, 54, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 35, 109, 106, 14, 210, 57, 242, 57, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 127, 127, 205, 25, 252, 49, 183, 54, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 86, 191, 206, 25, 252, 49, 183, 54, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 121, 50, 191, 10, 212, 56, 35, 57, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 82, 196, 205, 25, 255, 49, 226, 54, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 106, 59, 195, 5, 26, 57, 86, 57, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 89, 70, 66, 2, 83, 57, 129, 57, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 73, 80, 80, 7, 132, 57, 165, 57, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 56, 91, 94, 11, 175, 57, 199, 57, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 35, 104, 108, 15, 216, 57, 230, 57, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 120, 31, 180, 6, 23, 57, 220, 56, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 104, 44, 182, 2, 78, 57, 33, 57, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 86, 58, 80, 4, 123, 57, 88, 57, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 70, 71, 90, 8, 161, 57, 136, 57, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 53, 84, 101, 12, 194, 57, 180, 57, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 32, 101, 112, 15, 225, 57, 221, 57, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 119, 7, 89, 1, 107, 57, 169, 56, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 100, 26, 92, 4, 143, 57, 250, 56, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 80, 46, 97, 8, 172, 57, 60, 57, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 63, 63, 103, 11, 196, 57, 116, 57, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 47, 79, 109, 14, 217, 57, 167, 57, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 27, 99, 117, 16, 237, 57, 215, 57, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 95, 6, 112, 12, 201, 57, 141, 56, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 82, 22, 113, 13, 216, 57, 229, 56, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 68, 40, 115, 14, 227, 57, 44, 57, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 55, 56, 118, 16, 236, 57, 105, 57, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 42, 73, 120, 17, 243, 57, 160, 57, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 25, 94, 123, 17, 250, 57, 211, 57, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 76, 5, 117, 105, 44, 58, 138, 56, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 67, 20, 118, 106, 35, 58, 228, 56, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 56, 37, 118, 107, 28, 58, 44, 57, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 46, 53, 118, 108, 21, 58, 105, 57, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 35, 70, 121, 108, 14, 58, 160, 57, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 22, 91, 123, 108, 7, 58, 211, 57, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 60, 5, 99, 102, 142, 58, 162, 56, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 53, 20, 100, 104, 109, 58, 246, 56, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 45, 36, 102, 106, 83, 58, 58, 57, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 37, 52, 105, 108, 61, 58, 116, 57, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 28, 69, 110, 109, 39, 58, 166, 57, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 17, 91, 117, 109, 20, 58, 214, 57, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 44, 5, 81, 102, 230, 58, 210, 56, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 38, 20, 85, 103, 176, 58, 28, 57, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 32, 37, 88, 106, 133, 58, 87, 57, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 27, 53, 94, 108, 96, 58, 136, 57, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 20, 70, 102, 109, 63, 58, 180, 57, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 12, 91, 112, 109, 31, 58, 221, 57, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 25, 6, 62, 104, 48, 59, 24, 57, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 22, 22, 67, 106, 231, 58, 82, 57, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 18, 40, 75, 109, 173, 58, 127, 57, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 14, 56, 85, 110, 125, 58, 165, 57, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 11, 73, 95, 111, 81, 58, 199, 57, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 6, 94, 108, 110, 40, 58, 230, 57, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 0, 46, 64, 112, 203, 58, 176, 57, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 0, 79, 90, 112, 95, 58, 222, 57, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 0, 99, 106, 111, 47, 58, 242, 57, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 207, 97, 96, 84, 249, 28, 211, 54, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 113, 230, 23, 120, 108, 55, 234, 57, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 200, 97, 97, 85, 76, 28, 197, 54, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 113, 230, 14, 118, 102, 55, 241, 57, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 188, 84, 89, 94, 151, 25, 157, 54, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 126, 129, 96, 78, 151, 25, 157, 54, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 113, 230, 14, 118, 81, 55, 2, 58, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 126, 129, 99, 77, 61, 8, 131, 54, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 68, 172, 71, 87, 93, 53, 188, 55, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 113, 230, 39, 123, 52, 55, 2, 58, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 53, 183, 73, 90, 101, 53, 81, 55, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 112, 242, 24, 120, 31, 55, 196, 57, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 63, 176, 71, 88, 91, 53, 145, 55, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 113, 230, 24, 121, 35, 55, 235, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 75, 196, 56, 99, 227, 53, 244, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 107, 38, 226, 115, 4, 57, 146, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 147, 210, 231, 101, 82, 53, 158, 54, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 127, 127, 207, 102, 82, 53, 158, 54, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 75, 196, 56, 100, 198, 53, 5, 58, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 127, 127, 206, 101, 90, 53, 133, 54, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 75, 196, 56, 100, 217, 53, 5, 58, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 109, 46, 223, 115, 3, 57, 188, 55, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 173, 213, 213, 105, 70, 53, 36, 55, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 71, 201, 61, 101, 167, 53, 220, 57, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 71, 201, 60, 101, 223, 53, 217, 57, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 104, 22, 234, 115, 1, 57, 81, 55, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 162, 197, 216, 101, 77, 53, 204, 54, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 75, 196, 57, 100, 181, 53, 247, 57, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 166, 201, 215, 101, 76, 53, 211, 54, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 75, 196, 58, 101, 179, 53, 245, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 66, 205, 63, 101, 214, 53, 190, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 88, 19, 234, 111, 4, 57, 16, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 176, 239, 206, 114, 82, 53, 169, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 0, 0, 210, 103, 82, 53, 169, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 66, 205, 65, 102, 178, 53, 176, 57, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 0, 0, 207, 102, 90, 53, 195, 55, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 66, 205, 64, 102, 196, 53, 174, 57, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 80, 17, 233, 110, 3, 57, 230, 54, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 189, 224, 205, 106, 77, 53, 123, 55, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 66, 205, 65, 102, 168, 53, 191, 57, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 185, 220, 205, 106, 76, 53, 116, 55, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 66, 205, 64, 102, 167, 53, 194, 57, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 0, 0, 100, 76, 62, 8, 197, 55, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 42, 198, 78, 91, 93, 53, 230, 54, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 100, 243, 9, 110, 23, 55, 134, 57, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 46, 193, 77, 91, 91, 53, 16, 55, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 100, 243, 24, 119, 18, 55, 159, 57, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 227, 70, 83, 78, 76, 28, 130, 55, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 100, 243, 38, 119, 80, 55, 146, 57, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 214, 58, 65, 82, 151, 25, 170, 55, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 0, 0, 99, 77, 151, 25, 170, 55, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 100, 243, 36, 119, 52, 55, 131, 57, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 221, 91, 89, 80, 25, 31, 36, 55, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 112, 242, 25, 120, 120, 55, 191, 57, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 227, 77, 85, 78, 249, 28, 116, 55, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 100, 243, 31, 119, 90, 55, 152, 57, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 129, 46, 65, 12, 137, 42, 51, 59, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 0, 126, 126, 106, 56, 58, 12, 56, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 129, 63, 82, 20, 85, 46, 150, 59, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 0, 126, 126, 107, 186, 58, 41, 56, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 129, 80, 97, 30, 12, 49, 219, 59, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 0, 126, 126, 106, 50, 59, 105, 56, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 0, 126, 126, 108, 191, 58, 222, 59, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 127, 0, 16, 127, 20, 56, 182, 57, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 0, 126, 126, 109, 60, 58, 255, 59, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 100, 0, 42, 122, 240, 55, 53, 57, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 0, 126, 126, 108, 51, 59, 157, 59, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 127, 26, 2, 120, 20, 56, 56, 58, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 210, 0, 245, 123, 212, 59, 67, 58, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 0, 126, 126, 108, 212, 59, 67, 58, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 193, 0, 214, 116, 179, 59, 188, 58, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 0, 126, 126, 109, 179, 59, 188, 58, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 0, 126, 126, 106, 72, 57, 93, 56, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 127, 0, 85, 1, 72, 57, 93, 56, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 0, 126, 126, 106, 187, 57, 58, 56, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 100, 0, 111, 11, 187, 57, 58, 56, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 230, 0, 75, 47, 44, 49, 4, 56, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 0, 126, 126, 109, 20, 56, 66, 58, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 210, 0, 50, 40, 139, 46, 72, 56, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 0, 126, 126, 107, 20, 56, 196, 57, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 0, 126, 126, 107, 255, 59, 192, 57, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 127, 100, 73, 80, 179, 53, 218, 59, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 0, 126, 126, 107, 218, 59, 60, 57, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 127, 127, 112, 70, 167, 52, 255, 59, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 176, 0, 194, 115, 114, 59, 38, 59, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 0, 126, 126, 98, 114, 59, 38, 59, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 156, 0, 179, 118, 26, 59, 124, 59, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 0, 126, 126, 108, 26, 59, 124, 59, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 0, 126, 126, 107, 172, 58, 81, 56, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 63, 0, 99, 102, 172, 58, 81, 56, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 0, 126, 126, 108, 25, 59, 140, 56, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 46, 0, 82, 100, 25, 59, 140, 56, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 0, 126, 126, 108, 255, 59, 74, 58, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 127, 80, 50, 87, 161, 54, 148, 59, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 129, 100, 114, 44, 36, 51, 255, 59, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 0, 126, 126, 108, 148, 59, 200, 56, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 0, 126, 126, 109, 182, 57, 253, 59, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 80, 0, 63, 115, 113, 55, 187, 56, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 129, 0, 89, 126, 175, 58, 183, 59, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 0, 126, 126, 108, 175, 58, 183, 59, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 129, 26, 116, 114, 56, 58, 213, 59, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 0, 126, 126, 109, 56, 58, 213, 59, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 129, 46, 113, 20, 189, 57, 211, 59, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 0, 126, 126, 109, 189, 57, 211, 59, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 156, 0, 2, 6, 66, 17, 168, 57, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 0, 126, 126, 106, 200, 56, 125, 56, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 129, 0, 18, 1, 61, 8, 51, 58, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 0, 126, 126, 107, 55, 57, 55, 56, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 0, 126, 126, 109, 218, 59, 206, 58, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 127, 63, 31, 95, 97, 55, 50, 59, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 129, 80, 79, 25, 224, 56, 112, 59, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 0, 126, 126, 110, 224, 56, 112, 59, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 129, 100, 60, 23, 142, 56, 23, 59, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 0, 126, 126, 110, 142, 56, 23, 59, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 0, 126, 126, 109, 54, 57, 215, 59, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 63, 0, 80, 106, 180, 54, 86, 56, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 0, 126, 126, 112, 145, 56, 243, 56, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 127, 46, 197, 10, 145, 56, 243, 56, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 0, 126, 126, 107, 226, 56, 156, 56, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 127, 26, 183, 7, 226, 56, 156, 56, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 129, 63, 96, 24, 71, 57, 177, 59, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 126, 126, 109, 71, 57, 177, 59, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 0, 126, 126, 107, 179, 59, 77, 57, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 0, 0, 40, 106, 179, 59, 77, 57, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 230, 0, 18, 115, 212, 59, 198, 57, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 0, 126, 126, 108, 212, 59, 198, 57, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 0, 126, 126, 108, 52, 58, 54, 56, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 80, 0, 117, 105, 52, 58, 54, 56, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 0, 126, 126, 100, 86, 56, 174, 58, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 127, 127, 37, 18, 86, 56, 174, 58, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 0, 126, 126, 109, 197, 56, 144, 59, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 46, 0, 95, 96, 199, 53, 13, 56, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 0, 126, 126, 110, 108, 56, 47, 59, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 26, 0, 112, 82, 187, 52, 203, 55, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 0, 126, 126, 108, 115, 59, 226, 56, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 26, 0, 63, 101, 115, 59, 226, 56, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 0, 126, 126, 114, 49, 56, 188, 58, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 0, 0, 114, 57, 74, 51, 198, 55, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 0, 126, 126, 111, 147, 59, 65, 59, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 127, 46, 14, 106, 231, 55, 187, 58, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 0, 126, 126, 109, 59, 56, 61, 58, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 127, 100, 17, 10, 59, 56, 61, 58, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 0, 126, 126, 107, 89, 56, 89, 57, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 127, 63, 216, 10, 89, 56, 89, 57, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 129, 26, 44, 4, 112, 36, 186, 58, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 0, 126, 126, 106, 180, 57, 18, 56, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 193, 0, 32, 32, 217, 42, 170, 56, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 0, 126, 126, 107, 52, 56, 74, 57, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 0, 126, 126, 108, 60, 56, 202, 57, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 127, 80, 245, 3, 60, 56, 202, 57, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 176, 0, 15, 21, 211, 36, 34, 57, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 0, 126, 126, 105, 112, 56, 219, 56 ), -"array_index_data": PoolByteArray( 188, 1, 12, 0, 2, 0, 188, 1, 16, 0, 12, 0, 194, 1, 16, 0, 188, 1, 194, 1, 22, 0, 16, 0, 1, 0, 6, 0, 186, 1, 1, 0, 9, 0, 6, 0, 196, 1, 22, 0, 194, 1, 196, 1, 24, 0, 22, 0, 2, 0, 9, 0, 1, 0, 2, 0, 12, 0, 9, 0, 30, 1, 24, 0, 196, 1, 24, 0, 40, 0, 22, 0, 24, 0, 43, 0, 40, 0, 12, 0, 28, 0, 9, 0, 12, 0, 31, 0, 28, 0, 30, 1, 43, 0, 24, 0, 16, 0, 31, 0, 12, 0, 16, 0, 37, 0, 31, 0, 22, 0, 37, 0, 16, 0, 22, 0, 40, 0, 37, 0, 9, 0, 26, 0, 6, 0, 9, 0, 28, 0, 26, 0, 40, 0, 63, 0, 37, 0, 40, 0, 66, 0, 63, 0, 28, 0, 50, 0, 26, 0, 28, 0, 55, 0, 50, 0, 43, 0, 66, 0, 40, 0, 43, 0, 69, 0, 66, 0, 31, 0, 55, 0, 28, 0, 31, 0, 60, 0, 55, 0, 30, 1, 69, 0, 43, 0, 37, 0, 60, 0, 31, 0, 37, 0, 63, 0, 60, 0, 30, 1, 94, 0, 69, 0, 63, 0, 75, 0, 60, 0, 63, 0, 84, 0, 75, 0, 66, 0, 84, 0, 63, 0, 66, 0, 88, 0, 84, 0, 55, 0, 71, 0, 50, 0, 55, 0, 73, 0, 71, 0, 69, 0, 88, 0, 66, 0, 69, 0, 94, 0, 88, 0, 60, 0, 73, 0, 55, 0, 60, 0, 75, 0, 73, 0, 73, 0, 97, 0, 71, 0, 73, 0, 101, 0, 97, 0, 94, 0, 109, 0, 88, 0, 94, 0, 111, 0, 109, 0, 75, 0, 101, 0, 73, 0, 75, 0, 104, 0, 101, 0, 30, 1, 111, 0, 94, 0, 84, 0, 104, 0, 75, 0, 84, 0, 108, 0, 104, 0, 88, 0, 108, 0, 84, 0, 88, 0, 109, 0, 108, 0, 109, 0, 127, 0, 108, 0, 109, 0, 131, 0, 127, 0, 51, 2, 116, 0, 49, 2, 116, 0, 97, 0, 101, 0, 97, 0, 91, 2, 115, 0, 97, 0, 39, 2, 91, 2, 47, 2, 116, 0, 51, 2, 47, 2, 97, 0, 116, 0, 97, 0, 41, 2, 39, 2, 44, 2, 97, 0, 47, 2, 97, 0, 44, 2, 41, 2, 111, 0, 131, 0, 109, 0, 111, 0, 136, 0, 131, 0, 104, 0, 116, 0, 101, 0, 104, 0, 122, 0, 116, 0, 30, 1, 136, 0, 111, 0, 67, 2, 127, 0, 61, 2, 104, 0, 62, 2, 122, 0, 104, 0, 52, 2, 62, 2, 67, 2, 108, 0, 127, 0, 65, 2, 108, 0, 67, 2, 104, 0, 58, 2, 52, 2, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 108, 0, 56, 2, 104, 0, 122, 0, 146, 0, 116, 0, 122, 0, 147, 0, 146, 0, 30, 1, 156, 0, 136, 0, 68, 2, 122, 0, 62, 2, 149, 0, 61, 2, 127, 0, 149, 0, 79, 2, 61, 2, 68, 2, 147, 0, 122, 0, 74, 2, 147, 0, 68, 2, 149, 0, 77, 2, 79, 2, 72, 2, 147, 0, 74, 2, 149, 0, 72, 2, 77, 2, 147, 0, 72, 2, 149, 0, 131, 0, 149, 0, 127, 0, 131, 0, 154, 0, 149, 0, 93, 2, 115, 0, 91, 2, 140, 0, 116, 0, 146, 0, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 93, 2, 140, 0, 115, 0, 86, 2, 140, 0, 93, 2, 140, 0, 82, 2, 116, 0, 89, 2, 140, 0, 86, 2, 140, 0, 89, 2, 82, 2, 136, 0, 154, 0, 131, 0, 136, 0, 156, 0, 154, 0, 146, 0, 160, 0, 140, 0, 146, 0, 166, 0, 160, 0, 156, 0, 180, 0, 154, 0, 156, 0, 184, 0, 180, 0, 147, 0, 166, 0, 146, 0, 147, 0, 168, 0, 166, 0, 30, 1, 184, 0, 156, 0, 149, 0, 168, 0, 147, 0, 149, 0, 175, 0, 168, 0, 154, 0, 175, 0, 149, 0, 154, 0, 180, 0, 175, 0, 175, 0, 192, 0, 168, 0, 175, 0, 194, 0, 192, 0, 180, 0, 194, 0, 175, 0, 180, 0, 196, 0, 194, 0, 166, 0, 185, 0, 160, 0, 166, 0, 188, 0, 185, 0, 184, 0, 196, 0, 180, 0, 184, 0, 199, 0, 196, 0, 168, 0, 188, 0, 166, 0, 168, 0, 192, 0, 188, 0, 30, 1, 199, 0, 184, 0, 192, 0, 208, 0, 188, 0, 192, 0, 216, 0, 208, 0, 30, 1, 225, 0, 199, 0, 194, 0, 216, 0, 192, 0, 194, 0, 218, 0, 216, 0, 196, 0, 218, 0, 194, 0, 196, 0, 221, 0, 218, 0, 203, 0, 188, 0, 208, 0, 203, 0, 185, 0, 188, 0, 199, 0, 221, 0, 196, 0, 199, 0, 225, 0, 221, 0, 221, 0, 234, 0, 218, 0, 221, 0, 238, 0, 234, 0, 208, 0, 227, 0, 203, 0, 208, 0, 230, 0, 227, 0, 225, 0, 238, 0, 221, 0, 225, 0, 240, 0, 238, 0, 216, 0, 230, 0, 208, 0, 216, 0, 233, 0, 230, 0, 30, 1, 240, 0, 225, 0, 218, 0, 233, 0, 216, 0, 218, 0, 234, 0, 233, 0, 234, 0, 244, 0, 233, 0, 234, 0, 247, 0, 244, 0, 238, 0, 247, 0, 234, 0, 238, 0, 248, 0, 247, 0, 230, 0, 241, 0, 227, 0, 230, 0, 242, 0, 241, 0, 240, 0, 248, 0, 238, 0, 240, 0, 249, 0, 248, 0, 233, 0, 242, 0, 230, 0, 233, 0, 244, 0, 242, 0, 30, 1, 249, 0, 240, 0, 249, 0, 0, 1, 248, 0, 249, 0, 2, 1, 0, 1, 244, 0, 251, 0, 242, 0, 244, 0, 252, 0, 251, 0, 30, 1, 2, 1, 249, 0, 247, 0, 252, 0, 244, 0, 247, 0, 254, 0, 252, 0, 248, 0, 254, 0, 247, 0, 248, 0, 0, 1, 254, 0, 242, 0, 250, 0, 241, 0, 242, 0, 251, 0, 250, 0, 0, 1, 9, 1, 254, 0, 0, 1, 10, 1, 9, 1, 251, 0, 4, 1, 250, 0, 251, 0, 5, 1, 4, 1, 2, 1, 10, 1, 0, 1, 2, 1, 11, 1, 10, 1, 252, 0, 5, 1, 251, 0, 252, 0, 7, 1, 5, 1, 30, 1, 11, 1, 2, 1, 254, 0, 7, 1, 252, 0, 254, 0, 9, 1, 7, 1, 30, 1, 20, 1, 11, 1, 9, 1, 14, 1, 7, 1, 9, 1, 16, 1, 14, 1, 10, 1, 16, 1, 9, 1, 10, 1, 18, 1, 16, 1, 5, 1, 12, 1, 4, 1, 5, 1, 13, 1, 12, 1, 11, 1, 18, 1, 10, 1, 11, 1, 20, 1, 18, 1, 7, 1, 13, 1, 5, 1, 7, 1, 14, 1, 13, 1, 20, 1, 28, 1, 18, 1, 20, 1, 29, 1, 28, 1, 14, 1, 25, 1, 13, 1, 14, 1, 26, 1, 25, 1, 30, 1, 29, 1, 20, 1, 16, 1, 26, 1, 14, 1, 16, 1, 27, 1, 26, 1, 18, 1, 27, 1, 16, 1, 18, 1, 28, 1, 27, 1, 13, 1, 23, 1, 12, 1, 13, 1, 25, 1, 23, 1, 28, 1, 44, 1, 27, 1, 28, 1, 48, 1, 44, 1, 25, 1, 31, 1, 23, 1, 25, 1, 35, 1, 31, 1, 29, 1, 48, 1, 28, 1, 29, 1, 52, 1, 48, 1, 26, 1, 35, 1, 25, 1, 26, 1, 39, 1, 35, 1, 30, 1, 52, 1, 29, 1, 27, 1, 39, 1, 26, 1, 27, 1, 44, 1, 39, 1, 30, 1, 71, 1, 52, 1, 44, 1, 62, 1, 39, 1, 44, 1, 65, 1, 62, 1, 48, 1, 65, 1, 44, 1, 48, 1, 66, 1, 65, 1, 35, 1, 58, 1, 31, 1, 35, 1, 61, 1, 58, 1, 52, 1, 66, 1, 48, 1, 52, 1, 71, 1, 66, 1, 39, 1, 61, 1, 35, 1, 39, 1, 62, 1, 61, 1, 71, 1, 92, 1, 66, 1, 71, 1, 98, 1, 92, 1, 62, 1, 80, 1, 61, 1, 62, 1, 86, 1, 80, 1, 30, 1, 98, 1, 71, 1, 65, 1, 86, 1, 62, 1, 65, 1, 91, 1, 86, 1, 66, 1, 91, 1, 65, 1, 66, 1, 92, 1, 91, 1, 61, 1, 76, 1, 58, 1, 61, 1, 80, 1, 76, 1, 92, 1, 109, 1, 91, 1, 92, 1, 113, 1, 109, 1, 80, 1, 101, 1, 76, 1, 80, 1, 103, 1, 101, 1, 98, 1, 113, 1, 92, 1, 98, 1, 115, 1, 113, 1, 86, 1, 103, 1, 80, 1, 86, 1, 106, 1, 103, 1, 30, 1, 115, 1, 98, 1, 91, 1, 106, 1, 86, 1, 91, 1, 109, 1, 106, 1, 30, 1, 142, 1, 115, 1, 109, 1, 128, 1, 106, 1, 109, 1, 135, 1, 128, 1, 113, 1, 135, 1, 109, 1, 113, 1, 138, 1, 135, 1, 103, 1, 121, 1, 101, 1, 103, 1, 124, 1, 121, 1, 115, 1, 138, 1, 113, 1, 115, 1, 142, 1, 138, 1, 106, 1, 124, 1, 103, 1, 106, 1, 128, 1, 124, 1, 143, 1, 124, 1, 146, 1, 143, 1, 121, 1, 124, 1, 142, 1, 155, 1, 138, 1, 142, 1, 160, 1, 155, 1, 128, 1, 146, 1, 124, 1, 128, 1, 148, 1, 146, 1, 30, 1, 160, 1, 142, 1, 135, 1, 148, 1, 128, 1, 135, 1, 154, 1, 148, 1, 138, 1, 154, 1, 135, 1, 138, 1, 155, 1, 154, 1, 155, 1, 179, 1, 154, 1, 155, 1, 182, 1, 179, 1, 146, 1, 164, 1, 143, 1, 146, 1, 171, 1, 164, 1, 160, 1, 182, 1, 155, 1, 160, 1, 184, 1, 182, 1, 148, 1, 171, 1, 146, 1, 148, 1, 174, 1, 171, 1, 30, 1, 184, 1, 160, 1, 154, 1, 174, 1, 148, 1, 154, 1, 179, 1, 174, 1, 174, 1, 1, 0, 171, 1, 174, 1, 2, 0, 1, 0, 30, 1, 196, 1, 184, 1, 179, 1, 2, 0, 174, 1, 179, 1, 188, 1, 2, 0, 182, 1, 188, 1, 179, 1, 182, 1, 194, 1, 188, 1, 171, 1, 186, 1, 164, 1, 171, 1, 1, 0, 186, 1, 184, 1, 194, 1, 182, 1, 184, 1, 196, 1, 194, 1, 35, 2, 38, 0, 46, 0, 35, 2, 14, 0, 38, 0, 37, 2, 58, 0, 224, 1, 36, 2, 49, 0, 54, 0, 36, 2, 19, 0, 49, 0, 10, 0, 38, 0, 14, 0, 10, 0, 35, 0, 38, 0, 37, 2, 54, 0, 58, 0, 37, 2, 36, 2, 54, 0, 49, 0, 96, 0, 54, 0, 49, 0, 91, 0, 96, 0, 35, 0, 79, 0, 38, 0, 35, 0, 78, 0, 79, 0, 58, 0, 99, 0, 224, 1, 99, 0, 143, 0, 224, 1, 96, 0, 143, 0, 99, 0, 96, 0, 139, 0, 143, 0, 79, 0, 128, 0, 86, 0, 79, 0, 123, 0, 128, 0, 163, 0, 128, 0, 123, 0, 163, 0, 170, 0, 128, 0, 143, 0, 181, 0, 224, 1, 170, 0, 133, 0, 128, 0, 170, 0, 172, 0, 133, 0, 133, 0, 176, 0, 139, 0, 133, 0, 172, 0, 176, 0, 158, 0, 123, 0, 120, 0, 158, 0, 163, 0, 123, 0, 172, 0, 217, 0, 176, 0, 172, 0, 214, 0, 217, 0, 202, 0, 163, 0, 158, 0, 202, 0, 206, 0, 163, 0, 206, 0, 170, 0, 163, 0, 206, 0, 209, 0, 170, 0, 181, 0, 222, 0, 224, 1, 209, 0, 172, 0, 170, 0, 209, 0, 214, 0, 172, 0, 222, 0, 246, 0, 224, 1, 214, 0, 245, 0, 217, 0, 214, 0, 243, 0, 245, 0, 246, 0, 6, 1, 8, 1, 246, 0, 245, 0, 6, 1, 224, 1, 246, 0, 8, 1, 245, 0, 3, 1, 6, 1, 245, 0, 243, 0, 3, 1, 6, 1, 21, 1, 22, 1, 6, 1, 3, 1, 21, 1, 253, 0, 17, 1, 255, 0, 253, 0, 15, 1, 17, 1, 8, 1, 22, 1, 24, 1, 8, 1, 6, 1, 22, 1, 224, 1, 8, 1, 24, 1, 17, 1, 42, 1, 19, 1, 17, 1, 38, 1, 42, 1, 224, 1, 24, 1, 54, 1, 22, 1, 47, 1, 51, 1, 22, 1, 21, 1, 47, 1, 24, 1, 51, 1, 54, 1, 24, 1, 22, 1, 51, 1, 38, 1, 70, 1, 75, 1, 38, 1, 32, 1, 70, 1, 54, 1, 88, 1, 97, 1, 54, 1, 51, 1, 88, 1, 75, 1, 42, 1, 38, 1, 75, 1, 78, 1, 42, 1, 224, 1, 54, 1, 97, 1, 78, 1, 47, 1, 42, 1, 78, 1, 85, 1, 47, 1, 51, 1, 85, 1, 88, 1, 51, 1, 47, 1, 85, 1, 122, 1, 85, 1, 78, 1, 122, 1, 126, 1, 85, 1, 88, 1, 126, 1, 131, 1, 88, 1, 85, 1, 126, 1, 75, 1, 110, 1, 116, 1, 75, 1, 70, 1, 110, 1, 97, 1, 131, 1, 136, 1, 97, 1, 88, 1, 131, 1, 116, 1, 78, 1, 75, 1, 116, 1, 122, 1, 78, 1, 224, 1, 97, 1, 136, 1, 159, 1, 122, 1, 116, 1, 159, 1, 163, 1, 122, 1, 224, 1, 136, 1, 176, 1, 163, 1, 126, 1, 122, 1, 163, 1, 167, 1, 126, 1, 131, 1, 167, 1, 173, 1, 131, 1, 126, 1, 167, 1, 150, 1, 116, 1, 110, 1, 150, 1, 159, 1, 116, 1, 136, 1, 173, 1, 176, 1, 136, 1, 131, 1, 173, 1, 203, 1, 173, 1, 167, 1, 203, 1, 206, 1, 173, 1, 191, 1, 159, 1, 150, 1, 191, 1, 198, 1, 159, 1, 206, 1, 176, 1, 173, 1, 206, 1, 208, 1, 176, 1, 159, 1, 200, 1, 163, 1, 159, 1, 198, 1, 200, 1, 208, 1, 224, 1, 176, 1, 200, 1, 167, 1, 163, 1, 200, 1, 203, 1, 167, 1, 218, 1, 206, 1, 203, 1, 218, 1, 220, 1, 206, 1, 191, 1, 212, 1, 198, 1, 191, 1, 210, 1, 212, 1, 220, 1, 208, 1, 206, 1, 220, 1, 222, 1, 208, 1, 222, 1, 224, 1, 208, 1, 236, 1, 222, 1, 220, 1, 236, 1, 239, 1, 222, 1, 239, 1, 224, 1, 222, 1, 234, 1, 220, 1, 218, 1, 234, 1, 236, 1, 220, 1, 210, 1, 230, 1, 212, 1, 210, 1, 227, 1, 230, 1, 246, 1, 236, 1, 234, 1, 246, 1, 247, 1, 236, 1, 247, 1, 239, 1, 236, 1, 247, 1, 248, 1, 239, 1, 230, 1, 245, 1, 232, 1, 230, 1, 244, 1, 245, 1, 248, 1, 224, 1, 239, 1, 254, 1, 224, 1, 248, 1, 252, 1, 247, 1, 246, 1, 252, 1, 253, 1, 247, 1, 253, 1, 248, 1, 247, 1, 253, 1, 254, 1, 248, 1, 244, 1, 251, 1, 245, 1, 244, 1, 250, 1, 251, 1, 3, 2, 254, 1, 253, 1, 3, 2, 4, 2, 254, 1, 4, 2, 224, 1, 254, 1, 251, 1, 2, 2, 252, 1, 251, 1, 1, 2, 2, 2, 2, 2, 253, 1, 252, 1, 2, 2, 3, 2, 253, 1, 8, 2, 3, 2, 2, 2, 8, 2, 9, 2, 3, 2, 9, 2, 4, 2, 3, 2, 9, 2, 10, 2, 4, 2, 0, 2, 7, 2, 1, 2, 0, 2, 6, 2, 7, 2, 10, 2, 224, 1, 4, 2, 16, 2, 224, 1, 10, 2, 14, 2, 9, 2, 8, 2, 14, 2, 15, 2, 9, 2, 15, 2, 10, 2, 9, 2, 15, 2, 16, 2, 10, 2, 21, 2, 16, 2, 15, 2, 21, 2, 22, 2, 16, 2, 22, 2, 224, 1, 16, 2, 20, 2, 15, 2, 14, 2, 20, 2, 21, 2, 15, 2, 27, 2, 22, 2, 21, 2, 27, 2, 28, 2, 22, 2, 28, 2, 224, 1, 22, 2, 19, 2, 26, 2, 20, 2, 19, 2, 25, 2, 26, 2, 34, 2, 224, 1, 28, 2, 25, 2, 32, 2, 26, 2, 25, 2, 31, 2, 32, 2, 26, 2, 33, 2, 27, 2, 26, 2, 32, 2, 33, 2, 30, 2, 10, 0, 14, 0, 30, 2, 29, 2, 10, 0, 14, 0, 31, 2, 30, 2, 14, 0, 35, 2, 31, 2, 34, 2, 37, 2, 224, 1, 31, 2, 19, 0, 32, 2, 31, 2, 35, 2, 19, 0, 19, 0, 33, 2, 32, 2, 19, 0, 36, 2, 33, 2, 58, 1, 142, 2, 31, 1, 58, 1, 144, 2, 142, 2, 185, 0, 135, 2, 160, 0, 185, 0, 153, 2, 135, 2, 0, 0, 27, 0, 25, 0, 0, 0, 3, 0, 27, 0, 3, 0, 30, 0, 27, 0, 3, 0, 5, 0, 30, 0, 4, 0, 33, 0, 29, 0, 4, 0, 8, 0, 33, 0, 7, 0, 34, 0, 32, 0, 7, 0, 11, 0, 34, 0, 11, 0, 36, 0, 34, 0, 11, 0, 13, 0, 36, 0, 13, 0, 39, 0, 36, 0, 13, 0, 15, 0, 39, 0, 15, 0, 41, 0, 39, 0, 15, 0, 17, 0, 41, 0, 18, 0, 44, 0, 42, 0, 18, 0, 20, 0, 44, 0, 21, 0, 47, 0, 45, 0, 21, 0, 23, 0, 47, 0, 23, 0, 25, 0, 47, 0, 23, 0, 0, 0, 25, 0, 25, 0, 51, 0, 48, 0, 25, 0, 27, 0, 51, 0, 27, 0, 53, 0, 51, 0, 27, 0, 30, 0, 53, 0, 29, 0, 57, 0, 52, 0, 29, 0, 33, 0, 57, 0, 32, 0, 59, 0, 56, 0, 32, 0, 34, 0, 59, 0, 34, 0, 61, 0, 59, 0, 34, 0, 36, 0, 61, 0, 36, 0, 62, 0, 61, 0, 36, 0, 39, 0, 62, 0, 39, 0, 64, 0, 62, 0, 39, 0, 41, 0, 64, 0, 42, 0, 67, 0, 65, 0, 42, 0, 44, 0, 67, 0, 45, 0, 70, 0, 68, 0, 45, 0, 47, 0, 70, 0, 47, 0, 48, 0, 70, 0, 47, 0, 25, 0, 48, 0, 48, 0, 74, 0, 72, 0, 48, 0, 51, 0, 74, 0, 51, 0, 77, 0, 74, 0, 51, 0, 53, 0, 77, 0, 52, 0, 81, 0, 76, 0, 52, 0, 57, 0, 81, 0, 56, 0, 83, 0, 80, 0, 56, 0, 59, 0, 83, 0, 59, 0, 85, 0, 83, 0, 59, 0, 61, 0, 85, 0, 61, 0, 87, 0, 85, 0, 61, 0, 62, 0, 87, 0, 62, 0, 89, 0, 87, 0, 62, 0, 64, 0, 89, 0, 65, 0, 92, 0, 90, 0, 65, 0, 67, 0, 92, 0, 68, 0, 95, 0, 93, 0, 68, 0, 70, 0, 95, 0, 70, 0, 72, 0, 95, 0, 70, 0, 48, 0, 72, 0, 72, 0, 100, 0, 98, 0, 72, 0, 74, 0, 100, 0, 74, 0, 103, 0, 100, 0, 74, 0, 77, 0, 103, 0, 76, 0, 106, 0, 102, 0, 76, 0, 81, 0, 106, 0, 80, 0, 107, 0, 105, 0, 80, 0, 83, 0, 107, 0, 83, 0, 110, 0, 107, 0, 83, 0, 85, 0, 110, 0, 85, 0, 112, 0, 110, 0, 85, 0, 87, 0, 112, 0, 87, 0, 113, 0, 112, 0, 87, 0, 89, 0, 113, 0, 90, 0, 117, 0, 114, 0, 90, 0, 92, 0, 117, 0, 93, 0, 119, 0, 118, 0, 93, 0, 95, 0, 119, 0, 95, 0, 98, 0, 119, 0, 95, 0, 72, 0, 98, 0, 98, 0, 124, 0, 121, 0, 98, 0, 100, 0, 124, 0, 100, 0, 126, 0, 124, 0, 100, 0, 103, 0, 126, 0, 102, 0, 130, 0, 125, 0, 102, 0, 106, 0, 130, 0, 105, 0, 132, 0, 129, 0, 105, 0, 107, 0, 132, 0, 107, 0, 134, 0, 132, 0, 107, 0, 110, 0, 134, 0, 110, 0, 135, 0, 134, 0, 110, 0, 112, 0, 135, 0, 112, 0, 137, 0, 135, 0, 112, 0, 113, 0, 137, 0, 114, 0, 141, 0, 138, 0, 114, 0, 117, 0, 141, 0, 118, 0, 144, 0, 142, 0, 118, 0, 119, 0, 144, 0, 119, 0, 121, 0, 144, 0, 119, 0, 98, 0, 121, 0, 121, 0, 148, 0, 145, 0, 121, 0, 124, 0, 148, 0, 124, 0, 151, 0, 148, 0, 124, 0, 126, 0, 151, 0, 125, 0, 153, 0, 150, 0, 125, 0, 130, 0, 153, 0, 129, 0, 155, 0, 152, 0, 129, 0, 132, 0, 155, 0, 132, 0, 157, 0, 155, 0, 132, 0, 134, 0, 157, 0, 134, 0, 159, 0, 157, 0, 134, 0, 135, 0, 159, 0, 135, 0, 161, 0, 159, 0, 135, 0, 137, 0, 161, 0, 138, 0, 164, 0, 162, 0, 138, 0, 141, 0, 164, 0, 142, 0, 167, 0, 165, 0, 142, 0, 144, 0, 167, 0, 144, 0, 145, 0, 167, 0, 144, 0, 121, 0, 145, 0, 145, 0, 171, 0, 169, 0, 145, 0, 148, 0, 171, 0, 148, 0, 174, 0, 171, 0, 148, 0, 151, 0, 174, 0, 150, 0, 178, 0, 173, 0, 150, 0, 153, 0, 178, 0, 152, 0, 179, 0, 177, 0, 152, 0, 155, 0, 179, 0, 155, 0, 182, 0, 179, 0, 155, 0, 157, 0, 182, 0, 157, 0, 183, 0, 182, 0, 157, 0, 159, 0, 183, 0, 159, 0, 186, 0, 183, 0, 159, 0, 161, 0, 186, 0, 162, 0, 189, 0, 187, 0, 162, 0, 164, 0, 189, 0, 165, 0, 191, 0, 190, 0, 165, 0, 167, 0, 191, 0, 167, 0, 169, 0, 191, 0, 167, 0, 145, 0, 169, 0, 169, 0, 195, 0, 193, 0, 169, 0, 171, 0, 195, 0, 171, 0, 197, 0, 195, 0, 171, 0, 174, 0, 197, 0, 173, 0, 200, 0, 198, 0, 173, 0, 178, 0, 200, 0, 177, 0, 204, 0, 201, 0, 177, 0, 179, 0, 204, 0, 179, 0, 205, 0, 204, 0, 179, 0, 182, 0, 205, 0, 182, 0, 207, 0, 205, 0, 182, 0, 183, 0, 207, 0, 183, 0, 211, 0, 207, 0, 183, 0, 186, 0, 211, 0, 187, 0, 213, 0, 210, 0, 187, 0, 189, 0, 213, 0, 190, 0, 215, 0, 212, 0, 190, 0, 191, 0, 215, 0, 191, 0, 193, 0, 215, 0, 191, 0, 169, 0, 193, 0, 195, 0, 90, 2, 193, 0, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 85, 2, 197, 0, 219, 0, 85, 2, 195, 0, 197, 0, 198, 0, 223, 0, 220, 0, 198, 0, 200, 0, 223, 0, 201, 0, 226, 0, 224, 0, 201, 0, 204, 0, 226, 0, 204, 0, 228, 0, 226, 0, 204, 0, 205, 0, 228, 0, 205, 0, 229, 0, 228, 0, 205, 0, 207, 0, 229, 0, 207, 0, 232, 0, 229, 0, 207, 0, 211, 0, 232, 0, 210, 0, 236, 0, 231, 0, 210, 0, 213, 0, 236, 0, 235, 0, 38, 2, 40, 2, 38, 2, 212, 0, 215, 0, 38, 2, 235, 0, 212, 0, 193, 0, 38, 2, 215, 0, 193, 0, 90, 2, 38, 2, 239, 0, 202, 0, 237, 0, 239, 0, 206, 0, 202, 0, 219, 0, 87, 2, 85, 2, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 226, 0, 81, 2, 224, 0, 226, 0, 83, 2, 81, 2, 214, 0, 82, 0, 243, 0, 214, 0, 209, 0, 82, 0, 48, 2, 226, 0, 228, 0, 48, 2, 83, 2, 226, 0, 50, 2, 228, 0, 229, 0, 50, 2, 48, 2, 228, 0, 46, 2, 229, 0, 232, 0, 46, 2, 50, 2, 229, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 255, 0, 237, 0, 253, 0, 255, 0, 239, 0, 237, 0, 40, 2, 42, 2, 235, 0, 3, 1, 82, 0, 1, 1, 3, 1, 243, 0, 82, 0, 82, 0, 206, 0, 239, 0, 82, 0, 209, 0, 206, 0, 255, 0, 82, 0, 239, 0, 255, 0, 1, 1, 82, 0, 70, 2, 33, 1, 76, 2, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 75, 2, 40, 1, 37, 1, 75, 2, 69, 2, 40, 1, 63, 2, 40, 1, 69, 2, 63, 2, 41, 1, 40, 1, 63, 2, 43, 1, 41, 1, 63, 2, 53, 2, 43, 1, 53, 2, 46, 1, 43, 1, 53, 2, 59, 2, 46, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 64, 2, 49, 1, 54, 2, 60, 2, 55, 1, 53, 1, 60, 2, 78, 2, 55, 1, 55, 1, 33, 1, 56, 1, 33, 1, 78, 2, 76, 2, 33, 1, 55, 1, 78, 2, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 37, 1, 63, 1, 60, 1, 37, 1, 40, 1, 63, 1, 40, 1, 64, 1, 63, 1, 40, 1, 41, 1, 64, 1, 41, 1, 67, 1, 64, 1, 41, 1, 43, 1, 67, 1, 43, 1, 69, 1, 67, 1, 43, 1, 46, 1, 69, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 66, 2, 49, 1, 64, 2, 49, 1, 74, 1, 72, 1, 49, 1, 66, 2, 74, 1, 74, 1, 60, 2, 53, 1, 74, 1, 66, 2, 60, 2, 53, 1, 79, 1, 77, 1, 53, 1, 55, 1, 79, 1, 55, 1, 81, 1, 79, 1, 55, 1, 56, 1, 81, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 60, 1, 87, 1, 84, 1, 60, 1, 63, 1, 87, 1, 63, 1, 89, 1, 87, 1, 63, 1, 64, 1, 89, 1, 64, 1, 90, 1, 89, 1, 64, 1, 67, 1, 90, 1, 67, 1, 94, 1, 90, 1, 67, 1, 69, 1, 94, 1, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 72, 1, 99, 1, 95, 1, 72, 1, 74, 1, 99, 1, 74, 1, 77, 1, 99, 1, 74, 1, 53, 1, 77, 1, 77, 1, 102, 1, 100, 1, 77, 1, 79, 1, 102, 1, 79, 1, 104, 1, 102, 1, 79, 1, 81, 1, 104, 1, 82, 1, 107, 1, 105, 1, 82, 1, 83, 1, 107, 1, 84, 1, 111, 1, 108, 1, 84, 1, 87, 1, 111, 1, 87, 1, 112, 1, 111, 1, 87, 1, 89, 1, 112, 1, 89, 1, 114, 1, 112, 1, 89, 1, 90, 1, 114, 1, 90, 1, 118, 1, 114, 1, 90, 1, 94, 1, 118, 1, 93, 1, 120, 1, 117, 1, 93, 1, 96, 1, 120, 1, 95, 1, 123, 1, 119, 1, 95, 1, 99, 1, 123, 1, 99, 1, 100, 1, 123, 1, 99, 1, 77, 1, 100, 1, 100, 1, 127, 1, 125, 1, 100, 1, 102, 1, 127, 1, 102, 1, 129, 1, 127, 1, 102, 1, 104, 1, 129, 1, 105, 1, 132, 1, 130, 1, 105, 1, 107, 1, 132, 1, 108, 1, 134, 1, 133, 1, 108, 1, 111, 1, 134, 1, 111, 1, 137, 1, 134, 1, 111, 1, 112, 1, 137, 1, 112, 1, 139, 1, 137, 1, 112, 1, 114, 1, 139, 1, 114, 1, 141, 1, 139, 1, 114, 1, 118, 1, 141, 1, 117, 1, 145, 1, 140, 1, 117, 1, 120, 1, 145, 1, 119, 1, 147, 1, 144, 1, 119, 1, 123, 1, 147, 1, 123, 1, 125, 1, 147, 1, 123, 1, 100, 1, 125, 1, 125, 1, 151, 1, 149, 1, 125, 1, 127, 1, 151, 1, 127, 1, 153, 1, 151, 1, 127, 1, 129, 1, 153, 1, 130, 1, 157, 1, 152, 1, 130, 1, 132, 1, 157, 1, 133, 1, 158, 1, 156, 1, 133, 1, 134, 1, 158, 1, 134, 1, 161, 1, 158, 1, 134, 1, 137, 1, 161, 1, 137, 1, 162, 1, 161, 1, 137, 1, 139, 1, 162, 1, 139, 1, 165, 1, 162, 1, 139, 1, 141, 1, 165, 1, 140, 1, 168, 1, 166, 1, 140, 1, 145, 1, 168, 1, 144, 1, 170, 1, 169, 1, 144, 1, 147, 1, 170, 1, 147, 1, 149, 1, 170, 1, 147, 1, 125, 1, 149, 1, 149, 1, 175, 1, 172, 1, 149, 1, 151, 1, 175, 1, 151, 1, 178, 1, 175, 1, 151, 1, 153, 1, 178, 1, 152, 1, 181, 1, 177, 1, 152, 1, 157, 1, 181, 1, 156, 1, 183, 1, 180, 1, 156, 1, 158, 1, 183, 1, 158, 1, 185, 1, 183, 1, 158, 1, 161, 1, 185, 1, 161, 1, 187, 1, 185, 1, 161, 1, 162, 1, 187, 1, 162, 1, 189, 1, 187, 1, 162, 1, 165, 1, 189, 1, 166, 1, 192, 1, 190, 1, 166, 1, 168, 1, 192, 1, 169, 1, 195, 1, 193, 1, 169, 1, 170, 1, 195, 1, 170, 1, 172, 1, 195, 1, 170, 1, 149, 1, 172, 1, 172, 1, 199, 1, 197, 1, 172, 1, 175, 1, 199, 1, 175, 1, 202, 1, 199, 1, 175, 1, 178, 1, 202, 1, 177, 1, 205, 1, 201, 1, 177, 1, 181, 1, 205, 1, 180, 1, 207, 1, 204, 1, 180, 1, 183, 1, 207, 1, 183, 1, 209, 1, 207, 1, 183, 1, 185, 1, 209, 1, 185, 1, 211, 1, 209, 1, 185, 1, 187, 1, 211, 1, 187, 1, 213, 1, 211, 1, 187, 1, 189, 1, 213, 1, 190, 1, 216, 1, 214, 1, 190, 1, 192, 1, 216, 1, 193, 1, 219, 1, 217, 1, 193, 1, 195, 1, 219, 1, 195, 1, 197, 1, 219, 1, 195, 1, 172, 1, 197, 1, 197, 1, 223, 1, 221, 1, 197, 1, 199, 1, 223, 1, 199, 1, 226, 1, 223, 1, 199, 1, 202, 1, 226, 1, 201, 1, 229, 1, 225, 1, 201, 1, 205, 1, 229, 1, 204, 1, 231, 1, 228, 1, 204, 1, 207, 1, 231, 1, 207, 1, 233, 1, 231, 1, 207, 1, 209, 1, 233, 1, 209, 1, 235, 1, 233, 1, 209, 1, 211, 1, 235, 1, 211, 1, 237, 1, 235, 1, 211, 1, 213, 1, 237, 1, 214, 1, 240, 1, 238, 1, 214, 1, 216, 1, 240, 1, 217, 1, 243, 1, 241, 1, 217, 1, 219, 1, 243, 1, 219, 1, 221, 1, 243, 1, 219, 1, 197, 1, 221, 1, 221, 1, 3, 0, 0, 0, 221, 1, 223, 1, 3, 0, 223, 1, 5, 0, 3, 0, 223, 1, 226, 1, 5, 0, 225, 1, 8, 0, 4, 0, 225, 1, 229, 1, 8, 0, 228, 1, 11, 0, 7, 0, 228, 1, 231, 1, 11, 0, 231, 1, 13, 0, 11, 0, 231, 1, 233, 1, 13, 0, 233, 1, 15, 0, 13, 0, 233, 1, 235, 1, 15, 0, 235, 1, 17, 0, 15, 0, 235, 1, 237, 1, 17, 0, 238, 1, 20, 0, 18, 0, 238, 1, 240, 1, 20, 0, 241, 1, 23, 0, 21, 0, 241, 1, 243, 1, 23, 0, 243, 1, 0, 0, 23, 0, 243, 1, 221, 1, 0, 0, 35, 2, 49, 0, 19, 0, 35, 2, 46, 0, 49, 0, 38, 0, 86, 0, 46, 0, 38, 0, 79, 0, 86, 0, 46, 0, 91, 0, 49, 0, 46, 0, 86, 0, 91, 0, 54, 0, 99, 0, 58, 0, 54, 0, 96, 0, 99, 0, 78, 0, 123, 0, 79, 0, 78, 0, 120, 0, 123, 0, 86, 0, 133, 0, 91, 0, 86, 0, 128, 0, 133, 0, 91, 0, 139, 0, 96, 0, 91, 0, 133, 0, 139, 0, 139, 0, 181, 0, 143, 0, 139, 0, 176, 0, 181, 0, 176, 0, 222, 0, 181, 0, 176, 0, 217, 0, 222, 0, 217, 0, 246, 0, 222, 0, 217, 0, 245, 0, 246, 0, 255, 0, 19, 1, 1, 1, 255, 0, 17, 1, 19, 1, 1, 1, 21, 1, 3, 1, 1, 1, 19, 1, 21, 1, 15, 1, 38, 1, 17, 1, 15, 1, 32, 1, 38, 1, 19, 1, 47, 1, 21, 1, 19, 1, 42, 1, 47, 1, 198, 1, 215, 1, 200, 1, 198, 1, 212, 1, 215, 1, 200, 1, 218, 1, 203, 1, 200, 1, 215, 1, 218, 1, 212, 1, 232, 1, 215, 1, 212, 1, 230, 1, 232, 1, 215, 1, 234, 1, 218, 1, 215, 1, 232, 1, 234, 1, 232, 1, 246, 1, 234, 1, 232, 1, 245, 1, 246, 1, 227, 1, 244, 1, 230, 1, 227, 1, 242, 1, 244, 1, 242, 1, 250, 1, 244, 1, 242, 1, 249, 1, 250, 1, 245, 1, 252, 1, 246, 1, 245, 1, 251, 1, 252, 1, 249, 1, 0, 2, 250, 1, 249, 1, 255, 1, 0, 2, 250, 1, 1, 2, 251, 1, 250, 1, 0, 2, 1, 2, 1, 2, 8, 2, 2, 2, 1, 2, 7, 2, 8, 2, 255, 1, 6, 2, 0, 2, 255, 1, 5, 2, 6, 2, 5, 2, 12, 2, 6, 2, 5, 2, 11, 2, 12, 2, 6, 2, 13, 2, 7, 2, 6, 2, 12, 2, 13, 2, 7, 2, 14, 2, 8, 2, 7, 2, 13, 2, 14, 2, 13, 2, 20, 2, 14, 2, 13, 2, 19, 2, 20, 2, 11, 2, 18, 2, 12, 2, 11, 2, 17, 2, 18, 2, 12, 2, 19, 2, 13, 2, 12, 2, 18, 2, 19, 2, 18, 2, 25, 2, 19, 2, 18, 2, 24, 2, 25, 2, 20, 2, 27, 2, 21, 2, 20, 2, 26, 2, 27, 2, 17, 2, 24, 2, 18, 2, 17, 2, 23, 2, 24, 2, 23, 2, 30, 2, 24, 2, 23, 2, 29, 2, 30, 2, 27, 2, 34, 2, 28, 2, 27, 2, 33, 2, 34, 2, 24, 2, 31, 2, 25, 2, 24, 2, 30, 2, 31, 2, 33, 2, 37, 2, 34, 2, 33, 2, 36, 2, 37, 2, 160, 2, 133, 2, 120, 2, 133, 2, 97, 2, 99, 2, 97, 2, 183, 2, 95, 2, 183, 2, 143, 2, 145, 2, 143, 2, 185, 2, 189, 2, 185, 2, 115, 2, 117, 2, 115, 2, 170, 2, 174, 2, 170, 2, 152, 2, 168, 2, 152, 2, 102, 2, 134, 2, 102, 2, 104, 2, 100, 2, 104, 2, 146, 2, 176, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 172, 2, 133, 2, 160, 2, 128, 2, 133, 2, 172, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 128, 2, 97, 2, 133, 2, 126, 2, 97, 2, 128, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 164, 2, 183, 2, 126, 2, 102, 2, 137, 2, 104, 2, 102, 2, 139, 2, 137, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 110, 2, 143, 2, 183, 2, 156, 2, 143, 2, 110, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 156, 2, 185, 2, 143, 2, 154, 2, 185, 2, 156, 2, 170, 2, 149, 2, 152, 2, 170, 2, 151, 2, 149, 2, 180, 2, 185, 2, 154, 2, 186, 2, 185, 2, 180, 2, 115, 2, 151, 2, 170, 2, 115, 2, 166, 2, 151, 2, 186, 2, 115, 2, 185, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 163, 2, 130, 2, 107, 2, 130, 2, 120, 2, 118, 2, 120, 2, 163, 2, 160, 2, 163, 2, 120, 2, 130, 2, 186, 1, 132, 2, 164, 1, 186, 1, 121, 2, 132, 2, 23, 2, 173, 2, 29, 2, 23, 2, 129, 2, 173, 2, 202, 0, 136, 2, 237, 0, 202, 0, 124, 2, 136, 2, 4, 1, 114, 2, 250, 0, 4, 1, 116, 2, 114, 2, 140, 0, 101, 2, 115, 0, 140, 0, 103, 2, 101, 2, 17, 2, 129, 2, 23, 2, 17, 2, 127, 2, 129, 2, 101, 1, 182, 2, 76, 1, 101, 1, 94, 2, 182, 2, 210, 1, 181, 2, 227, 1, 210, 1, 187, 2, 181, 2, 15, 1, 158, 2, 32, 1, 15, 1, 140, 2, 158, 2, 143, 1, 96, 2, 121, 1, 143, 1, 98, 2, 96, 2, 32, 1, 148, 2, 70, 1, 32, 1, 158, 2, 148, 2, 255, 1, 113, 2, 5, 2, 255, 1, 111, 2, 113, 2, 31, 1, 188, 2, 23, 1, 31, 1, 142, 2, 188, 2, 23, 1, 184, 2, 12, 1, 23, 1, 188, 2, 184, 2, 29, 2, 161, 2, 10, 0, 29, 2, 173, 2, 161, 2, 227, 1, 155, 2, 242, 1, 227, 1, 181, 2, 155, 2, 253, 0, 140, 2, 15, 1, 253, 0, 138, 2, 140, 2, 241, 0, 171, 2, 227, 0, 241, 0, 175, 2, 171, 2, 250, 0, 175, 2, 241, 0, 250, 0, 114, 2, 175, 2, 35, 0, 106, 2, 78, 0, 35, 0, 162, 2, 106, 2, 203, 0, 153, 2, 185, 0, 203, 0, 169, 2, 153, 2, 160, 0, 103, 2, 140, 0, 160, 0, 135, 2, 103, 2, 150, 1, 179, 2, 191, 1, 150, 1, 167, 2, 179, 2, 11, 2, 127, 2, 17, 2, 11, 2, 165, 2, 127, 2, 71, 0, 147, 2, 50, 0, 71, 0, 177, 2, 147, 2, 115, 0, 105, 2, 97, 0, 115, 0, 101, 2, 105, 2, 164, 1, 98, 2, 143, 1, 164, 1, 132, 2, 98, 2, 50, 0, 131, 2, 26, 0, 50, 0, 147, 2, 131, 2, 158, 0, 124, 2, 202, 0, 158, 0, 122, 2, 124, 2, 26, 0, 119, 2, 6, 0, 26, 0, 131, 2, 119, 2, 6, 0, 121, 2, 186, 1, 6, 0, 119, 2, 121, 2, 78, 0, 108, 2, 120, 0, 78, 0, 106, 2, 108, 2, 227, 0, 169, 2, 203, 0, 227, 0, 171, 2, 169, 2, 10, 0, 162, 2, 35, 0, 10, 0, 161, 2, 162, 2, 121, 1, 94, 2, 101, 1, 121, 1, 96, 2, 94, 2, 120, 0, 122, 2, 158, 0, 120, 0, 108, 2, 122, 2, 110, 1, 167, 2, 150, 1, 110, 1, 150, 2, 167, 2, 76, 1, 144, 2, 58, 1, 76, 1, 182, 2, 144, 2, 191, 1, 187, 2, 210, 1, 191, 1, 179, 2, 187, 2, 12, 1, 116, 2, 4, 1, 12, 1, 184, 2, 116, 2, 97, 0, 177, 2, 71, 0, 97, 0, 105, 2, 177, 2, 70, 1, 150, 2, 110, 1, 70, 1, 148, 2, 150, 2, 249, 1, 111, 2, 255, 1, 249, 1, 157, 2, 111, 2, 5, 2, 165, 2, 11, 2, 5, 2, 113, 2, 165, 2, 242, 1, 157, 2, 249, 1, 242, 1, 155, 2, 157, 2, 237, 0, 138, 2, 253, 0, 237, 0, 136, 2, 138, 2 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12), +"attribute_data": PackedByteArray(166, 197, 43, 62, 128, 133, 228, 62, 74, 111, 142, 62, 232, 255, 103, 63, 168, 135, 139, 62, 82, 168, 93, 63, 173, 197, 43, 62, 136, 178, 236, 62, 182, 197, 43, 62, 94, 42, 242, 62, 182, 197, 43, 62, 94, 42, 242, 62, 100, 197, 173, 62, 154, 13, 113, 63, 38, 117, 246, 62, 18, 170, 220, 62, 186, 197, 43, 62, 118, 87, 244, 62, 46, 164, 163, 62, 230, 42, 101, 63, 155, 96, 108, 63, 206, 27, 46, 63, 39, 117, 246, 62, 176, 206, 225, 62, 49, 123, 155, 62, 162, 147, 91, 63, 39, 117, 246, 62, 232, 38, 234, 62, 4, 9, 98, 63, 54, 132, 50, 63, 39, 117, 246, 62, 30, 127, 242, 62, 11, 160, 148, 62, 186, 96, 83, 63, 39, 117, 246, 62, 188, 163, 247, 62, 182, 197, 43, 62, 134, 179, 212, 62, 192, 83, 82, 63, 194, 51, 57, 63, 178, 197, 43, 62, 160, 224, 214, 62, 178, 197, 43, 62, 160, 224, 214, 62, 31, 160, 142, 62, 160, 4, 76, 63, 171, 197, 43, 62, 118, 88, 220, 62, 195, 40, 137, 62, 126, 27, 69, 63, 182, 130, 23, 62, 126, 133, 228, 62, 24, 132, 198, 62, 254, 208, 105, 63, 202, 165, 23, 62, 248, 171, 236, 62, 75, 154, 182, 62, 20, 177, 95, 63, 249, 248, 23, 62, 160, 38, 242, 62, 249, 248, 23, 62, 160, 38, 242, 62, 212, 199, 169, 62, 254, 129, 87, 63, 221, 244, 237, 62, 22, 147, 220, 62, 16, 86, 24, 62, 246, 102, 244, 62, 227, 2, 238, 62, 132, 203, 225, 62, 241, 199, 111, 63, 178, 89, 58, 63, 106, 1, 238, 62, 232, 38, 234, 62, 202, 238, 158, 62, 23, 125, 80, 63, 111, 118, 100, 63, 77, 231, 59, 63, 227, 2, 238, 62, 74, 130, 242, 62, 37, 87, 149, 62, 164, 41, 74, 63, 222, 244, 237, 62, 184, 186, 247, 62, 13, 86, 24, 62, 6, 164, 212, 62, 243, 125, 140, 62, 177, 50, 68, 63, 246, 248, 23, 62, 92, 228, 214, 62, 246, 248, 23, 62, 92, 228, 214, 62, 235, 117, 91, 63, 52, 20, 61, 63, 201, 165, 23, 62, 6, 95, 220, 62, 224, 172, 3, 62, 126, 133, 228, 62, 244, 167, 83, 63, 176, 47, 62, 63, 160, 142, 218, 62, 32, 165, 95, 63, 180, 222, 3, 62, 8, 163, 236, 62, 166, 93, 4, 62, 14, 34, 242, 62, 166, 93, 4, 62, 14, 34, 242, 62, 13, 204, 76, 63, 134, 17, 63, 63, 233, 6, 198, 62, 190, 248, 87, 63, 52, 134, 229, 62, 164, 104, 220, 62, 4, 1, 5, 62, 88, 117, 244, 62, 46, 91, 70, 63, 173, 230, 63, 63, 203, 163, 229, 62, 158, 179, 225, 62, 3, 118, 181, 62, 234, 189, 81, 63, 206, 163, 229, 62, 232, 38, 234, 62, 203, 163, 229, 62, 50, 154, 242, 62, 203, 97, 167, 62, 111, 95, 76, 63, 54, 134, 229, 62, 42, 229, 247, 62, 1, 1, 5, 62, 166, 149, 212, 62, 115, 220, 154, 62, 91, 129, 71, 63, 163, 93, 4, 62, 242, 232, 214, 62, 163, 93, 4, 62, 242, 232, 214, 62, 77, 61, 143, 62, 164, 227, 66, 63, 179, 222, 3, 62, 244, 103, 220, 62, 249, 142, 232, 62, 132, 73, 83, 63, 170, 55, 225, 61, 126, 133, 228, 62, 47, 230, 208, 62, 42, 146, 78, 63, 254, 169, 225, 61, 224, 147, 236, 62, 219, 192, 189, 62, 176, 174, 74, 63, 32, 205, 226, 61, 130, 19, 242, 62, 32, 205, 226, 61, 130, 19, 242, 62, 51, 209, 111, 63, 112, 22, 71, 63, 152, 107, 100, 63, 158, 143, 69, 63, 176, 76, 221, 62, 58, 49, 220, 62, 166, 82, 228, 61, 96, 127, 244, 62, 180, 87, 74, 63, 191, 20, 90, 63, 154, 111, 221, 62, 236, 145, 225, 62, 70, 105, 173, 62, 45, 81, 71, 63, 243, 110, 221, 62, 232, 38, 234, 62, 214, 87, 91, 63, 146, 87, 68, 63, 155, 111, 221, 62, 228, 187, 242, 62, 54, 209, 158, 62, 140, 58, 68, 63, 177, 76, 221, 62, 148, 28, 248, 62, 159, 82, 228, 61, 160, 139, 212, 62, 214, 154, 83, 63, 72, 85, 67, 63, 26, 205, 226, 61, 126, 247, 214, 62, 26, 205, 226, 61, 126, 247, 214, 62, 80, 55, 145, 62, 64, 69, 65, 63, 249, 169, 225, 61, 34, 119, 220, 62, 51, 194, 76, 63, 237, 107, 66, 63, 123, 196, 239, 62, 231, 152, 69, 63, 87, 236, 188, 61, 128, 133, 228, 62, 22, 88, 70, 63, 113, 142, 65, 63, 74, 99, 189, 61, 164, 132, 236, 62, 52, 150, 214, 62, 174, 51, 68, 63, 124, 124, 190, 61, 98, 5, 242, 62, 124, 124, 190, 61, 98, 5, 242, 62, 238, 34, 194, 62, 192, 203, 66, 63, 45, 86, 213, 62, 222, 244, 219, 62, 161, 227, 191, 61, 86, 141, 244, 62, 181, 113, 213, 62, 252, 109, 225, 62, 133, 161, 176, 62, 5, 172, 65, 63, 52, 242, 160, 62, 33, 142, 64, 63, 127, 109, 213, 62, 234, 38, 234, 62, 255, 73, 146, 62, 177, 115, 63, 63, 181, 113, 213, 62, 212, 223, 242, 62, 46, 86, 213, 62, 240, 88, 248, 62, 152, 227, 191, 61, 168, 125, 212, 62, 200, 176, 239, 62, 182, 246, 55, 63, 133, 162, 214, 62, 140, 104, 57, 63, 117, 124, 190, 61, 156, 5, 215, 62, 117, 124, 190, 61, 156, 5, 215, 62, 69, 99, 189, 61, 92, 134, 220, 62, 31, 126, 108, 63, 116, 100, 83, 63, 253, 47, 154, 61, 128, 133, 228, 62, 32, 110, 194, 62, 87, 190, 58, 63, 59, 203, 97, 63, 56, 216, 78, 63, 117, 157, 154, 61, 160, 126, 236, 62, 195, 131, 155, 61, 184, 6, 242, 62, 195, 131, 155, 61, 184, 6, 242, 62, 247, 196, 176, 62, 24, 199, 59, 63, 148, 88, 89, 63, 100, 69, 75, 63, 27, 151, 205, 62, 36, 193, 219, 62, 81, 116, 156, 61, 76, 171, 244, 62, 102, 27, 161, 62, 146, 186, 60, 63, 244, 163, 205, 62, 26, 83, 225, 62, 75, 50, 82, 63, 107, 66, 72, 63, 117, 157, 205, 62, 234, 38, 234, 62, 245, 163, 205, 62, 182, 250, 242, 62, 5, 99, 146, 62, 132, 142, 61, 63, 28, 151, 205, 62, 172, 140, 248, 62, 74, 116, 156, 61, 180, 95, 212, 62, 128, 220, 75, 63, 98, 164, 69, 63, 101, 167, 233, 62, 174, 128, 42, 63, 189, 131, 155, 61, 70, 4, 215, 62, 189, 131, 155, 61, 70, 4, 215, 62, 92, 231, 69, 63, 23, 38, 67, 63, 113, 157, 154, 61, 96, 140, 220, 62, 65, 103, 112, 61, 128, 133, 228, 62, 138, 76, 209, 62, 178, 240, 46, 63, 171, 102, 190, 62, 34, 224, 50, 63, 64, 216, 112, 61, 94, 134, 236, 62, 171, 225, 173, 62, 144, 19, 54, 63, 0, 191, 113, 61, 192, 30, 242, 62, 0, 191, 113, 61, 192, 30, 242, 62, 72, 234, 197, 62, 240, 169, 219, 62, 145, 76, 114, 61, 252, 230, 244, 62, 227, 74, 159, 62, 120, 3, 57, 63, 207, 238, 197, 62, 126, 84, 225, 62, 211, 128, 145, 62, 168, 182, 59, 63, 7, 243, 197, 62, 234, 38, 234, 62, 71, 228, 101, 63, 11, 60, 94, 63, 208, 238, 197, 62, 84, 249, 242, 62, 7, 11, 220, 62, 77, 227, 29, 63, 74, 234, 197, 62, 226, 163, 248, 62, 130, 76, 114, 61, 6, 36, 212, 62, 184, 251, 92, 63, 75, 48, 87, 63, 244, 190, 113, 61, 66, 236, 214, 62, 244, 190, 113, 61, 66, 236, 214, 62, 147, 39, 199, 62, 227, 119, 37, 63, 58, 216, 112, 61, 164, 132, 220, 62, 28, 136, 182, 62, 162, 170, 43, 63, 92, 222, 42, 61, 130, 133, 228, 62, 104, 201, 85, 63, 155, 136, 81, 63, 161, 106, 43, 61, 228, 200, 236, 62, 128, 169, 79, 63, 112, 184, 76, 63, 242, 11, 44, 61, 130, 113, 242, 62, 242, 11, 44, 61, 130, 113, 242, 62, 48, 85, 168, 62, 108, 240, 48, 63, 84, 43, 74, 63, 135, 133, 72, 63, 133, 62, 190, 62, 218, 205, 219, 62, 6, 149, 43, 61, 22, 32, 245, 62, 254, 60, 190, 62, 10, 93, 225, 62, 252, 163, 155, 62, 242, 168, 53, 63, 22, 17, 69, 63, 235, 145, 68, 63, 124, 77, 190, 62, 234, 38, 234, 62, 255, 60, 190, 62, 200, 240, 242, 62, 207, 178, 143, 62, 9, 12, 58, 63, 215, 86, 200, 62, 54, 111, 19, 63, 135, 62, 190, 62, 248, 127, 248, 62, 249, 148, 43, 61, 238, 234, 211, 62, 124, 39, 184, 62, 34, 137, 29, 63, 230, 11, 44, 61, 128, 153, 214, 62, 230, 11, 44, 61, 128, 153, 214, 62, 153, 106, 43, 61, 32, 66, 220, 62, 45, 61, 171, 62, 52, 182, 37, 63, 95, 184, 191, 60, 130, 133, 228, 62, 225, 61, 160, 62, 240, 171, 44, 63, 183, 152, 195, 60, 52, 83, 237, 62, 58, 97, 150, 62, 40, 226, 50, 63, 82, 189, 200, 60, 100, 40, 243, 62, 82, 189, 200, 60, 100, 40, 243, 62, 245, 23, 141, 62, 89, 171, 56, 63, 190, 78, 200, 60, 60, 204, 245, 62, 148, 128, 182, 62, 194, 21, 220, 62, 226, 203, 92, 63, 123, 228, 102, 63, 44, 195, 175, 62, 158, 231, 11, 63, 103, 123, 182, 62, 154, 136, 225, 62, 248, 145, 182, 62, 236, 38, 234, 62, 211, 42, 86, 63, 127, 252, 93, 63, 105, 123, 182, 62, 58, 197, 242, 62, 251, 108, 165, 62, 48, 207, 23, 63, 236, 176, 80, 63, 21, 172, 86, 63, 161, 78, 200, 60, 200, 62, 211, 62, 150, 128, 182, 62, 18, 56, 248, 62, 53, 189, 200, 60, 160, 226, 213, 62, 53, 189, 200, 60, 160, 226, 213, 62, 10, 4, 76, 63, 185, 97, 80, 63, 162, 152, 195, 60, 206, 183, 219, 62, 67, 50, 157, 62, 46, 106, 33, 63, 200, 201, 71, 63, 199, 219, 74, 63, 65, 45, 150, 62, 68, 150, 41, 63, 91, 211, 193, 59, 52, 205, 244, 62, 91, 211, 193, 59, 52, 205, 244, 62, 209, 217, 143, 62, 136, 224, 48, 63, 82, 228, 67, 63, 19, 185, 69, 63, 126, 5, 209, 59, 108, 99, 247, 62, 249, 137, 174, 62, 76, 128, 220, 62, 232, 220, 137, 62, 154, 172, 55, 63, 224, 159, 174, 62, 250, 211, 225, 62, 239, 9, 148, 62, 4, 219, 7, 63, 65, 193, 174, 62, 236, 38, 234, 62, 225, 159, 174, 62, 222, 121, 242, 62, 166, 75, 144, 62, 148, 184, 20, 63, 182, 4, 209, 59, 152, 167, 209, 62, 251, 137, 174, 62, 136, 205, 247, 62, 219, 91, 141, 62, 140, 22, 31, 63, 186, 211, 138, 62, 216, 232, 39, 63, 180, 210, 193, 59, 208, 61, 212, 62, 180, 210, 193, 59, 208, 61, 212, 62, 173, 229, 81, 63, 77, 6, 109, 63, 75, 126, 136, 62, 89, 200, 47, 63, 184, 187, 77, 63, 129, 162, 98, 63, 128, 57, 134, 62, 98, 33, 55, 63, 138, 66, 110, 62, 14, 148, 7, 63, 114, 127, 116, 62, 190, 127, 20, 63, 222, 128, 71, 63, 137, 249, 82, 63, 176, 166, 121, 62, 103, 231, 30, 63, 196, 225, 68, 63, 190, 122, 76, 63, 73, 118, 66, 63, 139, 135, 70, 63, 228, 242, 125, 62, 110, 195, 39, 63, 52, 207, 128, 62, 212, 173, 47, 63, 14, 109, 130, 62, 116, 19, 55, 63, 177, 33, 54, 62, 106, 23, 11, 63, 102, 168, 73, 62, 233, 41, 23, 63, 152, 126, 89, 62, 158, 225, 32, 63, 200, 188, 69, 63, 131, 23, 112, 63, 141, 224, 102, 62, 3, 42, 41, 63, 44, 107, 68, 63, 192, 222, 100, 63, 86, 167, 114, 62, 151, 147, 48, 63, 75, 104, 67, 63, 180, 241, 91, 63, 239, 115, 125, 62, 5, 132, 55, 63, 235, 116, 66, 63, 202, 55, 84, 63, 198, 154, 3, 62, 159, 37, 18, 63, 70, 14, 35, 62, 11, 136, 28, 63, 104, 171, 65, 63, 178, 85, 77, 63, 178, 123, 60, 62, 241, 226, 36, 63, 158, 224, 64, 63, 210, 243, 70, 63, 115, 9, 82, 62, 174, 4, 44, 63, 80, 31, 101, 62, 101, 106, 50, 63, 64, 194, 118, 62, 148, 107, 56, 63, 96, 92, 180, 61, 131, 64, 28, 63, 200, 94, 3, 62, 224, 58, 36, 63, 34, 161, 36, 62, 203, 164, 42, 63, 187, 57, 57, 63, 216, 224, 111, 63, 235, 222, 64, 62, 124, 33, 48, 63, 217, 230, 58, 63, 187, 172, 100, 63, 70, 245, 89, 62, 54, 18, 53, 63, 254, 57, 60, 63, 190, 187, 91, 63, 172, 58, 113, 62, 107, 186, 57, 63, 0, 81, 61, 63, 182, 25, 84, 63, 149, 88, 62, 63, 248, 79, 77, 63, 151, 222, 114, 61, 107, 180, 40, 63, 102, 60, 63, 63, 50, 243, 70, 63, 150, 149, 217, 61, 232, 185, 45, 63, 116, 149, 19, 62, 116, 193, 49, 63, 212, 144, 52, 62, 9, 56, 53, 63, 99, 238, 81, 62, 125, 92, 56, 63, 114, 62, 109, 62, 172, 89, 59, 63, 36, 238, 131, 62, 19, 81, 62, 63, 94, 246, 52, 61, 175, 164, 54, 63, 39, 49, 45, 63, 145, 113, 108, 63, 0, 177, 168, 62, 66, 184, 244, 62, 0, 177, 168, 62, 66, 184, 244, 62, 38, 193, 193, 61, 12, 93, 56, 63, 220, 119, 168, 62, 240, 76, 247, 62, 62, 48, 31, 63, 20, 128, 220, 62, 254, 205, 49, 63, 243, 246, 97, 63, 196, 133, 10, 62, 67, 187, 57, 63, 80, 37, 31, 63, 254, 211, 225, 62, 153, 20, 31, 63, 228, 38, 234, 62, 147, 105, 53, 63, 68, 175, 89, 63, 80, 37, 31, 63, 204, 121, 242, 62, 161, 248, 45, 62, 167, 238, 58, 63, 219, 119, 168, 62, 6, 190, 209, 62, 61, 48, 31, 63, 182, 205, 247, 62, 112, 111, 56, 63, 96, 168, 82, 63, 86, 152, 77, 62, 103, 15, 60, 63, 254, 176, 168, 62, 182, 82, 212, 62, 254, 176, 168, 62, 182, 82, 212, 62, 204, 37, 59, 63, 224, 109, 76, 63, 175, 19, 107, 62, 237, 44, 61, 63, 67, 188, 159, 62, 124, 133, 228, 62, 172, 166, 61, 63, 176, 133, 70, 63, 239, 129, 159, 62, 62, 76, 237, 62, 226, 52, 159, 62, 164, 30, 243, 62, 226, 52, 159, 62, 164, 30, 243, 62, 27, 59, 51, 61, 216, 26, 69, 63, 220, 61, 159, 62, 198, 192, 245, 62, 225, 52, 27, 63, 166, 21, 220, 62, 66, 226, 192, 61, 73, 104, 67, 63, 96, 17, 10, 62, 97, 5, 66, 63, 124, 55, 27, 63, 144, 136, 225, 62, 52, 44, 27, 63, 228, 38, 234, 62, 110, 138, 45, 62, 160, 224, 64, 63, 130, 63, 77, 62, 232, 233, 63, 63, 124, 55, 27, 63, 58, 197, 242, 62, 219, 61, 159, 62, 50, 74, 211, 62, 225, 52, 27, 63, 36, 56, 248, 62, 52, 159, 34, 63, 190, 211, 101, 63, 127, 224, 106, 62, 47, 20, 63, 63, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 238, 129, 159, 62, 184, 190, 219, 62, 62, 172, 41, 63, 93, 34, 93, 63, 232, 192, 109, 61, 106, 23, 83, 63, 203, 99, 150, 62, 124, 133, 228, 62, 65, 73, 47, 63, 20, 31, 86, 63, 159, 83, 150, 62, 186, 197, 236, 62, 104, 4, 215, 61, 153, 24, 78, 63, 181, 65, 150, 62, 186, 108, 242, 62, 181, 65, 150, 62, 186, 108, 242, 62, 210, 81, 150, 62, 192, 26, 245, 62, 230, 85, 23, 63, 202, 205, 219, 62, 59, 11, 52, 63, 178, 31, 80, 63, 24, 63, 18, 62, 145, 13, 74, 63, 172, 86, 23, 63, 2, 93, 225, 62, 85, 73, 56, 63, 148, 194, 74, 63, 111, 78, 23, 63, 228, 38, 234, 62, 172, 86, 23, 63, 200, 240, 242, 62, 51, 77, 51, 62, 53, 165, 70, 63, 200, 233, 80, 62, 62, 168, 67, 63, 210, 81, 150, 62, 56, 240, 211, 62, 230, 85, 23, 63, 0, 128, 248, 62, 180, 65, 150, 62, 64, 158, 214, 62, 180, 65, 150, 62, 64, 158, 214, 62, 39, 59, 60, 63, 250, 178, 69, 63, 92, 168, 108, 62, 17, 238, 64, 63, 158, 83, 150, 62, 62, 69, 220, 62, 232, 181, 141, 62, 124, 133, 228, 62, 17, 56, 176, 61, 132, 163, 95, 63, 78, 168, 141, 62, 216, 132, 236, 62, 235, 77, 1, 62, 115, 177, 87, 63, 120, 140, 141, 62, 136, 28, 242, 62, 120, 140, 141, 62, 136, 28, 242, 62, 234, 124, 34, 62, 71, 70, 81, 63, 101, 123, 141, 62, 150, 228, 244, 62, 1, 128, 19, 63, 232, 169, 219, 62, 99, 218, 62, 62, 229, 214, 75, 63, 224, 46, 26, 63, 182, 213, 92, 63, 193, 125, 19, 63, 120, 84, 225, 62, 165, 123, 19, 63, 228, 38, 234, 62, 50, 86, 88, 62, 165, 8, 71, 63, 193, 125, 19, 63, 82, 249, 242, 62, 226, 75, 112, 62, 34, 154, 66, 63, 71, 31, 35, 63, 56, 94, 86, 63, 100, 123, 141, 62, 96, 38, 212, 62, 2, 128, 19, 63, 228, 163, 248, 62, 120, 140, 141, 62, 110, 238, 214, 62, 120, 140, 141, 62, 110, 238, 214, 62, 103, 212, 0, 62, 236, 225, 105, 63, 111, 74, 42, 63, 53, 21, 81, 63, 79, 168, 141, 62, 30, 134, 220, 62, 182, 80, 32, 62, 202, 137, 95, 63, 47, 56, 133, 62, 124, 133, 228, 62, 52, 114, 48, 63, 34, 132, 76, 63, 31, 29, 133, 62, 220, 125, 236, 62, 80, 170, 57, 62, 122, 48, 87, 63, 10, 228, 132, 62, 156, 5, 242, 62, 10, 228, 132, 62, 156, 5, 242, 62, 205, 242, 53, 63, 78, 105, 72, 63, 42, 168, 132, 62, 26, 170, 244, 62, 153, 169, 15, 63, 32, 193, 219, 62, 46, 163, 15, 63, 22, 83, 225, 62, 50, 101, 79, 62, 114, 26, 80, 63, 99, 18, 59, 63, 113, 137, 68, 63, 109, 166, 15, 63, 228, 38, 234, 62, 143, 1, 99, 62, 230, 207, 73, 63, 46, 163, 15, 63, 180, 250, 242, 62, 43, 168, 132, 62, 220, 96, 212, 62, 153, 169, 15, 63, 170, 140, 248, 62, 10, 139, 117, 62, 27, 251, 67, 63, 69, 198, 50, 62, 57, 30, 113, 63, 10, 228, 132, 62, 92, 5, 215, 62, 10, 228, 132, 62, 92, 5, 215, 62, 250, 99, 70, 62, 190, 23, 101, 63, 30, 29, 133, 62, 30, 141, 220, 62, 70, 44, 86, 62, 104, 100, 91, 63, 166, 19, 121, 62, 124, 133, 228, 62, 213, 109, 20, 63, 42, 35, 82, 63, 127, 216, 120, 62, 62, 132, 236, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 225, 200, 99, 62, 49, 37, 83, 63, 157, 47, 112, 62, 106, 205, 75, 63, 16, 202, 11, 63, 220, 244, 219, 62, 15, 153, 119, 62, 182, 140, 244, 62, 77, 188, 11, 63, 248, 109, 225, 62, 66, 148, 30, 63, 117, 52, 78, 63, 156, 9, 124, 62, 233, 248, 68, 63, 104, 190, 11, 63, 228, 38, 234, 62, 77, 188, 11, 63, 210, 223, 242, 62, 207, 187, 38, 63, 225, 237, 74, 63, 96, 122, 106, 62, 98, 217, 116, 63, 16, 202, 11, 63, 238, 88, 248, 62, 14, 153, 119, 62, 66, 126, 212, 62, 244, 228, 45, 63, 112, 22, 72, 63, 96, 76, 120, 62, 42, 6, 215, 62, 96, 76, 120, 62, 42, 6, 215, 62, 127, 216, 120, 62, 186, 134, 220, 62, 246, 227, 112, 62, 59, 250, 103, 63, 201, 238, 102, 62, 124, 133, 228, 62, 107, 75, 52, 63, 78, 137, 69, 63, 207, 9, 118, 62, 221, 152, 93, 63, 201, 181, 102, 62, 168, 147, 236, 62, 123, 64, 58, 63, 54, 29, 67, 63, 117, 36, 102, 62, 46, 19, 242, 62, 117, 36, 102, 62, 46, 19, 242, 62, 54, 157, 122, 62, 62, 194, 84, 63, 207, 206, 7, 63, 56, 49, 220, 62, 209, 97, 101, 62, 8, 127, 244, 62, 55, 248, 126, 62, 155, 222, 76, 63, 90, 189, 7, 63, 234, 145, 225, 62, 206, 170, 129, 62, 76, 130, 69, 63, 174, 189, 7, 63, 228, 38, 234, 62, 243, 8, 146, 62, 217, 210, 116, 63, 90, 189, 7, 63, 226, 187, 242, 62, 221, 39, 137, 62, 36, 214, 84, 63, 207, 206, 7, 63, 146, 28, 248, 62, 208, 97, 101, 62, 240, 139, 212, 62, 228, 155, 17, 63, 240, 118, 70, 63, 114, 36, 102, 62, 202, 247, 214, 62, 114, 36, 102, 62, 202, 247, 214, 62, 197, 43, 135, 62, 59, 241, 76, 63, 197, 181, 102, 62, 78, 119, 220, 62, 153, 119, 133, 62, 8, 142, 69, 63, 39, 222, 83, 62, 126, 133, 228, 62, 163, 42, 28, 63, 96, 53, 69, 63, 105, 172, 83, 62, 236, 162, 236, 62, 216, 6, 37, 63, 250, 13, 68, 63, 153, 45, 83, 62, 228, 33, 242, 62, 153, 45, 83, 62, 228, 33, 242, 62, 121, 145, 44, 63, 56, 34, 67, 63, 12, 178, 3, 63, 162, 104, 220, 62, 76, 138, 82, 62, 42, 117, 244, 62, 249, 112, 51, 63, 19, 84, 66, 63, 66, 163, 3, 63, 156, 179, 225, 62, 196, 211, 57, 63, 239, 134, 65, 63, 64, 163, 3, 63, 228, 38, 234, 62, 241, 164, 17, 63, 163, 130, 58, 63, 66, 163, 3, 63, 48, 154, 242, 62, 142, 81, 28, 63, 60, 231, 59, 63, 12, 178, 3, 63, 40, 229, 247, 62, 72, 138, 82, 62, 208, 149, 212, 62, 12, 28, 37, 63, 11, 4, 61, 63, 151, 45, 83, 62, 26, 233, 214, 62, 151, 45, 83, 62, 26, 233, 214, 62, 245, 166, 44, 63, 2, 2, 62, 63, 103, 172, 83, 62, 12, 104, 220, 62, 210, 115, 51, 63, 203, 1, 63, 63, 132, 8, 64, 62, 124, 133, 228, 62, 190, 211, 57, 63, 43, 226, 63, 63, 126, 229, 63, 62, 234, 171, 236, 62, 138, 19, 64, 63, 31, 181, 64, 63, 101, 146, 63, 62, 142, 38, 242, 62, 101, 146, 63, 62, 142, 38, 242, 62, 199, 170, 20, 63, 82, 230, 46, 63, 111, 245, 254, 62, 20, 147, 220, 62, 89, 53, 63, 62, 228, 102, 244, 62, 128, 190, 30, 63, 206, 239, 50, 63, 108, 231, 254, 62, 132, 203, 225, 62, 107, 248, 38, 63, 81, 58, 54, 63, 227, 232, 254, 62, 228, 38, 234, 62, 168, 5, 46, 63, 44, 24, 57, 63, 108, 231, 254, 62, 72, 130, 242, 62, 102, 82, 52, 63, 187, 205, 59, 63, 112, 245, 254, 62, 182, 186, 247, 62, 84, 53, 63, 62, 24, 164, 212, 62, 122, 64, 58, 63, 148, 75, 62, 63, 98, 146, 63, 62, 106, 228, 214, 62, 98, 146, 63, 62, 106, 228, 214, 62, 29, 139, 26, 63, 190, 98, 36, 63, 125, 229, 63, 62, 16, 95, 220, 62, 255, 87, 35, 63, 124, 217, 42, 63, 233, 125, 42, 63, 81, 32, 48, 63, 229, 151, 48, 63, 130, 178, 52, 63, 99, 252, 53, 63, 183, 238, 56, 63, 157, 18, 59, 63, 186, 222, 60, 63, 18, 243, 34, 63, 114, 156, 27, 63, 79, 222, 41, 63, 45, 40, 36, 63, 28, 118, 47, 63, 199, 27, 43, 63, 112, 52, 52, 63, 211, 25, 49, 63, 73, 85, 56, 63, 152, 149, 54, 63, 1, 60, 60, 63, 76, 180, 59, 63, 255, 103, 45, 63, 50, 57, 21, 63, 192, 237, 49, 63, 70, 83, 31, 63, 164, 145, 53, 63, 112, 132, 39, 63, 247, 159, 56, 63, 2, 140, 46, 63, 116, 53, 59, 63, 194, 234, 52, 63, 179, 168, 61, 63, 146, 224, 58, 63, 39, 57, 57, 63, 74, 178, 17, 63, 174, 0, 59, 63, 81, 182, 28, 63, 166, 106, 60, 63, 113, 156, 37, 63, 235, 143, 61, 63, 206, 54, 45, 63, 38, 108, 62, 63, 112, 11, 52, 63, 50, 64, 63, 63, 26, 114, 58, 63, 53, 158, 69, 63, 254, 91, 17, 63, 49, 125, 68, 63, 112, 136, 28, 63, 225, 139, 67, 63, 48, 138, 37, 63, 248, 174, 66, 63, 189, 51, 45, 63, 153, 194, 65, 63, 124, 7, 52, 63, 0, 231, 64, 63, 186, 112, 58, 63, 173, 202, 81, 63, 190, 68, 20, 63, 162, 191, 77, 63, 45, 215, 30, 63, 14, 120, 74, 63, 244, 84, 39, 63, 243, 161, 71, 63, 112, 133, 46, 63, 231, 255, 68, 63, 230, 223, 52, 63, 108, 128, 66, 63, 9, 221, 58, 63, 9, 223, 92, 63, 234, 80, 26, 63, 55, 31, 86, 63, 159, 133, 35, 63, 16, 177, 80, 63, 158, 226, 42, 63, 52, 20, 76, 63, 64, 22, 49, 63, 132, 226, 71, 63, 71, 146, 54, 63, 115, 240, 67, 63, 63, 176, 59, 63, 82, 14, 102, 63, 183, 20, 35, 63, 223, 250, 92, 63, 186, 69, 42, 63, 157, 188, 85, 63, 69, 244, 47, 63, 136, 186, 79, 63, 204, 187, 52, 63, 17, 56, 74, 63, 110, 243, 56, 63, 105, 26, 69, 63, 152, 221, 60, 63, 129, 122, 89, 63, 134, 23, 54, 63, 222, 232, 75, 63, 72, 213, 59, 63, 62, 236, 69, 63, 177, 77, 62, 63, 195, 35, 159, 59, 128, 119, 218, 62, 24, 140, 237, 62, 20, 68, 61, 63, 231, 152, 137, 59, 126, 172, 216, 62, 162, 192, 236, 62, 118, 32, 62, 63, 190, 250, 50, 59, 242, 173, 211, 62, 190, 250, 50, 59, 242, 173, 211, 62, 161, 46, 234, 62, 61, 87, 64, 63, 175, 185, 7, 57, 34, 103, 208, 62, 214, 184, 171, 62, 96, 131, 247, 62, 66, 148, 230, 62, 198, 85, 64, 63, 12, 164, 172, 62, 236, 38, 234, 62, 49, 248, 227, 62, 160, 156, 56, 63, 159, 121, 171, 62, 230, 62, 242, 62, 221, 126, 228, 62, 90, 105, 61, 63, 157, 106, 188, 62, 36, 129, 62, 63, 43, 151, 32, 63, 104, 67, 242, 62, 27, 65, 170, 62, 164, 203, 211, 62, 27, 65, 170, 62, 164, 203, 211, 62, 5, 206, 184, 62, 52, 177, 64, 63, 175, 87, 171, 62, 178, 161, 208, 62, 150, 32, 187, 62, 210, 163, 64, 63, 176, 116, 32, 63, 74, 138, 247, 62, 26, 217, 168, 62, 122, 133, 228, 62, 8, 228, 180, 62, 101, 137, 59, 63, 114, 238, 187, 62, 98, 33, 59, 63, 232, 37, 32, 63, 228, 38, 234, 62, 148, 176, 169, 62, 206, 156, 217, 62, 92, 184, 182, 62, 148, 252, 62, 63, 223, 143, 169, 62, 16, 127, 218, 62, 227, 107, 182, 62, 246, 182, 62, 63, 46, 211, 186, 62, 49, 196, 55, 63, 43, 151, 32, 63, 98, 10, 226, 62, 28, 65, 170, 62, 84, 63, 245, 62, 28, 65, 170, 62, 84, 63, 245, 62, 129, 72, 182, 62, 250, 13, 54, 63, 175, 87, 171, 62, 70, 105, 248, 62, 85, 146, 184, 62, 186, 212, 53, 63, 177, 116, 32, 63, 128, 195, 220, 62, 148, 176, 169, 62, 40, 110, 239, 62, 196, 16, 181, 62, 125, 245, 55, 63, 222, 143, 169, 62, 230, 139, 238, 62, 74, 234, 180, 62, 127, 66, 56, 63, 199, 212, 7, 57, 228, 163, 248, 62, 212, 184, 171, 62, 116, 202, 220, 62, 139, 237, 226, 62, 236, 205, 48, 63, 158, 121, 171, 62, 240, 14, 226, 62, 137, 74, 226, 62, 196, 235, 51, 63, 75, 153, 137, 59, 134, 94, 240, 62, 114, 17, 234, 62, 74, 71, 50, 63, 78, 252, 50, 59, 20, 93, 245, 62, 78, 252, 50, 59, 20, 93, 245, 62, 18, 130, 230, 62, 9, 101, 48, 63, 174, 40, 227, 59, 130, 133, 228, 62, 186, 9, 239, 62, 210, 255, 55, 63, 39, 36, 159, 59, 130, 147, 238, 62, 178, 64, 235, 62, 164, 9, 51, 63, 225, 40, 81, 61, 174, 111, 102, 63, 74, 6, 71, 63, 147, 145, 1, 63, 121, 174, 202, 61, 103, 197, 114, 63, 81, 89, 87, 63, 91, 54, 5, 63, 243, 129, 33, 62, 44, 123, 123, 63, 196, 93, 102, 63, 146, 51, 13, 63, 113, 225, 87, 63, 170, 219, 123, 63, 94, 135, 2, 63, 163, 197, 54, 63, 227, 150, 71, 63, 132, 247, 127, 63, 4, 0, 254, 62, 10, 181, 38, 63, 123, 97, 102, 63, 25, 168, 115, 63, 94, 135, 2, 63, 226, 8, 71, 63, 18, 159, 122, 63, 166, 126, 72, 63, 18, 159, 122, 63, 166, 126, 72, 63, 57, 108, 118, 63, 134, 151, 87, 63, 57, 108, 118, 63, 134, 151, 87, 63, 57, 18, 41, 63, 84, 188, 11, 63, 57, 18, 41, 63, 84, 188, 11, 63, 50, 114, 55, 63, 46, 70, 7, 63, 50, 114, 55, 63, 46, 70, 7, 63, 165, 153, 37, 62, 4, 157, 0, 63, 86, 152, 2, 63, 236, 76, 72, 63, 192, 107, 209, 61, 64, 28, 9, 63, 99, 159, 2, 63, 6, 156, 56, 63, 132, 247, 127, 63, 146, 14, 56, 63, 160, 104, 182, 62, 53, 91, 123, 63, 140, 77, 123, 63, 45, 145, 39, 63, 254, 255, 148, 62, 247, 235, 127, 63, 214, 90, 110, 63, 148, 223, 100, 63, 214, 90, 110, 63, 148, 223, 100, 63, 242, 78, 99, 63, 170, 128, 111, 63, 242, 78, 99, 63, 170, 128, 111, 63, 77, 135, 85, 63, 217, 49, 10, 63, 77, 135, 85, 63, 217, 49, 10, 63, 92, 46, 99, 63, 18, 149, 17, 63, 92, 46, 99, 63, 18, 149, 17, 63, 132, 247, 127, 63, 239, 67, 73, 63, 255, 48, 212, 62, 61, 154, 114, 63, 187, 157, 100, 62, 132, 247, 127, 63, 231, 156, 114, 63, 209, 7, 25, 63, 192, 213, 54, 63, 164, 162, 127, 63, 165, 40, 238, 62, 248, 117, 23, 63, 80, 231, 85, 63, 236, 230, 118, 63, 80, 231, 85, 63, 236, 230, 118, 63, 67, 6, 71, 63, 38, 183, 122, 63, 67, 6, 71, 63, 38, 183, 122, 63, 237, 171, 55, 63, 5, 113, 122, 63, 237, 171, 55, 63, 5, 113, 122, 63, 219, 92, 40, 58, 208, 16, 53, 63, 227, 15, 25, 63, 0, 176, 15, 63, 175, 185, 7, 57, 116, 123, 70, 63, 43, 233, 38, 63, 152, 251, 6, 63, 72, 82, 123, 63, 123, 194, 89, 63, 146, 63, 236, 62, 16, 77, 102, 63, 186, 6, 28, 63, 235, 6, 110, 63, 186, 6, 28, 63, 235, 6, 110, 63, 96, 194, 17, 63, 223, 244, 98, 63, 96, 194, 17, 63, 223, 244, 98, 63, 75, 213, 38, 63, 66, 228, 122, 63, 215, 137, 214, 62, 88, 197, 10, 63, 18, 52, 18, 63, 174, 97, 30, 63, 18, 52, 18, 63, 174, 97, 30, 63, 234, 85, 28, 63, 98, 155, 19, 63, 234, 85, 28, 63, 98, 155, 19, 63, 61, 242, 40, 63, 89, 44, 118, 63, 61, 242, 40, 63, 89, 44, 118, 63, 235, 99, 118, 63, 156, 183, 41, 63, 235, 99, 118, 63, 156, 183, 41, 63, 159, 140, 122, 63, 254, 205, 56, 63, 159, 140, 122, 63, 254, 205, 56, 63, 216, 148, 70, 63, 133, 196, 6, 63, 216, 148, 70, 63, 133, 196, 6, 63, 113, 222, 10, 63, 32, 221, 85, 63, 113, 222, 10, 63, 32, 221, 85, 63, 10, 167, 24, 63, 56, 24, 114, 63, 146, 235, 184, 62, 12, 164, 1, 63, 15, 138, 13, 63, 33, 224, 101, 63, 108, 124, 151, 62, 110, 119, 249, 62, 128, 126, 110, 63, 182, 78, 28, 63, 128, 126, 110, 63, 182, 78, 28, 63, 227, 41, 6, 63, 29, 149, 87, 63, 231, 65, 105, 62, 210, 197, 248, 62, 47, 115, 114, 63, 232, 54, 104, 63, 92, 227, 252, 62, 222, 96, 87, 63, 19, 112, 7, 63, 126, 190, 71, 63, 19, 112, 7, 63, 126, 190, 71, 63, 184, 37, 11, 63, 212, 43, 43, 63, 184, 37, 11, 63, 212, 43, 43, 63, 50, 10, 142, 60, 137, 83, 87, 63, 13, 154, 54, 63, 220, 64, 2, 63, 199, 50, 91, 61, 242, 71, 21, 63, 218, 151, 6, 63, 162, 95, 41, 63, 39, 155, 7, 63, 98, 65, 57, 63, 39, 155, 7, 63, 98, 65, 57, 63, 66, 110, 154, 60, 102, 71, 36, 63, 46, 28, 14, 63, 152, 120, 27, 63, 189, 131, 155, 61, 70, 4, 215, 62, 0, 177, 168, 62, 66, 184, 244, 62, 0, 177, 168, 62, 66, 184, 244, 62, 225, 52, 27, 63, 36, 56, 248, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 96, 76, 120, 62, 206, 4, 242, 62, 43, 151, 32, 63, 104, 67, 242, 62, 176, 116, 32, 63, 74, 138, 247, 62, 148, 176, 169, 62, 40, 110, 239, 62, 246, 248, 23, 62, 92, 228, 214, 62, 26, 205, 226, 61, 126, 247, 214, 62, 0, 191, 113, 61, 192, 30, 242, 62, 244, 190, 113, 61, 66, 236, 214, 62, 242, 11, 44, 61, 130, 113, 242, 62, 180, 210, 193, 59, 208, 61, 212, 62, 0, 177, 168, 62, 66, 184, 244, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 226, 52, 159, 62, 164, 30, 243, 62, 225, 52, 27, 63, 166, 21, 220, 62, 225, 52, 27, 63, 36, 56, 248, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 42, 6, 215, 62, 96, 76, 120, 62, 42, 6, 215, 62, 101, 146, 63, 62, 142, 38, 242, 62, 231, 152, 137, 59, 126, 172, 216, 62, 43, 151, 32, 63, 104, 67, 242, 62, 5, 206, 184, 62, 52, 177, 64, 63, 176, 116, 32, 63, 74, 138, 247, 62, 227, 107, 182, 62, 246, 182, 62, 63, 177, 116, 32, 63, 128, 195, 220, 62, 148, 176, 169, 62, 40, 110, 239, 62, 57, 108, 118, 63, 134, 151, 87, 63, 50, 114, 55, 63, 46, 70, 7, 63, 50, 114, 55, 63, 46, 70, 7, 63, 242, 78, 99, 63, 170, 128, 111, 63, 242, 78, 99, 63, 170, 128, 111, 63, 92, 46, 99, 63, 18, 149, 17, 63, 67, 6, 71, 63, 38, 183, 122, 63, 146, 63, 236, 62, 16, 77, 102, 63, 96, 194, 17, 63, 223, 244, 98, 63, 19, 112, 7, 63, 126, 190, 71, 63, 19, 112, 7, 63, 126, 190, 71, 63, 13, 154, 54, 63, 220, 64, 2, 63, 170, 55, 225, 61, 126, 133, 228, 62, 170, 55, 225, 61, 126, 133, 228, 62, 32, 205, 226, 61, 130, 19, 242, 62, 26, 205, 226, 61, 126, 247, 214, 62, 124, 124, 190, 61, 98, 5, 242, 62, 117, 124, 190, 61, 156, 5, 215, 62, 189, 131, 155, 61, 70, 4, 215, 62, 0, 191, 113, 61, 192, 30, 242, 62, 244, 190, 113, 61, 66, 236, 214, 62, 82, 189, 200, 60, 100, 40, 243, 62, 53, 189, 200, 60, 160, 226, 213, 62, 91, 211, 193, 59, 52, 205, 244, 62, 180, 210, 193, 59, 208, 61, 212, 62, 239, 115, 125, 62, 5, 132, 55, 63, 0, 177, 168, 62, 66, 184, 244, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 225, 52, 27, 63, 166, 21, 220, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 181, 65, 150, 62, 186, 108, 242, 62, 120, 140, 141, 62, 110, 238, 214, 62, 10, 228, 132, 62, 156, 5, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 117, 36, 102, 62, 46, 19, 242, 62, 151, 45, 83, 62, 26, 233, 214, 62, 195, 35, 159, 59, 128, 119, 218, 62, 5, 206, 184, 62, 52, 177, 64, 63, 232, 37, 32, 63, 228, 38, 234, 62, 223, 143, 169, 62, 16, 127, 218, 62, 43, 151, 32, 63, 98, 10, 226, 62, 177, 116, 32, 63, 128, 195, 220, 62, 222, 143, 169, 62, 230, 139, 238, 62, 75, 153, 137, 59, 134, 94, 240, 62, 182, 130, 23, 62, 126, 133, 228, 62, 32, 205, 226, 61, 130, 19, 242, 62, 26, 205, 226, 61, 126, 247, 214, 62, 87, 236, 188, 61, 128, 133, 228, 62, 87, 236, 188, 61, 128, 133, 228, 62, 124, 124, 190, 61, 98, 5, 242, 62, 124, 124, 190, 61, 98, 5, 242, 62, 117, 124, 190, 61, 156, 5, 215, 62, 117, 124, 190, 61, 156, 5, 215, 62, 195, 131, 155, 61, 184, 6, 242, 62, 189, 131, 155, 61, 70, 4, 215, 62, 244, 190, 113, 61, 66, 236, 214, 62, 244, 190, 113, 61, 66, 236, 214, 62, 92, 222, 42, 61, 130, 133, 228, 62, 242, 11, 44, 61, 130, 113, 242, 62, 230, 11, 44, 61, 128, 153, 214, 62, 82, 189, 200, 60, 100, 40, 243, 62, 53, 189, 200, 60, 160, 226, 213, 62, 91, 211, 193, 59, 52, 205, 244, 62, 180, 210, 193, 59, 208, 61, 212, 62, 0, 177, 168, 62, 66, 184, 244, 62, 62, 48, 31, 63, 20, 128, 220, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 52, 44, 27, 63, 228, 38, 234, 62, 52, 44, 27, 63, 228, 38, 234, 62, 226, 52, 159, 62, 86, 236, 213, 62, 203, 99, 150, 62, 124, 133, 228, 62, 203, 99, 150, 62, 124, 133, 228, 62, 181, 65, 150, 62, 186, 108, 242, 62, 180, 65, 150, 62, 64, 158, 214, 62, 120, 140, 141, 62, 136, 28, 242, 62, 120, 140, 141, 62, 110, 238, 214, 62, 47, 56, 133, 62, 124, 133, 228, 62, 47, 56, 133, 62, 124, 133, 228, 62, 10, 228, 132, 62, 156, 5, 242, 62, 10, 228, 132, 62, 92, 5, 215, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 42, 6, 215, 62, 117, 36, 102, 62, 46, 19, 242, 62, 39, 222, 83, 62, 126, 133, 228, 62, 195, 35, 159, 59, 128, 119, 218, 62, 232, 37, 32, 63, 228, 38, 234, 62, 232, 37, 32, 63, 228, 38, 234, 62, 223, 143, 169, 62, 16, 127, 218, 62, 222, 143, 169, 62, 230, 139, 238, 62, 75, 153, 137, 59, 134, 94, 240, 62), +"format": 4119, "index_count": 3276, -"material": ExtResource( 5 ), -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 702 -} +"index_data": PackedByteArray(188, 1, 12, 0, 2, 0, 188, 1, 16, 0, 12, 0, 194, 1, 16, 0, 188, 1, 194, 1, 22, 0, 16, 0, 1, 0, 6, 0, 186, 1, 1, 0, 9, 0, 6, 0, 196, 1, 22, 0, 194, 1, 196, 1, 24, 0, 22, 0, 2, 0, 9, 0, 1, 0, 2, 0, 12, 0, 9, 0, 30, 1, 24, 0, 196, 1, 24, 0, 40, 0, 22, 0, 24, 0, 43, 0, 40, 0, 12, 0, 28, 0, 9, 0, 12, 0, 31, 0, 28, 0, 30, 1, 43, 0, 24, 0, 16, 0, 31, 0, 12, 0, 16, 0, 37, 0, 31, 0, 22, 0, 37, 0, 16, 0, 22, 0, 40, 0, 37, 0, 9, 0, 26, 0, 6, 0, 9, 0, 28, 0, 26, 0, 40, 0, 63, 0, 37, 0, 40, 0, 66, 0, 63, 0, 28, 0, 50, 0, 26, 0, 28, 0, 55, 0, 50, 0, 43, 0, 66, 0, 40, 0, 43, 0, 69, 0, 66, 0, 31, 0, 55, 0, 28, 0, 31, 0, 60, 0, 55, 0, 30, 1, 69, 0, 43, 0, 37, 0, 60, 0, 31, 0, 37, 0, 63, 0, 60, 0, 30, 1, 94, 0, 69, 0, 63, 0, 75, 0, 60, 0, 63, 0, 84, 0, 75, 0, 66, 0, 84, 0, 63, 0, 66, 0, 88, 0, 84, 0, 55, 0, 71, 0, 50, 0, 55, 0, 73, 0, 71, 0, 69, 0, 88, 0, 66, 0, 69, 0, 94, 0, 88, 0, 60, 0, 73, 0, 55, 0, 60, 0, 75, 0, 73, 0, 73, 0, 97, 0, 71, 0, 73, 0, 101, 0, 97, 0, 94, 0, 109, 0, 88, 0, 94, 0, 111, 0, 109, 0, 75, 0, 101, 0, 73, 0, 75, 0, 104, 0, 101, 0, 30, 1, 111, 0, 94, 0, 84, 0, 104, 0, 75, 0, 84, 0, 108, 0, 104, 0, 88, 0, 108, 0, 84, 0, 88, 0, 109, 0, 108, 0, 109, 0, 127, 0, 108, 0, 109, 0, 131, 0, 127, 0, 51, 2, 116, 0, 49, 2, 116, 0, 97, 0, 101, 0, 97, 0, 91, 2, 115, 0, 97, 0, 39, 2, 91, 2, 47, 2, 116, 0, 51, 2, 47, 2, 97, 0, 116, 0, 97, 0, 41, 2, 39, 2, 44, 2, 97, 0, 47, 2, 97, 0, 44, 2, 41, 2, 111, 0, 131, 0, 109, 0, 111, 0, 136, 0, 131, 0, 104, 0, 116, 0, 101, 0, 104, 0, 122, 0, 116, 0, 30, 1, 136, 0, 111, 0, 67, 2, 127, 0, 61, 2, 104, 0, 62, 2, 122, 0, 104, 0, 52, 2, 62, 2, 67, 2, 108, 0, 127, 0, 65, 2, 108, 0, 67, 2, 104, 0, 58, 2, 52, 2, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 108, 0, 56, 2, 104, 0, 122, 0, 146, 0, 116, 0, 122, 0, 147, 0, 146, 0, 30, 1, 156, 0, 136, 0, 68, 2, 122, 0, 62, 2, 149, 0, 61, 2, 127, 0, 149, 0, 79, 2, 61, 2, 68, 2, 147, 0, 122, 0, 74, 2, 147, 0, 68, 2, 149, 0, 77, 2, 79, 2, 72, 2, 147, 0, 74, 2, 149, 0, 72, 2, 77, 2, 147, 0, 72, 2, 149, 0, 131, 0, 149, 0, 127, 0, 131, 0, 154, 0, 149, 0, 93, 2, 115, 0, 91, 2, 140, 0, 116, 0, 146, 0, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 93, 2, 140, 0, 115, 0, 86, 2, 140, 0, 93, 2, 140, 0, 82, 2, 116, 0, 89, 2, 140, 0, 86, 2, 140, 0, 89, 2, 82, 2, 136, 0, 154, 0, 131, 0, 136, 0, 156, 0, 154, 0, 146, 0, 160, 0, 140, 0, 146, 0, 166, 0, 160, 0, 156, 0, 180, 0, 154, 0, 156, 0, 184, 0, 180, 0, 147, 0, 166, 0, 146, 0, 147, 0, 168, 0, 166, 0, 30, 1, 184, 0, 156, 0, 149, 0, 168, 0, 147, 0, 149, 0, 175, 0, 168, 0, 154, 0, 175, 0, 149, 0, 154, 0, 180, 0, 175, 0, 175, 0, 192, 0, 168, 0, 175, 0, 194, 0, 192, 0, 180, 0, 194, 0, 175, 0, 180, 0, 196, 0, 194, 0, 166, 0, 185, 0, 160, 0, 166, 0, 188, 0, 185, 0, 184, 0, 196, 0, 180, 0, 184, 0, 199, 0, 196, 0, 168, 0, 188, 0, 166, 0, 168, 0, 192, 0, 188, 0, 30, 1, 199, 0, 184, 0, 192, 0, 208, 0, 188, 0, 192, 0, 216, 0, 208, 0, 30, 1, 225, 0, 199, 0, 194, 0, 216, 0, 192, 0, 194, 0, 218, 0, 216, 0, 196, 0, 218, 0, 194, 0, 196, 0, 221, 0, 218, 0, 203, 0, 188, 0, 208, 0, 203, 0, 185, 0, 188, 0, 199, 0, 221, 0, 196, 0, 199, 0, 225, 0, 221, 0, 221, 0, 234, 0, 218, 0, 221, 0, 238, 0, 234, 0, 208, 0, 227, 0, 203, 0, 208, 0, 230, 0, 227, 0, 225, 0, 238, 0, 221, 0, 225, 0, 240, 0, 238, 0, 216, 0, 230, 0, 208, 0, 216, 0, 233, 0, 230, 0, 30, 1, 240, 0, 225, 0, 218, 0, 233, 0, 216, 0, 218, 0, 234, 0, 233, 0, 234, 0, 244, 0, 233, 0, 234, 0, 247, 0, 244, 0, 238, 0, 247, 0, 234, 0, 238, 0, 248, 0, 247, 0, 230, 0, 241, 0, 227, 0, 230, 0, 242, 0, 241, 0, 240, 0, 248, 0, 238, 0, 240, 0, 249, 0, 248, 0, 233, 0, 242, 0, 230, 0, 233, 0, 244, 0, 242, 0, 30, 1, 249, 0, 240, 0, 249, 0, 0, 1, 248, 0, 249, 0, 2, 1, 0, 1, 244, 0, 251, 0, 242, 0, 244, 0, 252, 0, 251, 0, 30, 1, 2, 1, 249, 0, 247, 0, 252, 0, 244, 0, 247, 0, 254, 0, 252, 0, 248, 0, 254, 0, 247, 0, 248, 0, 0, 1, 254, 0, 242, 0, 250, 0, 241, 0, 242, 0, 251, 0, 250, 0, 0, 1, 9, 1, 254, 0, 0, 1, 10, 1, 9, 1, 251, 0, 4, 1, 250, 0, 251, 0, 5, 1, 4, 1, 2, 1, 10, 1, 0, 1, 2, 1, 11, 1, 10, 1, 252, 0, 5, 1, 251, 0, 252, 0, 7, 1, 5, 1, 30, 1, 11, 1, 2, 1, 254, 0, 7, 1, 252, 0, 254, 0, 9, 1, 7, 1, 30, 1, 20, 1, 11, 1, 9, 1, 14, 1, 7, 1, 9, 1, 16, 1, 14, 1, 10, 1, 16, 1, 9, 1, 10, 1, 18, 1, 16, 1, 5, 1, 12, 1, 4, 1, 5, 1, 13, 1, 12, 1, 11, 1, 18, 1, 10, 1, 11, 1, 20, 1, 18, 1, 7, 1, 13, 1, 5, 1, 7, 1, 14, 1, 13, 1, 20, 1, 28, 1, 18, 1, 20, 1, 29, 1, 28, 1, 14, 1, 25, 1, 13, 1, 14, 1, 26, 1, 25, 1, 30, 1, 29, 1, 20, 1, 16, 1, 26, 1, 14, 1, 16, 1, 27, 1, 26, 1, 18, 1, 27, 1, 16, 1, 18, 1, 28, 1, 27, 1, 13, 1, 23, 1, 12, 1, 13, 1, 25, 1, 23, 1, 28, 1, 44, 1, 27, 1, 28, 1, 48, 1, 44, 1, 25, 1, 31, 1, 23, 1, 25, 1, 35, 1, 31, 1, 29, 1, 48, 1, 28, 1, 29, 1, 52, 1, 48, 1, 26, 1, 35, 1, 25, 1, 26, 1, 39, 1, 35, 1, 30, 1, 52, 1, 29, 1, 27, 1, 39, 1, 26, 1, 27, 1, 44, 1, 39, 1, 30, 1, 71, 1, 52, 1, 44, 1, 62, 1, 39, 1, 44, 1, 65, 1, 62, 1, 48, 1, 65, 1, 44, 1, 48, 1, 66, 1, 65, 1, 35, 1, 58, 1, 31, 1, 35, 1, 61, 1, 58, 1, 52, 1, 66, 1, 48, 1, 52, 1, 71, 1, 66, 1, 39, 1, 61, 1, 35, 1, 39, 1, 62, 1, 61, 1, 71, 1, 92, 1, 66, 1, 71, 1, 98, 1, 92, 1, 62, 1, 80, 1, 61, 1, 62, 1, 86, 1, 80, 1, 30, 1, 98, 1, 71, 1, 65, 1, 86, 1, 62, 1, 65, 1, 91, 1, 86, 1, 66, 1, 91, 1, 65, 1, 66, 1, 92, 1, 91, 1, 61, 1, 76, 1, 58, 1, 61, 1, 80, 1, 76, 1, 92, 1, 109, 1, 91, 1, 92, 1, 113, 1, 109, 1, 80, 1, 101, 1, 76, 1, 80, 1, 103, 1, 101, 1, 98, 1, 113, 1, 92, 1, 98, 1, 115, 1, 113, 1, 86, 1, 103, 1, 80, 1, 86, 1, 106, 1, 103, 1, 30, 1, 115, 1, 98, 1, 91, 1, 106, 1, 86, 1, 91, 1, 109, 1, 106, 1, 30, 1, 142, 1, 115, 1, 109, 1, 128, 1, 106, 1, 109, 1, 135, 1, 128, 1, 113, 1, 135, 1, 109, 1, 113, 1, 138, 1, 135, 1, 103, 1, 121, 1, 101, 1, 103, 1, 124, 1, 121, 1, 115, 1, 138, 1, 113, 1, 115, 1, 142, 1, 138, 1, 106, 1, 124, 1, 103, 1, 106, 1, 128, 1, 124, 1, 143, 1, 124, 1, 146, 1, 143, 1, 121, 1, 124, 1, 142, 1, 155, 1, 138, 1, 142, 1, 160, 1, 155, 1, 128, 1, 146, 1, 124, 1, 128, 1, 148, 1, 146, 1, 30, 1, 160, 1, 142, 1, 135, 1, 148, 1, 128, 1, 135, 1, 154, 1, 148, 1, 138, 1, 154, 1, 135, 1, 138, 1, 155, 1, 154, 1, 155, 1, 179, 1, 154, 1, 155, 1, 182, 1, 179, 1, 146, 1, 164, 1, 143, 1, 146, 1, 171, 1, 164, 1, 160, 1, 182, 1, 155, 1, 160, 1, 184, 1, 182, 1, 148, 1, 171, 1, 146, 1, 148, 1, 174, 1, 171, 1, 30, 1, 184, 1, 160, 1, 154, 1, 174, 1, 148, 1, 154, 1, 179, 1, 174, 1, 174, 1, 1, 0, 171, 1, 174, 1, 2, 0, 1, 0, 30, 1, 196, 1, 184, 1, 179, 1, 2, 0, 174, 1, 179, 1, 188, 1, 2, 0, 182, 1, 188, 1, 179, 1, 182, 1, 194, 1, 188, 1, 171, 1, 186, 1, 164, 1, 171, 1, 1, 0, 186, 1, 184, 1, 194, 1, 182, 1, 184, 1, 196, 1, 194, 1, 35, 2, 38, 0, 46, 0, 35, 2, 14, 0, 38, 0, 37, 2, 58, 0, 224, 1, 36, 2, 49, 0, 54, 0, 36, 2, 19, 0, 49, 0, 10, 0, 38, 0, 14, 0, 10, 0, 35, 0, 38, 0, 37, 2, 54, 0, 58, 0, 37, 2, 36, 2, 54, 0, 49, 0, 96, 0, 54, 0, 49, 0, 91, 0, 96, 0, 35, 0, 79, 0, 38, 0, 35, 0, 78, 0, 79, 0, 58, 0, 99, 0, 224, 1, 99, 0, 143, 0, 224, 1, 96, 0, 143, 0, 99, 0, 96, 0, 139, 0, 143, 0, 79, 0, 128, 0, 86, 0, 79, 0, 123, 0, 128, 0, 163, 0, 128, 0, 123, 0, 163, 0, 170, 0, 128, 0, 143, 0, 181, 0, 224, 1, 170, 0, 133, 0, 128, 0, 170, 0, 172, 0, 133, 0, 133, 0, 176, 0, 139, 0, 133, 0, 172, 0, 176, 0, 158, 0, 123, 0, 120, 0, 158, 0, 163, 0, 123, 0, 172, 0, 217, 0, 176, 0, 172, 0, 214, 0, 217, 0, 202, 0, 163, 0, 158, 0, 202, 0, 206, 0, 163, 0, 206, 0, 170, 0, 163, 0, 206, 0, 209, 0, 170, 0, 181, 0, 222, 0, 224, 1, 209, 0, 172, 0, 170, 0, 209, 0, 214, 0, 172, 0, 222, 0, 246, 0, 224, 1, 214, 0, 245, 0, 217, 0, 214, 0, 243, 0, 245, 0, 246, 0, 6, 1, 8, 1, 246, 0, 245, 0, 6, 1, 224, 1, 246, 0, 8, 1, 245, 0, 3, 1, 6, 1, 245, 0, 243, 0, 3, 1, 6, 1, 21, 1, 22, 1, 6, 1, 3, 1, 21, 1, 253, 0, 17, 1, 255, 0, 253, 0, 15, 1, 17, 1, 8, 1, 22, 1, 24, 1, 8, 1, 6, 1, 22, 1, 224, 1, 8, 1, 24, 1, 17, 1, 42, 1, 19, 1, 17, 1, 38, 1, 42, 1, 224, 1, 24, 1, 54, 1, 22, 1, 47, 1, 51, 1, 22, 1, 21, 1, 47, 1, 24, 1, 51, 1, 54, 1, 24, 1, 22, 1, 51, 1, 38, 1, 70, 1, 75, 1, 38, 1, 32, 1, 70, 1, 54, 1, 88, 1, 97, 1, 54, 1, 51, 1, 88, 1, 75, 1, 42, 1, 38, 1, 75, 1, 78, 1, 42, 1, 224, 1, 54, 1, 97, 1, 78, 1, 47, 1, 42, 1, 78, 1, 85, 1, 47, 1, 51, 1, 85, 1, 88, 1, 51, 1, 47, 1, 85, 1, 122, 1, 85, 1, 78, 1, 122, 1, 126, 1, 85, 1, 88, 1, 126, 1, 131, 1, 88, 1, 85, 1, 126, 1, 75, 1, 110, 1, 116, 1, 75, 1, 70, 1, 110, 1, 97, 1, 131, 1, 136, 1, 97, 1, 88, 1, 131, 1, 116, 1, 78, 1, 75, 1, 116, 1, 122, 1, 78, 1, 224, 1, 97, 1, 136, 1, 159, 1, 122, 1, 116, 1, 159, 1, 163, 1, 122, 1, 224, 1, 136, 1, 176, 1, 163, 1, 126, 1, 122, 1, 163, 1, 167, 1, 126, 1, 131, 1, 167, 1, 173, 1, 131, 1, 126, 1, 167, 1, 150, 1, 116, 1, 110, 1, 150, 1, 159, 1, 116, 1, 136, 1, 173, 1, 176, 1, 136, 1, 131, 1, 173, 1, 203, 1, 173, 1, 167, 1, 203, 1, 206, 1, 173, 1, 191, 1, 159, 1, 150, 1, 191, 1, 198, 1, 159, 1, 206, 1, 176, 1, 173, 1, 206, 1, 208, 1, 176, 1, 159, 1, 200, 1, 163, 1, 159, 1, 198, 1, 200, 1, 208, 1, 224, 1, 176, 1, 200, 1, 167, 1, 163, 1, 200, 1, 203, 1, 167, 1, 218, 1, 206, 1, 203, 1, 218, 1, 220, 1, 206, 1, 191, 1, 212, 1, 198, 1, 191, 1, 210, 1, 212, 1, 220, 1, 208, 1, 206, 1, 220, 1, 222, 1, 208, 1, 222, 1, 224, 1, 208, 1, 236, 1, 222, 1, 220, 1, 236, 1, 239, 1, 222, 1, 239, 1, 224, 1, 222, 1, 234, 1, 220, 1, 218, 1, 234, 1, 236, 1, 220, 1, 210, 1, 230, 1, 212, 1, 210, 1, 227, 1, 230, 1, 246, 1, 236, 1, 234, 1, 246, 1, 247, 1, 236, 1, 247, 1, 239, 1, 236, 1, 247, 1, 248, 1, 239, 1, 230, 1, 245, 1, 232, 1, 230, 1, 244, 1, 245, 1, 248, 1, 224, 1, 239, 1, 254, 1, 224, 1, 248, 1, 252, 1, 247, 1, 246, 1, 252, 1, 253, 1, 247, 1, 253, 1, 248, 1, 247, 1, 253, 1, 254, 1, 248, 1, 244, 1, 251, 1, 245, 1, 244, 1, 250, 1, 251, 1, 3, 2, 254, 1, 253, 1, 3, 2, 4, 2, 254, 1, 4, 2, 224, 1, 254, 1, 251, 1, 2, 2, 252, 1, 251, 1, 1, 2, 2, 2, 2, 2, 253, 1, 252, 1, 2, 2, 3, 2, 253, 1, 8, 2, 3, 2, 2, 2, 8, 2, 9, 2, 3, 2, 9, 2, 4, 2, 3, 2, 9, 2, 10, 2, 4, 2, 0, 2, 7, 2, 1, 2, 0, 2, 6, 2, 7, 2, 10, 2, 224, 1, 4, 2, 16, 2, 224, 1, 10, 2, 14, 2, 9, 2, 8, 2, 14, 2, 15, 2, 9, 2, 15, 2, 10, 2, 9, 2, 15, 2, 16, 2, 10, 2, 21, 2, 16, 2, 15, 2, 21, 2, 22, 2, 16, 2, 22, 2, 224, 1, 16, 2, 20, 2, 15, 2, 14, 2, 20, 2, 21, 2, 15, 2, 27, 2, 22, 2, 21, 2, 27, 2, 28, 2, 22, 2, 28, 2, 224, 1, 22, 2, 19, 2, 26, 2, 20, 2, 19, 2, 25, 2, 26, 2, 34, 2, 224, 1, 28, 2, 25, 2, 32, 2, 26, 2, 25, 2, 31, 2, 32, 2, 26, 2, 33, 2, 27, 2, 26, 2, 32, 2, 33, 2, 30, 2, 10, 0, 14, 0, 30, 2, 29, 2, 10, 0, 14, 0, 31, 2, 30, 2, 14, 0, 35, 2, 31, 2, 34, 2, 37, 2, 224, 1, 31, 2, 19, 0, 32, 2, 31, 2, 35, 2, 19, 0, 19, 0, 33, 2, 32, 2, 19, 0, 36, 2, 33, 2, 58, 1, 142, 2, 31, 1, 58, 1, 144, 2, 142, 2, 185, 0, 135, 2, 160, 0, 185, 0, 153, 2, 135, 2, 0, 0, 27, 0, 25, 0, 0, 0, 3, 0, 27, 0, 3, 0, 30, 0, 27, 0, 3, 0, 5, 0, 30, 0, 4, 0, 33, 0, 29, 0, 4, 0, 8, 0, 33, 0, 7, 0, 34, 0, 32, 0, 7, 0, 11, 0, 34, 0, 11, 0, 36, 0, 34, 0, 11, 0, 13, 0, 36, 0, 13, 0, 39, 0, 36, 0, 13, 0, 15, 0, 39, 0, 15, 0, 41, 0, 39, 0, 15, 0, 17, 0, 41, 0, 18, 0, 44, 0, 42, 0, 18, 0, 20, 0, 44, 0, 21, 0, 47, 0, 45, 0, 21, 0, 23, 0, 47, 0, 23, 0, 25, 0, 47, 0, 23, 0, 0, 0, 25, 0, 25, 0, 51, 0, 48, 0, 25, 0, 27, 0, 51, 0, 27, 0, 53, 0, 51, 0, 27, 0, 30, 0, 53, 0, 29, 0, 57, 0, 52, 0, 29, 0, 33, 0, 57, 0, 32, 0, 59, 0, 56, 0, 32, 0, 34, 0, 59, 0, 34, 0, 61, 0, 59, 0, 34, 0, 36, 0, 61, 0, 36, 0, 62, 0, 61, 0, 36, 0, 39, 0, 62, 0, 39, 0, 64, 0, 62, 0, 39, 0, 41, 0, 64, 0, 42, 0, 67, 0, 65, 0, 42, 0, 44, 0, 67, 0, 45, 0, 70, 0, 68, 0, 45, 0, 47, 0, 70, 0, 47, 0, 48, 0, 70, 0, 47, 0, 25, 0, 48, 0, 48, 0, 74, 0, 72, 0, 48, 0, 51, 0, 74, 0, 51, 0, 77, 0, 74, 0, 51, 0, 53, 0, 77, 0, 52, 0, 81, 0, 76, 0, 52, 0, 57, 0, 81, 0, 56, 0, 83, 0, 80, 0, 56, 0, 59, 0, 83, 0, 59, 0, 85, 0, 83, 0, 59, 0, 61, 0, 85, 0, 61, 0, 87, 0, 85, 0, 61, 0, 62, 0, 87, 0, 62, 0, 89, 0, 87, 0, 62, 0, 64, 0, 89, 0, 65, 0, 92, 0, 90, 0, 65, 0, 67, 0, 92, 0, 68, 0, 95, 0, 93, 0, 68, 0, 70, 0, 95, 0, 70, 0, 72, 0, 95, 0, 70, 0, 48, 0, 72, 0, 72, 0, 100, 0, 98, 0, 72, 0, 74, 0, 100, 0, 74, 0, 103, 0, 100, 0, 74, 0, 77, 0, 103, 0, 76, 0, 106, 0, 102, 0, 76, 0, 81, 0, 106, 0, 80, 0, 107, 0, 105, 0, 80, 0, 83, 0, 107, 0, 83, 0, 110, 0, 107, 0, 83, 0, 85, 0, 110, 0, 85, 0, 112, 0, 110, 0, 85, 0, 87, 0, 112, 0, 87, 0, 113, 0, 112, 0, 87, 0, 89, 0, 113, 0, 90, 0, 117, 0, 114, 0, 90, 0, 92, 0, 117, 0, 93, 0, 119, 0, 118, 0, 93, 0, 95, 0, 119, 0, 95, 0, 98, 0, 119, 0, 95, 0, 72, 0, 98, 0, 98, 0, 124, 0, 121, 0, 98, 0, 100, 0, 124, 0, 100, 0, 126, 0, 124, 0, 100, 0, 103, 0, 126, 0, 102, 0, 130, 0, 125, 0, 102, 0, 106, 0, 130, 0, 105, 0, 132, 0, 129, 0, 105, 0, 107, 0, 132, 0, 107, 0, 134, 0, 132, 0, 107, 0, 110, 0, 134, 0, 110, 0, 135, 0, 134, 0, 110, 0, 112, 0, 135, 0, 112, 0, 137, 0, 135, 0, 112, 0, 113, 0, 137, 0, 114, 0, 141, 0, 138, 0, 114, 0, 117, 0, 141, 0, 118, 0, 144, 0, 142, 0, 118, 0, 119, 0, 144, 0, 119, 0, 121, 0, 144, 0, 119, 0, 98, 0, 121, 0, 121, 0, 148, 0, 145, 0, 121, 0, 124, 0, 148, 0, 124, 0, 151, 0, 148, 0, 124, 0, 126, 0, 151, 0, 125, 0, 153, 0, 150, 0, 125, 0, 130, 0, 153, 0, 129, 0, 155, 0, 152, 0, 129, 0, 132, 0, 155, 0, 132, 0, 157, 0, 155, 0, 132, 0, 134, 0, 157, 0, 134, 0, 159, 0, 157, 0, 134, 0, 135, 0, 159, 0, 135, 0, 161, 0, 159, 0, 135, 0, 137, 0, 161, 0, 138, 0, 164, 0, 162, 0, 138, 0, 141, 0, 164, 0, 142, 0, 167, 0, 165, 0, 142, 0, 144, 0, 167, 0, 144, 0, 145, 0, 167, 0, 144, 0, 121, 0, 145, 0, 145, 0, 171, 0, 169, 0, 145, 0, 148, 0, 171, 0, 148, 0, 174, 0, 171, 0, 148, 0, 151, 0, 174, 0, 150, 0, 178, 0, 173, 0, 150, 0, 153, 0, 178, 0, 152, 0, 179, 0, 177, 0, 152, 0, 155, 0, 179, 0, 155, 0, 182, 0, 179, 0, 155, 0, 157, 0, 182, 0, 157, 0, 183, 0, 182, 0, 157, 0, 159, 0, 183, 0, 159, 0, 186, 0, 183, 0, 159, 0, 161, 0, 186, 0, 162, 0, 189, 0, 187, 0, 162, 0, 164, 0, 189, 0, 165, 0, 191, 0, 190, 0, 165, 0, 167, 0, 191, 0, 167, 0, 169, 0, 191, 0, 167, 0, 145, 0, 169, 0, 169, 0, 195, 0, 193, 0, 169, 0, 171, 0, 195, 0, 171, 0, 197, 0, 195, 0, 171, 0, 174, 0, 197, 0, 173, 0, 200, 0, 198, 0, 173, 0, 178, 0, 200, 0, 177, 0, 204, 0, 201, 0, 177, 0, 179, 0, 204, 0, 179, 0, 205, 0, 204, 0, 179, 0, 182, 0, 205, 0, 182, 0, 207, 0, 205, 0, 182, 0, 183, 0, 207, 0, 183, 0, 211, 0, 207, 0, 183, 0, 186, 0, 211, 0, 187, 0, 213, 0, 210, 0, 187, 0, 189, 0, 213, 0, 190, 0, 215, 0, 212, 0, 190, 0, 191, 0, 215, 0, 191, 0, 193, 0, 215, 0, 191, 0, 169, 0, 193, 0, 195, 0, 90, 2, 193, 0, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 85, 2, 197, 0, 219, 0, 85, 2, 195, 0, 197, 0, 198, 0, 223, 0, 220, 0, 198, 0, 200, 0, 223, 0, 201, 0, 226, 0, 224, 0, 201, 0, 204, 0, 226, 0, 204, 0, 228, 0, 226, 0, 204, 0, 205, 0, 228, 0, 205, 0, 229, 0, 228, 0, 205, 0, 207, 0, 229, 0, 207, 0, 232, 0, 229, 0, 207, 0, 211, 0, 232, 0, 210, 0, 236, 0, 231, 0, 210, 0, 213, 0, 236, 0, 235, 0, 38, 2, 40, 2, 38, 2, 212, 0, 215, 0, 38, 2, 235, 0, 212, 0, 193, 0, 38, 2, 215, 0, 193, 0, 90, 2, 38, 2, 239, 0, 202, 0, 237, 0, 239, 0, 206, 0, 202, 0, 219, 0, 87, 2, 85, 2, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 226, 0, 81, 2, 224, 0, 226, 0, 83, 2, 81, 2, 214, 0, 82, 0, 243, 0, 214, 0, 209, 0, 82, 0, 48, 2, 226, 0, 228, 0, 48, 2, 83, 2, 226, 0, 50, 2, 228, 0, 229, 0, 50, 2, 48, 2, 228, 0, 46, 2, 229, 0, 232, 0, 46, 2, 50, 2, 229, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 255, 0, 237, 0, 253, 0, 255, 0, 239, 0, 237, 0, 40, 2, 42, 2, 235, 0, 3, 1, 82, 0, 1, 1, 3, 1, 243, 0, 82, 0, 82, 0, 206, 0, 239, 0, 82, 0, 209, 0, 206, 0, 255, 0, 82, 0, 239, 0, 255, 0, 1, 1, 82, 0, 70, 2, 33, 1, 76, 2, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 75, 2, 40, 1, 37, 1, 75, 2, 69, 2, 40, 1, 63, 2, 40, 1, 69, 2, 63, 2, 41, 1, 40, 1, 63, 2, 43, 1, 41, 1, 63, 2, 53, 2, 43, 1, 53, 2, 46, 1, 43, 1, 53, 2, 59, 2, 46, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 64, 2, 49, 1, 54, 2, 60, 2, 55, 1, 53, 1, 60, 2, 78, 2, 55, 1, 55, 1, 33, 1, 56, 1, 33, 1, 78, 2, 76, 2, 33, 1, 55, 1, 78, 2, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 37, 1, 63, 1, 60, 1, 37, 1, 40, 1, 63, 1, 40, 1, 64, 1, 63, 1, 40, 1, 41, 1, 64, 1, 41, 1, 67, 1, 64, 1, 41, 1, 43, 1, 67, 1, 43, 1, 69, 1, 67, 1, 43, 1, 46, 1, 69, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 66, 2, 49, 1, 64, 2, 49, 1, 74, 1, 72, 1, 49, 1, 66, 2, 74, 1, 74, 1, 60, 2, 53, 1, 74, 1, 66, 2, 60, 2, 53, 1, 79, 1, 77, 1, 53, 1, 55, 1, 79, 1, 55, 1, 81, 1, 79, 1, 55, 1, 56, 1, 81, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 60, 1, 87, 1, 84, 1, 60, 1, 63, 1, 87, 1, 63, 1, 89, 1, 87, 1, 63, 1, 64, 1, 89, 1, 64, 1, 90, 1, 89, 1, 64, 1, 67, 1, 90, 1, 67, 1, 94, 1, 90, 1, 67, 1, 69, 1, 94, 1, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 72, 1, 99, 1, 95, 1, 72, 1, 74, 1, 99, 1, 74, 1, 77, 1, 99, 1, 74, 1, 53, 1, 77, 1, 77, 1, 102, 1, 100, 1, 77, 1, 79, 1, 102, 1, 79, 1, 104, 1, 102, 1, 79, 1, 81, 1, 104, 1, 82, 1, 107, 1, 105, 1, 82, 1, 83, 1, 107, 1, 84, 1, 111, 1, 108, 1, 84, 1, 87, 1, 111, 1, 87, 1, 112, 1, 111, 1, 87, 1, 89, 1, 112, 1, 89, 1, 114, 1, 112, 1, 89, 1, 90, 1, 114, 1, 90, 1, 118, 1, 114, 1, 90, 1, 94, 1, 118, 1, 93, 1, 120, 1, 117, 1, 93, 1, 96, 1, 120, 1, 95, 1, 123, 1, 119, 1, 95, 1, 99, 1, 123, 1, 99, 1, 100, 1, 123, 1, 99, 1, 77, 1, 100, 1, 100, 1, 127, 1, 125, 1, 100, 1, 102, 1, 127, 1, 102, 1, 129, 1, 127, 1, 102, 1, 104, 1, 129, 1, 105, 1, 132, 1, 130, 1, 105, 1, 107, 1, 132, 1, 108, 1, 134, 1, 133, 1, 108, 1, 111, 1, 134, 1, 111, 1, 137, 1, 134, 1, 111, 1, 112, 1, 137, 1, 112, 1, 139, 1, 137, 1, 112, 1, 114, 1, 139, 1, 114, 1, 141, 1, 139, 1, 114, 1, 118, 1, 141, 1, 117, 1, 145, 1, 140, 1, 117, 1, 120, 1, 145, 1, 119, 1, 147, 1, 144, 1, 119, 1, 123, 1, 147, 1, 123, 1, 125, 1, 147, 1, 123, 1, 100, 1, 125, 1, 125, 1, 151, 1, 149, 1, 125, 1, 127, 1, 151, 1, 127, 1, 153, 1, 151, 1, 127, 1, 129, 1, 153, 1, 130, 1, 157, 1, 152, 1, 130, 1, 132, 1, 157, 1, 133, 1, 158, 1, 156, 1, 133, 1, 134, 1, 158, 1, 134, 1, 161, 1, 158, 1, 134, 1, 137, 1, 161, 1, 137, 1, 162, 1, 161, 1, 137, 1, 139, 1, 162, 1, 139, 1, 165, 1, 162, 1, 139, 1, 141, 1, 165, 1, 140, 1, 168, 1, 166, 1, 140, 1, 145, 1, 168, 1, 144, 1, 170, 1, 169, 1, 144, 1, 147, 1, 170, 1, 147, 1, 149, 1, 170, 1, 147, 1, 125, 1, 149, 1, 149, 1, 175, 1, 172, 1, 149, 1, 151, 1, 175, 1, 151, 1, 178, 1, 175, 1, 151, 1, 153, 1, 178, 1, 152, 1, 181, 1, 177, 1, 152, 1, 157, 1, 181, 1, 156, 1, 183, 1, 180, 1, 156, 1, 158, 1, 183, 1, 158, 1, 185, 1, 183, 1, 158, 1, 161, 1, 185, 1, 161, 1, 187, 1, 185, 1, 161, 1, 162, 1, 187, 1, 162, 1, 189, 1, 187, 1, 162, 1, 165, 1, 189, 1, 166, 1, 192, 1, 190, 1, 166, 1, 168, 1, 192, 1, 169, 1, 195, 1, 193, 1, 169, 1, 170, 1, 195, 1, 170, 1, 172, 1, 195, 1, 170, 1, 149, 1, 172, 1, 172, 1, 199, 1, 197, 1, 172, 1, 175, 1, 199, 1, 175, 1, 202, 1, 199, 1, 175, 1, 178, 1, 202, 1, 177, 1, 205, 1, 201, 1, 177, 1, 181, 1, 205, 1, 180, 1, 207, 1, 204, 1, 180, 1, 183, 1, 207, 1, 183, 1, 209, 1, 207, 1, 183, 1, 185, 1, 209, 1, 185, 1, 211, 1, 209, 1, 185, 1, 187, 1, 211, 1, 187, 1, 213, 1, 211, 1, 187, 1, 189, 1, 213, 1, 190, 1, 216, 1, 214, 1, 190, 1, 192, 1, 216, 1, 193, 1, 219, 1, 217, 1, 193, 1, 195, 1, 219, 1, 195, 1, 197, 1, 219, 1, 195, 1, 172, 1, 197, 1, 197, 1, 223, 1, 221, 1, 197, 1, 199, 1, 223, 1, 199, 1, 226, 1, 223, 1, 199, 1, 202, 1, 226, 1, 201, 1, 229, 1, 225, 1, 201, 1, 205, 1, 229, 1, 204, 1, 231, 1, 228, 1, 204, 1, 207, 1, 231, 1, 207, 1, 233, 1, 231, 1, 207, 1, 209, 1, 233, 1, 209, 1, 235, 1, 233, 1, 209, 1, 211, 1, 235, 1, 211, 1, 237, 1, 235, 1, 211, 1, 213, 1, 237, 1, 214, 1, 240, 1, 238, 1, 214, 1, 216, 1, 240, 1, 217, 1, 243, 1, 241, 1, 217, 1, 219, 1, 243, 1, 219, 1, 221, 1, 243, 1, 219, 1, 197, 1, 221, 1, 221, 1, 3, 0, 0, 0, 221, 1, 223, 1, 3, 0, 223, 1, 5, 0, 3, 0, 223, 1, 226, 1, 5, 0, 225, 1, 8, 0, 4, 0, 225, 1, 229, 1, 8, 0, 228, 1, 11, 0, 7, 0, 228, 1, 231, 1, 11, 0, 231, 1, 13, 0, 11, 0, 231, 1, 233, 1, 13, 0, 233, 1, 15, 0, 13, 0, 233, 1, 235, 1, 15, 0, 235, 1, 17, 0, 15, 0, 235, 1, 237, 1, 17, 0, 238, 1, 20, 0, 18, 0, 238, 1, 240, 1, 20, 0, 241, 1, 23, 0, 21, 0, 241, 1, 243, 1, 23, 0, 243, 1, 0, 0, 23, 0, 243, 1, 221, 1, 0, 0, 35, 2, 49, 0, 19, 0, 35, 2, 46, 0, 49, 0, 38, 0, 86, 0, 46, 0, 38, 0, 79, 0, 86, 0, 46, 0, 91, 0, 49, 0, 46, 0, 86, 0, 91, 0, 54, 0, 99, 0, 58, 0, 54, 0, 96, 0, 99, 0, 78, 0, 123, 0, 79, 0, 78, 0, 120, 0, 123, 0, 86, 0, 133, 0, 91, 0, 86, 0, 128, 0, 133, 0, 91, 0, 139, 0, 96, 0, 91, 0, 133, 0, 139, 0, 139, 0, 181, 0, 143, 0, 139, 0, 176, 0, 181, 0, 176, 0, 222, 0, 181, 0, 176, 0, 217, 0, 222, 0, 217, 0, 246, 0, 222, 0, 217, 0, 245, 0, 246, 0, 255, 0, 19, 1, 1, 1, 255, 0, 17, 1, 19, 1, 1, 1, 21, 1, 3, 1, 1, 1, 19, 1, 21, 1, 15, 1, 38, 1, 17, 1, 15, 1, 32, 1, 38, 1, 19, 1, 47, 1, 21, 1, 19, 1, 42, 1, 47, 1, 198, 1, 215, 1, 200, 1, 198, 1, 212, 1, 215, 1, 200, 1, 218, 1, 203, 1, 200, 1, 215, 1, 218, 1, 212, 1, 232, 1, 215, 1, 212, 1, 230, 1, 232, 1, 215, 1, 234, 1, 218, 1, 215, 1, 232, 1, 234, 1, 232, 1, 246, 1, 234, 1, 232, 1, 245, 1, 246, 1, 227, 1, 244, 1, 230, 1, 227, 1, 242, 1, 244, 1, 242, 1, 250, 1, 244, 1, 242, 1, 249, 1, 250, 1, 245, 1, 252, 1, 246, 1, 245, 1, 251, 1, 252, 1, 249, 1, 0, 2, 250, 1, 249, 1, 255, 1, 0, 2, 250, 1, 1, 2, 251, 1, 250, 1, 0, 2, 1, 2, 1, 2, 8, 2, 2, 2, 1, 2, 7, 2, 8, 2, 255, 1, 6, 2, 0, 2, 255, 1, 5, 2, 6, 2, 5, 2, 12, 2, 6, 2, 5, 2, 11, 2, 12, 2, 6, 2, 13, 2, 7, 2, 6, 2, 12, 2, 13, 2, 7, 2, 14, 2, 8, 2, 7, 2, 13, 2, 14, 2, 13, 2, 20, 2, 14, 2, 13, 2, 19, 2, 20, 2, 11, 2, 18, 2, 12, 2, 11, 2, 17, 2, 18, 2, 12, 2, 19, 2, 13, 2, 12, 2, 18, 2, 19, 2, 18, 2, 25, 2, 19, 2, 18, 2, 24, 2, 25, 2, 20, 2, 27, 2, 21, 2, 20, 2, 26, 2, 27, 2, 17, 2, 24, 2, 18, 2, 17, 2, 23, 2, 24, 2, 23, 2, 30, 2, 24, 2, 23, 2, 29, 2, 30, 2, 27, 2, 34, 2, 28, 2, 27, 2, 33, 2, 34, 2, 24, 2, 31, 2, 25, 2, 24, 2, 30, 2, 31, 2, 33, 2, 37, 2, 34, 2, 33, 2, 36, 2, 37, 2, 160, 2, 133, 2, 120, 2, 133, 2, 97, 2, 99, 2, 97, 2, 183, 2, 95, 2, 183, 2, 143, 2, 145, 2, 143, 2, 185, 2, 189, 2, 185, 2, 115, 2, 117, 2, 115, 2, 170, 2, 174, 2, 170, 2, 152, 2, 168, 2, 152, 2, 102, 2, 134, 2, 102, 2, 104, 2, 100, 2, 104, 2, 146, 2, 176, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 172, 2, 133, 2, 160, 2, 128, 2, 133, 2, 172, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 128, 2, 97, 2, 133, 2, 126, 2, 97, 2, 128, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 164, 2, 183, 2, 126, 2, 102, 2, 137, 2, 104, 2, 102, 2, 139, 2, 137, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 110, 2, 143, 2, 183, 2, 156, 2, 143, 2, 110, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 156, 2, 185, 2, 143, 2, 154, 2, 185, 2, 156, 2, 170, 2, 149, 2, 152, 2, 170, 2, 151, 2, 149, 2, 180, 2, 185, 2, 154, 2, 186, 2, 185, 2, 180, 2, 115, 2, 151, 2, 170, 2, 115, 2, 166, 2, 151, 2, 186, 2, 115, 2, 185, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 163, 2, 130, 2, 107, 2, 130, 2, 120, 2, 118, 2, 120, 2, 163, 2, 160, 2, 163, 2, 120, 2, 130, 2, 186, 1, 132, 2, 164, 1, 186, 1, 121, 2, 132, 2, 23, 2, 173, 2, 29, 2, 23, 2, 129, 2, 173, 2, 202, 0, 136, 2, 237, 0, 202, 0, 124, 2, 136, 2, 4, 1, 114, 2, 250, 0, 4, 1, 116, 2, 114, 2, 140, 0, 101, 2, 115, 0, 140, 0, 103, 2, 101, 2, 17, 2, 129, 2, 23, 2, 17, 2, 127, 2, 129, 2, 101, 1, 182, 2, 76, 1, 101, 1, 94, 2, 182, 2, 210, 1, 181, 2, 227, 1, 210, 1, 187, 2, 181, 2, 15, 1, 158, 2, 32, 1, 15, 1, 140, 2, 158, 2, 143, 1, 96, 2, 121, 1, 143, 1, 98, 2, 96, 2, 32, 1, 148, 2, 70, 1, 32, 1, 158, 2, 148, 2, 255, 1, 113, 2, 5, 2, 255, 1, 111, 2, 113, 2, 31, 1, 188, 2, 23, 1, 31, 1, 142, 2, 188, 2, 23, 1, 184, 2, 12, 1, 23, 1, 188, 2, 184, 2, 29, 2, 161, 2, 10, 0, 29, 2, 173, 2, 161, 2, 227, 1, 155, 2, 242, 1, 227, 1, 181, 2, 155, 2, 253, 0, 140, 2, 15, 1, 253, 0, 138, 2, 140, 2, 241, 0, 171, 2, 227, 0, 241, 0, 175, 2, 171, 2, 250, 0, 175, 2, 241, 0, 250, 0, 114, 2, 175, 2, 35, 0, 106, 2, 78, 0, 35, 0, 162, 2, 106, 2, 203, 0, 153, 2, 185, 0, 203, 0, 169, 2, 153, 2, 160, 0, 103, 2, 140, 0, 160, 0, 135, 2, 103, 2, 150, 1, 179, 2, 191, 1, 150, 1, 167, 2, 179, 2, 11, 2, 127, 2, 17, 2, 11, 2, 165, 2, 127, 2, 71, 0, 147, 2, 50, 0, 71, 0, 177, 2, 147, 2, 115, 0, 105, 2, 97, 0, 115, 0, 101, 2, 105, 2, 164, 1, 98, 2, 143, 1, 164, 1, 132, 2, 98, 2, 50, 0, 131, 2, 26, 0, 50, 0, 147, 2, 131, 2, 158, 0, 124, 2, 202, 0, 158, 0, 122, 2, 124, 2, 26, 0, 119, 2, 6, 0, 26, 0, 131, 2, 119, 2, 6, 0, 121, 2, 186, 1, 6, 0, 119, 2, 121, 2, 78, 0, 108, 2, 120, 0, 78, 0, 106, 2, 108, 2, 227, 0, 169, 2, 203, 0, 227, 0, 171, 2, 169, 2, 10, 0, 162, 2, 35, 0, 10, 0, 161, 2, 162, 2, 121, 1, 94, 2, 101, 1, 121, 1, 96, 2, 94, 2, 120, 0, 122, 2, 158, 0, 120, 0, 108, 2, 122, 2, 110, 1, 167, 2, 150, 1, 110, 1, 150, 2, 167, 2, 76, 1, 144, 2, 58, 1, 76, 1, 182, 2, 144, 2, 191, 1, 187, 2, 210, 1, 191, 1, 179, 2, 187, 2, 12, 1, 116, 2, 4, 1, 12, 1, 184, 2, 116, 2, 97, 0, 177, 2, 71, 0, 97, 0, 105, 2, 177, 2, 70, 1, 150, 2, 110, 1, 70, 1, 148, 2, 150, 2, 249, 1, 111, 2, 255, 1, 249, 1, 157, 2, 111, 2, 5, 2, 165, 2, 11, 2, 5, 2, 113, 2, 165, 2, 242, 1, 157, 2, 249, 1, 242, 1, 155, 2, 157, 2, 237, 0, 138, 2, 253, 0, 237, 0, 136, 2, 138, 2), +"lods": [0.00381843, PackedByteArray(9, 0, 119, 2, 132, 2, 119, 2, 121, 2, 132, 2, 132, 2, 98, 2, 96, 2, 171, 1, 132, 2, 96, 2, 171, 1, 9, 0, 132, 2, 96, 2, 124, 1, 171, 1, 179, 1, 9, 0, 171, 1, 124, 1, 179, 1, 171, 1, 9, 0, 55, 0, 119, 2, 55, 0, 147, 2, 119, 2, 147, 2, 131, 2, 119, 2, 9, 0, 63, 0, 55, 0, 55, 0, 73, 0, 147, 2, 63, 0, 73, 0, 55, 0, 73, 0, 97, 0, 147, 2, 97, 0, 177, 2, 147, 2, 97, 0, 105, 2, 177, 2, 22, 0, 63, 0, 9, 0, 179, 1, 22, 0, 9, 0, 63, 0, 104, 0, 73, 0, 91, 2, 105, 2, 97, 0, 91, 2, 101, 2, 105, 2, 97, 0, 39, 2, 91, 2, 97, 0, 41, 2, 39, 2, 97, 0, 44, 2, 41, 2, 44, 2, 97, 0, 47, 2, 116, 0, 97, 0, 73, 0, 47, 2, 97, 0, 116, 0, 104, 0, 116, 0, 73, 0, 47, 2, 116, 0, 51, 2, 51, 2, 116, 0, 49, 2, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 140, 0, 82, 2, 116, 0, 140, 0, 101, 2, 91, 2, 140, 0, 89, 2, 82, 2, 140, 0, 103, 2, 101, 2, 89, 2, 140, 0, 86, 2, 140, 0, 135, 2, 103, 2, 93, 2, 140, 0, 91, 2, 86, 2, 140, 0, 93, 2, 153, 2, 135, 2, 140, 0, 116, 0, 188, 0, 140, 0, 188, 0, 153, 2, 140, 0, 147, 0, 188, 0, 116, 0, 104, 0, 147, 0, 116, 0, 153, 2, 188, 0, 230, 0, 230, 0, 171, 2, 153, 2, 171, 2, 169, 2, 153, 2, 188, 0, 234, 0, 230, 0, 230, 0, 251, 0, 171, 2, 234, 0, 251, 0, 230, 0, 196, 0, 234, 0, 188, 0, 251, 0, 114, 2, 171, 2, 114, 2, 175, 2, 171, 2, 234, 0, 0, 1, 251, 0, 196, 0, 0, 1, 234, 0, 251, 0, 13, 1, 114, 2, 0, 1, 16, 1, 251, 0, 251, 0, 16, 1, 13, 1, 13, 1, 184, 2, 114, 2, 184, 2, 116, 2, 114, 2, 16, 1, 35, 1, 13, 1, 13, 1, 35, 1, 184, 2, 0, 1, 48, 1, 16, 1, 16, 1, 48, 1, 35, 1, 35, 1, 142, 2, 184, 2, 142, 2, 188, 2, 184, 2, 35, 1, 80, 1, 142, 2, 80, 1, 182, 2, 142, 2, 182, 2, 144, 2, 142, 2, 35, 1, 91, 1, 80, 1, 48, 1, 91, 1, 35, 1, 80, 1, 124, 1, 182, 2, 91, 1, 124, 1, 80, 1, 124, 1, 96, 2, 182, 2, 96, 2, 94, 2, 182, 2, 91, 1, 138, 1, 124, 1, 48, 1, 138, 1, 91, 1, 138, 1, 179, 1, 124, 1, 138, 1, 22, 0, 179, 1, 142, 1, 138, 1, 48, 1, 142, 1, 22, 0, 138, 1, 2, 1, 142, 1, 48, 1, 2, 1, 48, 1, 0, 1, 142, 1, 24, 0, 22, 0, 2, 1, 0, 1, 196, 0, 111, 0, 142, 1, 2, 1, 111, 0, 24, 0, 142, 1, 111, 0, 2, 1, 196, 0, 24, 0, 111, 0, 109, 0, 24, 0, 109, 0, 22, 0, 111, 0, 196, 0, 109, 0, 22, 0, 109, 0, 108, 0, 22, 0, 108, 0, 63, 0, 109, 0, 196, 0, 149, 0, 109, 0, 149, 0, 108, 0, 149, 0, 196, 0, 188, 0, 63, 0, 108, 0, 104, 0, 149, 0, 188, 0, 147, 0, 108, 0, 56, 2, 104, 0, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 65, 2, 108, 0, 67, 2, 67, 2, 108, 0, 149, 0, 104, 0, 58, 2, 52, 2, 104, 0, 52, 2, 62, 2, 104, 0, 62, 2, 147, 0, 68, 2, 147, 0, 62, 2, 74, 2, 147, 0, 68, 2, 72, 2, 147, 0, 74, 2, 147, 0, 72, 2, 149, 0, 67, 2, 149, 0, 61, 2, 149, 0, 72, 2, 77, 2, 149, 0, 79, 2, 61, 2, 149, 0, 77, 2, 79, 2, 29, 2, 78, 0, 14, 0, 78, 0, 106, 2, 108, 2, 78, 0, 162, 2, 106, 2, 29, 2, 162, 2, 78, 0, 29, 2, 161, 2, 162, 2, 78, 0, 108, 2, 122, 2, 29, 2, 173, 2, 161, 2, 29, 2, 129, 2, 173, 2, 78, 0, 122, 2, 202, 0, 202, 0, 122, 2, 124, 2, 202, 0, 124, 2, 136, 2, 202, 0, 136, 2, 253, 0, 253, 0, 136, 2, 138, 2, 253, 0, 138, 2, 140, 2, 202, 0, 206, 0, 78, 0, 206, 0, 202, 0, 253, 0, 206, 0, 86, 0, 78, 0, 14, 0, 78, 0, 86, 0, 206, 0, 170, 0, 86, 0, 14, 0, 86, 0, 54, 0, 86, 0, 170, 0, 54, 0, 243, 0, 170, 0, 206, 0, 253, 0, 243, 0, 206, 0, 54, 0, 170, 0, 217, 0, 170, 0, 243, 0, 217, 0, 253, 0, 19, 1, 243, 0, 217, 0, 243, 0, 22, 1, 22, 1, 243, 0, 19, 1, 253, 0, 78, 1, 19, 1, 22, 1, 19, 1, 78, 1, 253, 0, 140, 2, 32, 1, 253, 0, 32, 1, 78, 1, 32, 1, 140, 2, 158, 2, 32, 1, 158, 2, 148, 2, 32, 1, 148, 2, 70, 1, 70, 1, 148, 2, 150, 2, 70, 1, 150, 2, 167, 2, 32, 1, 70, 1, 116, 1, 116, 1, 78, 1, 32, 1, 70, 1, 167, 2, 191, 1, 191, 1, 116, 1, 70, 1, 191, 1, 167, 2, 179, 2, 191, 1, 179, 2, 187, 2, 191, 1, 187, 2, 227, 1, 227, 1, 187, 2, 181, 2, 191, 1, 198, 1, 116, 1, 191, 1, 227, 1, 198, 1, 227, 1, 181, 2, 155, 2, 198, 1, 203, 1, 116, 1, 116, 1, 203, 1, 78, 1, 198, 1, 227, 1, 232, 1, 198, 1, 232, 1, 203, 1, 173, 1, 78, 1, 203, 1, 232, 1, 173, 1, 203, 1, 22, 1, 78, 1, 173, 1, 227, 1, 155, 2, 249, 1, 249, 1, 155, 2, 157, 2, 249, 1, 157, 2, 111, 2, 227, 1, 249, 1, 1, 2, 227, 1, 1, 2, 232, 1, 249, 1, 111, 2, 5, 2, 249, 1, 5, 2, 1, 2, 5, 2, 111, 2, 113, 2, 5, 2, 113, 2, 165, 2, 1, 2, 247, 1, 232, 1, 232, 1, 247, 1, 173, 1, 5, 2, 13, 2, 1, 2, 13, 2, 247, 1, 1, 2, 5, 2, 165, 2, 17, 2, 17, 2, 165, 2, 127, 2, 17, 2, 127, 2, 129, 2, 17, 2, 129, 2, 29, 2, 17, 2, 18, 2, 5, 2, 17, 2, 29, 2, 18, 2, 5, 2, 18, 2, 13, 2, 18, 2, 29, 2, 31, 2, 18, 2, 31, 2, 13, 2, 14, 0, 31, 2, 29, 2, 31, 2, 14, 0, 32, 2, 13, 2, 31, 2, 32, 2, 14, 0, 54, 0, 32, 2, 32, 2, 21, 2, 13, 2, 13, 2, 21, 2, 247, 1, 32, 2, 54, 0, 181, 0, 32, 2, 181, 0, 21, 2, 54, 0, 217, 0, 181, 0, 21, 2, 4, 2, 247, 1, 21, 2, 181, 0, 4, 2, 247, 1, 4, 2, 173, 1, 217, 0, 97, 1, 181, 0, 4, 2, 181, 0, 97, 1, 173, 1, 4, 2, 97, 1, 97, 1, 217, 0, 22, 1, 97, 1, 22, 1, 173, 1, 25, 0, 5, 0, 30, 0, 25, 0, 30, 0, 53, 0, 16, 3, 53, 0, 77, 0, 25, 0, 77, 0, 98, 0, 68, 0, 98, 0, 93, 0, 68, 0, 25, 0, 98, 0, 45, 0, 25, 0, 68, 0, 21, 0, 25, 0, 45, 0, 241, 1, 25, 0, 21, 0, 241, 1, 197, 1, 25, 0, 197, 1, 5, 0, 25, 0, 217, 1, 197, 1, 241, 1, 197, 1, 226, 1, 5, 0, 193, 1, 197, 1, 217, 1, 197, 1, 202, 1, 226, 1, 197, 1, 178, 1, 202, 1, 54, 3, 56, 3, 193, 1, 54, 3, 125, 1, 56, 3, 125, 1, 153, 1, 55, 3, 50, 3, 55, 3, 56, 3, 52, 3, 50, 3, 54, 3, 48, 3, 125, 1, 52, 3, 50, 3, 51, 3, 53, 3, 77, 1, 51, 3, 125, 1, 46, 3, 77, 1, 48, 3, 44, 3, 47, 3, 51, 3, 77, 1, 45, 3, 47, 3, 72, 1, 56, 1, 77, 1, 48, 3, 43, 3, 49, 3, 39, 3, 45, 3, 43, 3, 42, 3, 43, 3, 46, 3, 42, 3, 60, 2, 39, 3, 60, 2, 61, 3, 39, 3, 36, 3, 39, 3, 61, 3, 42, 3, 60, 3, 60, 2, 38, 3, 60, 3, 42, 3, 36, 3, 78, 2, 76, 2, 70, 2, 33, 1, 76, 2, 4, 0, 33, 0, 29, 0, 29, 0, 33, 0, 57, 0, 4, 0, 8, 0, 33, 0, 29, 0, 57, 0, 52, 0, 225, 1, 8, 0, 4, 0, 52, 0, 57, 0, 81, 0, 225, 1, 229, 1, 8, 0, 52, 0, 81, 0, 76, 0, 201, 1, 229, 1, 225, 1, 76, 0, 81, 0, 106, 0, 201, 1, 205, 1, 229, 1, 76, 0, 106, 0, 102, 0, 177, 1, 205, 1, 201, 1, 102, 0, 106, 0, 130, 0, 177, 1, 181, 1, 205, 1, 102, 0, 130, 0, 125, 0, 152, 1, 181, 1, 177, 1, 125, 0, 130, 0, 153, 0, 152, 1, 157, 1, 181, 1, 125, 0, 153, 0, 150, 0, 130, 1, 157, 1, 152, 1, 150, 0, 153, 0, 178, 0, 130, 1, 132, 1, 157, 1, 150, 0, 178, 0, 173, 0, 105, 1, 132, 1, 130, 1, 173, 0, 178, 0, 200, 0, 105, 1, 107, 1, 132, 1, 173, 0, 200, 0, 198, 0, 82, 1, 107, 1, 105, 1, 198, 0, 200, 0, 223, 0, 82, 1, 83, 1, 107, 1, 198, 0, 223, 0, 220, 0, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 7, 0, 36, 0, 32, 0, 32, 0, 36, 0, 56, 0, 228, 1, 36, 0, 7, 0, 56, 0, 36, 0, 110, 0, 56, 0, 110, 0, 80, 0, 80, 0, 110, 0, 105, 0, 228, 1, 209, 1, 36, 0, 204, 1, 209, 1, 228, 1, 180, 1, 209, 1, 204, 1, 156, 1, 209, 1, 180, 1, 105, 0, 110, 0, 134, 0, 105, 0, 134, 0, 129, 0, 129, 0, 134, 0, 152, 0, 110, 0, 137, 0, 134, 0, 110, 0, 113, 0, 137, 0, 134, 0, 137, 0, 161, 0, 110, 0, 89, 0, 113, 0, 36, 0, 89, 0, 110, 0, 36, 0, 64, 0, 89, 0, 36, 0, 41, 0, 64, 0, 36, 0, 17, 0, 41, 0, 209, 1, 17, 0, 36, 0, 134, 0, 161, 0, 186, 0, 209, 1, 237, 1, 17, 0, 209, 1, 213, 1, 237, 1, 209, 1, 189, 1, 213, 1, 134, 0, 186, 0, 205, 0, 205, 0, 186, 0, 211, 0, 152, 0, 134, 0, 205, 0, 152, 0, 205, 0, 177, 0, 205, 0, 211, 0, 232, 0, 177, 0, 205, 0, 201, 0, 161, 1, 189, 1, 209, 1, 161, 1, 165, 1, 189, 1, 156, 1, 161, 1, 209, 1, 133, 1, 161, 1, 156, 1, 161, 1, 141, 1, 165, 1, 108, 1, 161, 1, 133, 1, 112, 1, 141, 1, 161, 1, 108, 1, 112, 1, 161, 1, 112, 1, 118, 1, 141, 1, 84, 1, 112, 1, 108, 1, 64, 1, 118, 1, 112, 1, 84, 1, 64, 1, 112, 1, 64, 1, 94, 1, 118, 1, 60, 1, 64, 1, 84, 1, 64, 1, 69, 1, 94, 1, 37, 1, 64, 1, 60, 1, 59, 3, 69, 1, 41, 3, 75, 2, 69, 2, 37, 1, 63, 2, 37, 1, 69, 2, 63, 2, 46, 1, 69, 1, 63, 2, 53, 2, 46, 1, 53, 2, 59, 2, 46, 1, 18, 0, 44, 0, 42, 0, 42, 0, 44, 0, 67, 0, 18, 0, 20, 0, 44, 0, 42, 0, 67, 0, 65, 0, 238, 1, 20, 0, 18, 0, 65, 0, 67, 0, 92, 0, 238, 1, 240, 1, 20, 0, 65, 0, 92, 0, 90, 0, 214, 1, 240, 1, 238, 1, 90, 0, 92, 0, 117, 0, 214, 1, 216, 1, 240, 1, 90, 0, 117, 0, 114, 0, 190, 1, 216, 1, 214, 1, 114, 0, 117, 0, 141, 0, 190, 1, 192, 1, 216, 1, 114, 0, 141, 0, 138, 0, 166, 1, 192, 1, 190, 1, 138, 0, 141, 0, 164, 0, 166, 1, 168, 1, 192, 1, 138, 0, 164, 0, 162, 0, 140, 1, 168, 1, 166, 1, 162, 0, 164, 0, 189, 0, 140, 1, 145, 1, 168, 1, 162, 0, 189, 0, 187, 0, 117, 1, 145, 1, 140, 1, 187, 0, 189, 0, 213, 0, 117, 1, 120, 1, 145, 1, 187, 0, 213, 0, 210, 0, 93, 1, 120, 1, 117, 1, 210, 0, 213, 0, 236, 0, 93, 1, 96, 1, 120, 1, 210, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 19, 3, 17, 3, 21, 3, 18, 3, 19, 3, 23, 3, 20, 3, 22, 3, 25, 3, 20, 3, 25, 3, 151, 0, 20, 3, 151, 0, 29, 3, 26, 3, 20, 3, 29, 3, 24, 3, 20, 3, 26, 3, 26, 3, 29, 3, 27, 3, 169, 0, 151, 0, 30, 3, 169, 0, 30, 3, 195, 0, 190, 0, 169, 0, 195, 0, 28, 3, 169, 0, 31, 3, 31, 3, 195, 0, 33, 3, 174, 0, 197, 0, 195, 0, 195, 0, 57, 3, 33, 3, 57, 3, 35, 3, 33, 3, 195, 0, 90, 2, 57, 3, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 219, 0, 87, 2, 85, 2, 35, 3, 38, 2, 40, 2, 40, 2, 42, 2, 235, 0, 62, 3, 195, 0, 32, 3, 62, 3, 32, 3, 34, 3, 201, 0, 48, 2, 224, 0, 201, 0, 205, 0, 48, 2, 48, 2, 83, 2, 224, 0, 224, 0, 83, 2, 81, 2, 205, 0, 232, 0, 48, 2, 50, 2, 48, 2, 232, 0, 46, 2, 50, 2, 232, 0, 64, 2, 49, 1, 54, 2, 66, 2, 49, 1, 64, 2, 37, 3, 58, 3, 40, 3, 160, 2, 133, 2, 120, 2, 172, 2, 133, 2, 160, 2, 120, 2, 163, 2, 160, 2, 128, 2, 133, 2, 172, 2, 163, 2, 120, 2, 130, 2, 130, 2, 120, 2, 118, 2, 163, 2, 130, 2, 107, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 128, 2, 97, 2, 133, 2, 133, 2, 97, 2, 99, 2, 126, 2, 97, 2, 128, 2, 104, 2, 109, 2, 146, 2, 104, 2, 146, 2, 176, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 97, 2, 183, 2, 95, 2, 164, 2, 183, 2, 126, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 102, 2, 137, 2, 104, 2, 102, 2, 104, 2, 100, 2, 102, 2, 139, 2, 137, 2, 152, 2, 139, 2, 102, 2, 152, 2, 102, 2, 134, 2, 152, 2, 141, 2, 139, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 170, 2, 149, 2, 152, 2, 170, 2, 152, 2, 168, 2, 170, 2, 151, 2, 149, 2, 115, 2, 151, 2, 170, 2, 115, 2, 170, 2, 174, 2, 115, 2, 166, 2, 151, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 186, 2, 115, 2, 185, 2, 185, 2, 115, 2, 117, 2, 186, 2, 185, 2, 180, 2, 180, 2, 185, 2, 154, 2, 154, 2, 185, 2, 156, 2, 156, 2, 185, 2, 143, 2, 143, 2, 185, 2, 189, 2, 156, 2, 143, 2, 110, 2, 110, 2, 143, 2, 183, 2, 183, 2, 143, 2, 145, 2), 0.0373354, PackedByteArray(147, 2, 39, 2, 91, 2, 147, 2, 41, 2, 39, 2, 147, 2, 44, 2, 41, 2, 44, 2, 147, 2, 47, 2, 250, 2, 9, 3, 147, 2, 91, 2, 105, 2, 147, 2, 91, 2, 101, 2, 105, 2, 153, 2, 101, 2, 91, 2, 153, 2, 103, 2, 101, 2, 93, 2, 153, 2, 91, 2, 86, 2, 153, 2, 93, 2, 89, 2, 153, 2, 86, 2, 153, 2, 89, 2, 82, 2, 147, 2, 121, 2, 132, 2, 94, 2, 147, 2, 132, 2, 144, 2, 94, 2, 182, 2, 144, 2, 147, 2, 94, 2, 144, 2, 188, 2, 184, 2, 114, 2, 144, 2, 184, 2, 184, 2, 116, 2, 114, 2, 2, 1, 144, 2, 114, 2, 2, 1, 147, 2, 144, 2, 114, 2, 175, 2, 171, 2, 153, 2, 114, 2, 171, 2, 171, 2, 169, 2, 153, 2, 2, 1, 114, 2, 153, 2, 74, 2, 153, 2, 68, 2, 72, 2, 153, 2, 74, 2, 153, 2, 72, 2, 2, 1, 68, 2, 153, 2, 62, 2, 147, 2, 62, 2, 153, 2, 2, 1, 72, 2, 77, 2, 147, 2, 52, 2, 62, 2, 147, 2, 58, 2, 52, 2, 147, 2, 56, 2, 58, 2, 56, 2, 2, 1, 65, 2, 2, 1, 77, 2, 79, 2, 65, 2, 2, 1, 67, 2, 2, 1, 79, 2, 61, 2, 67, 2, 2, 1, 61, 2, 147, 2, 153, 2, 116, 0, 153, 2, 82, 2, 116, 0, 47, 2, 147, 2, 116, 0, 116, 0, 82, 2, 84, 2, 47, 2, 116, 0, 51, 2, 116, 0, 84, 2, 51, 2, 161, 2, 108, 2, 129, 2, 108, 2, 122, 2, 124, 2, 129, 2, 108, 2, 54, 0, 124, 2, 54, 0, 108, 2, 138, 2, 54, 0, 124, 2, 124, 2, 136, 2, 138, 2, 129, 2, 54, 0, 247, 1, 113, 2, 129, 2, 247, 1, 138, 2, 150, 2, 54, 0, 54, 0, 150, 2, 247, 1, 138, 2, 140, 2, 150, 2, 157, 2, 113, 2, 247, 1, 157, 2, 111, 2, 113, 2, 157, 2, 247, 1, 179, 2, 179, 2, 247, 1, 150, 2, 150, 2, 167, 2, 179, 2, 225, 1, 57, 0, 29, 0, 29, 0, 57, 0, 52, 0, 52, 0, 57, 0, 76, 0, 76, 0, 57, 0, 102, 0, 225, 1, 229, 1, 57, 0, 102, 0, 57, 0, 130, 0, 201, 1, 229, 1, 225, 1, 102, 0, 130, 0, 125, 0, 201, 1, 157, 1, 229, 1, 125, 0, 130, 0, 223, 0, 177, 1, 157, 1, 201, 1, 152, 1, 157, 1, 177, 1, 130, 1, 157, 1, 152, 1, 105, 1, 157, 1, 130, 1, 105, 1, 83, 1, 157, 1, 82, 1, 83, 1, 105, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 34, 1, 59, 1, 57, 1, 34, 1, 73, 2, 59, 1, 34, 1, 71, 2, 73, 2, 125, 0, 223, 0, 150, 0, 150, 0, 223, 0, 173, 0, 173, 0, 223, 0, 198, 0, 198, 0, 223, 0, 220, 0, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 56, 0, 237, 1, 41, 0, 56, 0, 41, 0, 64, 0, 56, 0, 64, 0, 89, 0, 56, 0, 89, 0, 113, 0, 56, 0, 113, 0, 137, 0, 56, 0, 137, 0, 129, 0, 156, 1, 237, 1, 56, 0, 228, 1, 156, 1, 56, 0, 156, 1, 213, 1, 237, 1, 156, 1, 189, 1, 213, 1, 156, 1, 165, 1, 189, 1, 156, 1, 141, 1, 165, 1, 84, 1, 141, 1, 156, 1, 84, 1, 118, 1, 141, 1, 69, 1, 118, 1, 84, 1, 69, 1, 94, 1, 118, 1, 60, 1, 69, 1, 84, 1, 60, 1, 63, 2, 69, 1, 63, 2, 60, 1, 69, 2, 10, 3, 46, 1, 69, 1, 63, 2, 53, 2, 46, 1, 53, 2, 59, 2, 46, 1, 238, 1, 44, 0, 42, 0, 42, 0, 44, 0, 67, 0, 238, 1, 20, 0, 44, 0, 42, 0, 67, 0, 65, 0, 238, 1, 216, 1, 20, 0, 65, 0, 67, 0, 92, 0, 214, 1, 216, 1, 238, 1, 65, 0, 92, 0, 90, 0, 190, 1, 216, 1, 214, 1, 90, 0, 92, 0, 117, 0, 190, 1, 168, 1, 216, 1, 90, 0, 117, 0, 114, 0, 166, 1, 168, 1, 190, 1, 114, 0, 117, 0, 141, 0, 140, 1, 168, 1, 166, 1, 114, 0, 141, 0, 138, 0, 140, 1, 120, 1, 168, 1, 138, 0, 141, 0, 164, 0, 117, 1, 120, 1, 140, 1, 138, 0, 164, 0, 162, 0, 93, 1, 120, 1, 117, 1, 162, 0, 164, 0, 187, 0, 93, 1, 73, 1, 120, 1, 187, 0, 164, 0, 213, 0, 68, 1, 73, 1, 93, 1, 187, 0, 213, 0, 210, 0, 45, 1, 73, 1, 68, 1, 210, 0, 213, 0, 236, 0, 45, 1, 50, 1, 73, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 210, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 21, 0, 30, 0, 45, 0, 217, 1, 30, 0, 21, 0, 217, 1, 226, 1, 30, 0, 217, 1, 202, 1, 226, 1, 217, 1, 178, 1, 202, 1, 45, 0, 30, 0, 72, 0, 30, 0, 53, 0, 72, 0, 72, 0, 53, 0, 77, 0, 45, 0, 72, 0, 68, 0, 68, 0, 72, 0, 93, 0, 72, 0, 126, 0, 151, 0, 238, 2, 103, 0, 126, 0, 245, 2, 151, 0, 174, 0, 118, 0, 238, 2, 244, 2, 118, 0, 244, 2, 243, 2, 243, 2, 244, 2, 245, 2, 245, 2, 174, 0, 246, 2, 245, 2, 246, 2, 212, 0, 246, 2, 8, 3, 212, 0, 8, 3, 249, 2, 247, 2, 15, 3, 246, 2, 248, 2, 246, 2, 15, 3, 92, 2, 246, 2, 92, 2, 90, 2, 197, 0, 90, 2, 38, 2, 235, 0, 38, 2, 40, 2, 40, 2, 42, 2, 235, 0, 237, 2, 239, 2, 241, 2, 240, 2, 237, 2, 242, 2, 129, 0, 137, 0, 224, 0, 137, 0, 161, 0, 186, 0, 137, 0, 186, 0, 224, 0, 224, 0, 186, 0, 211, 0, 224, 0, 211, 0, 232, 0, 224, 0, 232, 0, 50, 2, 46, 2, 50, 2, 232, 0, 50, 2, 83, 2, 224, 0, 224, 0, 83, 2, 81, 2, 219, 0, 87, 2, 85, 2, 70, 2, 33, 1, 76, 2, 33, 1, 78, 2, 76, 2, 13, 3, 12, 3, 254, 2, 64, 2, 49, 1, 54, 2, 66, 2, 49, 1, 64, 2, 60, 2, 14, 3, 253, 2, 251, 2, 253, 2, 14, 3, 255, 2, 60, 2, 253, 2, 255, 2, 11, 3, 60, 2, 252, 2, 11, 3, 255, 2, 253, 2, 1, 3, 255, 2, 255, 2, 1, 3, 104, 1, 72, 1, 104, 1, 129, 1, 119, 1, 72, 1, 153, 1, 0, 3, 3, 3, 153, 1, 169, 1, 153, 1, 217, 1, 2, 3, 4, 3, 169, 1, 5, 3, 6, 3, 7, 3, 160, 2, 133, 2, 120, 2, 128, 2, 133, 2, 160, 2, 120, 2, 109, 2, 160, 2, 128, 2, 95, 2, 133, 2, 109, 2, 120, 2, 146, 2, 128, 2, 183, 2, 95, 2, 112, 2, 183, 2, 128, 2, 110, 2, 183, 2, 112, 2, 110, 2, 145, 2, 183, 2, 104, 2, 109, 2, 146, 2, 156, 2, 145, 2, 110, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 102, 2, 137, 2, 104, 2, 102, 2, 104, 2, 100, 2, 102, 2, 139, 2, 137, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 152, 2, 151, 2, 141, 2, 170, 2, 151, 2, 152, 2, 170, 2, 152, 2, 168, 2, 115, 2, 151, 2, 170, 2, 115, 2, 170, 2, 174, 2, 115, 2, 166, 2, 151, 2, 115, 2, 178, 2, 166, 2, 115, 2, 156, 2, 178, 2, 156, 2, 115, 2, 185, 2, 185, 2, 115, 2, 117, 2, 156, 2, 185, 2, 145, 2, 145, 2, 185, 2, 189, 2), 0.0615714, PackedByteArray(47, 2, 147, 2, 51, 2, 44, 2, 147, 2, 47, 2, 147, 2, 44, 2, 41, 2, 41, 2, 105, 2, 147, 2, 41, 2, 103, 2, 105, 2, 153, 2, 103, 2, 41, 2, 147, 2, 153, 2, 51, 2, 86, 2, 153, 2, 41, 2, 153, 2, 82, 2, 51, 2, 89, 2, 153, 2, 86, 2, 153, 2, 89, 2, 82, 2, 147, 2, 121, 2, 132, 2, 94, 2, 147, 2, 132, 2, 67, 2, 147, 2, 94, 2, 67, 2, 94, 2, 182, 2, 67, 2, 182, 2, 114, 2, 114, 2, 77, 2, 67, 2, 114, 2, 72, 2, 77, 2, 153, 2, 72, 2, 114, 2, 153, 2, 114, 2, 169, 2, 72, 2, 153, 2, 74, 2, 74, 2, 153, 2, 52, 2, 147, 2, 52, 2, 153, 2, 147, 2, 58, 2, 52, 2, 147, 2, 56, 2, 58, 2, 222, 2, 220, 2, 232, 2, 161, 2, 108, 2, 129, 2, 108, 2, 122, 2, 124, 2, 179, 2, 129, 2, 124, 2, 227, 2, 129, 2, 179, 2, 235, 2, 228, 2, 231, 2, 231, 2, 233, 2, 235, 2, 225, 1, 130, 0, 102, 0, 102, 0, 130, 0, 150, 0, 150, 0, 130, 0, 173, 0, 130, 0, 88, 2, 173, 0, 130, 0, 80, 2, 88, 2, 225, 1, 59, 1, 130, 0, 152, 1, 59, 1, 225, 1, 57, 1, 59, 1, 152, 1, 34, 1, 59, 1, 57, 1, 34, 1, 73, 2, 59, 1, 34, 1, 71, 2, 73, 2, 42, 0, 44, 0, 92, 0, 42, 0, 92, 0, 141, 0, 42, 0, 141, 0, 138, 0, 138, 0, 141, 0, 164, 0, 138, 0, 164, 0, 236, 0, 138, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 190, 1, 44, 0, 42, 0, 190, 1, 192, 1, 44, 0, 190, 1, 168, 1, 192, 1, 190, 1, 120, 1, 168, 1, 68, 1, 120, 1, 190, 1, 68, 1, 73, 1, 120, 1, 68, 1, 50, 1, 73, 1, 68, 1, 55, 2, 50, 1, 68, 1, 57, 2, 55, 2, 200, 2, 217, 2, 201, 2, 129, 0, 41, 0, 137, 0, 129, 0, 137, 0, 232, 0, 60, 1, 41, 0, 129, 0, 60, 1, 189, 1, 41, 0, 60, 1, 69, 1, 189, 1, 60, 1, 53, 2, 69, 1, 129, 0, 232, 0, 50, 2, 46, 2, 50, 2, 232, 0, 129, 0, 50, 2, 81, 2, 93, 0, 226, 1, 142, 0, 142, 0, 226, 1, 151, 0, 226, 1, 103, 0, 151, 0, 142, 0, 202, 2, 203, 2, 203, 2, 202, 2, 204, 2, 203, 2, 204, 2, 205, 2, 204, 2, 85, 2, 218, 2, 174, 0, 87, 2, 85, 2, 174, 0, 40, 2, 235, 0, 40, 2, 42, 2, 235, 0, 45, 0, 193, 1, 226, 1, 216, 2, 226, 1, 193, 1, 169, 1, 153, 1, 226, 1, 119, 1, 72, 1, 169, 1, 70, 2, 33, 1, 76, 2, 223, 2, 219, 2, 210, 2, 219, 2, 221, 2, 211, 2, 66, 2, 49, 1, 54, 2, 207, 2, 66, 2, 212, 2, 212, 2, 66, 2, 208, 2, 66, 2, 224, 2, 208, 2, 206, 2, 208, 2, 224, 2, 212, 2, 214, 2, 215, 2, 213, 2, 209, 2, 214, 2, 230, 2, 225, 2, 229, 2, 160, 2, 133, 2, 120, 2, 128, 2, 133, 2, 160, 2, 120, 2, 109, 2, 160, 2, 128, 2, 95, 2, 133, 2, 109, 2, 120, 2, 146, 2, 128, 2, 183, 2, 95, 2, 112, 2, 183, 2, 128, 2, 234, 2, 183, 2, 226, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 139, 2, 125, 2, 102, 2, 139, 2, 104, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 152, 2, 151, 2, 141, 2, 168, 2, 151, 2, 152, 2, 115, 2, 151, 2, 168, 2, 115, 2, 178, 2, 151, 2, 234, 2, 115, 2, 236, 2, 138, 2, 140, 2, 150, 2), 0.0738546, PackedByteArray(47, 2, 74, 2, 51, 2, 74, 2, 82, 2, 51, 2, 47, 2, 98, 2, 74, 2, 44, 2, 98, 2, 47, 2, 98, 2, 44, 2, 41, 2, 98, 2, 52, 2, 74, 2, 98, 2, 58, 2, 52, 2, 98, 2, 56, 2, 58, 2, 77, 2, 56, 2, 98, 2, 41, 2, 103, 2, 98, 2, 77, 2, 98, 2, 114, 2, 114, 2, 72, 2, 77, 2, 74, 2, 72, 2, 114, 2, 153, 2, 103, 2, 41, 2, 74, 2, 114, 2, 153, 2, 153, 2, 82, 2, 74, 2, 153, 2, 114, 2, 175, 2, 153, 2, 89, 2, 82, 2, 89, 2, 153, 2, 41, 2, 138, 0, 120, 1, 141, 0, 141, 0, 45, 2, 138, 0, 141, 0, 43, 2, 45, 2, 68, 1, 120, 1, 138, 0, 68, 1, 73, 1, 120, 1, 68, 1, 50, 1, 73, 1, 68, 1, 55, 2, 50, 1, 68, 1, 57, 2, 55, 2, 119, 1, 53, 0, 190, 2, 119, 1, 153, 1, 53, 0, 72, 1, 153, 1, 119, 1, 53, 0, 87, 2, 40, 2, 53, 0, 40, 2, 142, 0, 40, 2, 42, 2, 142, 0, 56, 0, 137, 0, 50, 2, 56, 0, 50, 2, 81, 2, 46, 2, 50, 2, 137, 0, 156, 1, 137, 0, 56, 0, 156, 1, 69, 1, 137, 0, 156, 1, 53, 2, 69, 1, 75, 2, 53, 2, 156, 1, 57, 0, 88, 2, 52, 0, 57, 0, 80, 2, 88, 2, 52, 0, 157, 1, 57, 0, 152, 1, 157, 1, 52, 0, 34, 1, 157, 1, 152, 1, 34, 1, 73, 2, 157, 1, 34, 1, 71, 2, 73, 2, 70, 2, 33, 1, 76, 2, 76, 2, 49, 1, 54, 2, 49, 1, 199, 2, 194, 2, 194, 2, 199, 2, 191, 2, 197, 2, 198, 2, 193, 2, 195, 2, 192, 2, 196, 2, 102, 2, 151, 2, 99, 2, 151, 2, 115, 2, 99, 2, 152, 2, 151, 2, 102, 2, 115, 2, 151, 2, 174, 2, 174, 2, 151, 2, 152, 2)], +"material": SubResource("StandardMaterial3D_ea5pe"), +"primitive": 3, +"vertex_count": 831, +"vertex_data": PackedByteArray(70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 191, 220, 191, 92, 178, 92, 156, 145, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 208, 26, 0, 0, 166, 241, 17, 201, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 123, 46, 0, 0, 202, 243, 148, 201, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 62, 208, 128, 97, 189, 92, 158, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 255, 127, 255, 127, 125, 92, 192, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 181, 201, 252, 99, 191, 92, 163, 145, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 135, 249, 174, 25, 31, 205, 49, 208, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 73, 54, 2, 156, 123, 92, 158, 145, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 255, 127, 255, 127, 123, 92, 193, 145, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 58, 233, 60, 22, 243, 209, 151, 208, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 255, 127, 212, 135, 76, 169, 44, 238, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 241, 47, 107, 158, 155, 92, 156, 145, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 85, 215, 116, 18, 166, 218, 238, 207, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 63, 35, 63, 163, 185, 92, 158, 145, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 255, 127, 207, 154, 189, 182, 84, 238, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 108, 30, 241, 175, 168, 92, 150, 145, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 241, 198, 254, 14, 128, 228, 127, 206, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 3, 28, 73, 182, 159, 92, 140, 145, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 255, 255, 255, 255, 3, 93, 125, 145, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 255, 127, 130, 191, 4, 207, 155, 240, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 255, 255, 255, 255, 1, 93, 126, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 251, 227, 181, 73, 196, 92, 161, 145, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 175, 181, 88, 11, 145, 236, 33, 205, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 127, 225, 62, 80, 187, 92, 159, 145, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 185, 154, 165, 5, 190, 247, 75, 201, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 123, 240, 124, 112, 120, 112, 192, 135, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 42, 250, 183, 44, 110, 182, 200, 214, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 87, 223, 221, 114, 81, 112, 180, 135, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 51, 235, 61, 39, 139, 188, 104, 215, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 255, 127, 255, 127, 224, 112, 143, 135, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 125, 214, 221, 115, 31, 112, 211, 135, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 76, 218, 13, 33, 95, 199, 144, 214, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 72, 41, 215, 139, 44, 113, 18, 136, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 255, 127, 255, 127, 164, 111, 45, 136, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 3, 33, 53, 141, 150, 112, 15, 136, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 80, 102, 119, 134, 168, 143, 122, 250, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 154, 15, 153, 143, 70, 112, 202, 135, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 95, 202, 56, 27, 171, 212, 61, 212, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 194, 105, 196, 150, 172, 167, 113, 245, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 53, 13, 2, 161, 204, 111, 175, 135, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 29, 185, 231, 20, 23, 226, 52, 209, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 215, 11, 71, 169, 219, 111, 106, 135, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 255, 255, 0, 0, 157, 111, 48, 136, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 26, 157, 167, 10, 223, 242, 71, 203, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 255, 255, 0, 0, 235, 112, 137, 135, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 220, 243, 126, 86, 90, 112, 240, 135, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 138, 109, 169, 168, 244, 184, 188, 245, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 220, 242, 88, 95, 148, 112, 214, 135, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 160, 244, 94, 139, 104, 139, 174, 133, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 1, 113, 13, 185, 199, 201, 92, 243, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 91, 250, 45, 61, 220, 164, 227, 221, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 243, 225, 147, 137, 241, 139, 185, 133, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 255, 127, 255, 127, 102, 140, 51, 134, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 231, 216, 70, 136, 133, 139, 129, 133, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 167, 116, 79, 202, 182, 216, 126, 242, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 204, 235, 230, 53, 251, 172, 104, 222, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 140, 39, 40, 119, 27, 140, 30, 135, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 255, 127, 255, 127, 14, 138, 7, 133, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 27, 121, 97, 223, 168, 233, 103, 240, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 39, 30, 172, 118, 75, 139, 99, 134, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 55, 219, 155, 45, 116, 186, 161, 220, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 48, 11, 207, 116, 63, 139, 150, 133, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 83, 9, 216, 97, 222, 140, 166, 133, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 114, 203, 185, 37, 245, 201, 88, 217, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 215, 8, 115, 88, 83, 142, 15, 134, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 255, 255, 0, 0, 27, 138, 13, 133, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 54, 186, 27, 29, 82, 218, 224, 212, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 255, 255, 0, 0, 153, 140, 76, 134, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 184, 247, 23, 167, 0, 139, 184, 133, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 228, 157, 242, 14, 18, 239, 14, 205, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 107, 246, 10, 158, 113, 139, 238, 133, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 42, 250, 115, 77, 14, 150, 240, 230, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 6, 222, 248, 161, 248, 161, 251, 144, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 51, 235, 246, 67, 143, 161, 158, 230, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 116, 208, 24, 157, 120, 162, 248, 144, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 76, 218, 63, 57, 106, 178, 176, 226, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 255, 127, 255, 127, 253, 162, 126, 145, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 194, 201, 46, 154, 32, 162, 196, 144, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 72, 83, 212, 133, 214, 99, 115, 249, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 194, 88, 203, 148, 180, 158, 227, 254, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 185, 54, 68, 101, 61, 162, 57, 146, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 255, 127, 255, 127, 232, 160, 115, 144, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 123, 46, 123, 174, 34, 227, 196, 247, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 152, 47, 51, 99, 155, 161, 152, 145, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 95, 202, 38, 47, 3, 196, 206, 221, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 205, 33, 50, 94, 206, 161, 229, 144, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 241, 94, 177, 165, 226, 181, 249, 249, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 204, 28, 103, 80, 55, 163, 205, 144, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 29, 185, 53, 36, 123, 213, 237, 215, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 186, 26, 69, 73, 134, 164, 30, 145, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 255, 255, 0, 0, 233, 160, 116, 144, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 198, 100, 159, 181, 242, 199, 74, 246, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 255, 255, 0, 0, 38, 163, 146, 145, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 208, 229, 60, 182, 138, 161, 17, 145, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 26, 157, 116, 18, 128, 236, 133, 206, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 229, 226, 138, 175, 241, 161, 60, 145, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 23, 107, 225, 198, 77, 216, 115, 243, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 135, 249, 216, 95, 214, 138, 65, 243, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 236, 202, 17, 181, 12, 181, 140, 154, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 16, 115, 168, 220, 152, 233, 173, 240, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 137, 192, 189, 173, 76, 181, 129, 154, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 58, 233, 254, 82, 132, 155, 146, 238, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 255, 127, 255, 127, 161, 181, 208, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 93, 187, 143, 169, 239, 180, 85, 154, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 85, 215, 225, 68, 29, 176, 151, 232, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 17, 69, 254, 85, 248, 180, 123, 155, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 255, 127, 255, 127, 251, 179, 253, 153, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 129, 63, 148, 82, 138, 180, 249, 154, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 241, 198, 243, 55, 52, 194, 20, 225, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 175, 181, 87, 42, 155, 211, 22, 218, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 238, 52, 17, 75, 232, 180, 122, 154, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 185, 154, 19, 21, 64, 235, 140, 207, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 106, 45, 125, 64, 235, 181, 70, 154, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 1, 42, 238, 58, 2, 183, 122, 154, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 254, 255, 255, 255, 247, 179, 251, 153, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 41, 248, 42, 120, 81, 145, 99, 252, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 46, 229, 47, 101, 185, 162, 163, 243, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 254, 255, 255, 255, 190, 181, 223, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 110, 214, 161, 196, 168, 180, 128, 154, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 64, 210, 116, 191, 254, 180, 175, 154, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 209, 66, 163, 133, 139, 78, 113, 245, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 67, 184, 186, 199, 175, 199, 225, 163, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 131, 209, 131, 81, 230, 182, 39, 235, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 25, 74, 50, 148, 69, 80, 149, 251, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 80, 176, 157, 189, 156, 199, 228, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 255, 127, 255, 127, 95, 199, 175, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 80, 172, 23, 184, 43, 199, 200, 163, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 123, 192, 124, 64, 2, 196, 116, 226, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 99, 82, 199, 164, 35, 185, 109, 253, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 246, 83, 164, 71, 127, 199, 93, 164, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 255, 127, 255, 127, 75, 198, 37, 163, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 124, 175, 125, 47, 121, 212, 27, 219, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 193, 79, 183, 66, 84, 199, 8, 164, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 69, 90, 139, 180, 129, 202, 103, 248, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 164, 71, 90, 56, 143, 199, 218, 163, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 72, 61, 61, 48, 252, 199, 176, 163, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 176, 150, 176, 22, 81, 235, 2, 208, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 90, 56, 8, 44, 195, 200, 189, 163, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 254, 255, 255, 255, 98, 198, 49, 163, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 228, 98, 200, 197, 82, 218, 31, 244, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 216, 223, 135, 121, 1, 168, 109, 249, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 254, 255, 255, 255, 137, 199, 196, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 230, 199, 173, 211, 140, 199, 162, 163, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 225, 109, 195, 219, 228, 234, 219, 240, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 96, 194, 173, 207, 192, 199, 219, 163, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 63, 163, 191, 220, 126, 220, 107, 174, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 253, 210, 58, 105, 26, 181, 72, 242, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 224, 196, 85, 87, 208, 191, 79, 234, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 217, 157, 139, 206, 58, 219, 115, 174, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 243, 183, 241, 70, 246, 201, 116, 226, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 255, 127, 255, 127, 83, 219, 169, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 13, 155, 47, 199, 169, 218, 88, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 241, 100, 207, 56, 184, 220, 100, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 255, 127, 255, 127, 73, 219, 164, 173, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 86, 170, 175, 53, 162, 215, 205, 218, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 70, 98, 202, 49, 191, 220, 93, 174, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 19, 149, 185, 26, 158, 236, 206, 207, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 191, 92, 63, 35, 183, 220, 96, 174, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 139, 50, 212, 133, 27, 62, 107, 245, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 53, 78, 184, 29, 90, 220, 100, 174, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 115, 205, 42, 122, 153, 189, 35, 243, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 48, 71, 13, 27, 30, 220, 93, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 255, 255, 255, 255, 128, 218, 64, 173, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 8, 60, 203, 148, 206, 62, 40, 250, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 255, 255, 255, 255, 146, 218, 72, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 206, 184, 241, 228, 177, 220, 91, 173, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 246, 195, 51, 107, 7, 197, 164, 237, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 115, 177, 37, 226, 222, 220, 199, 173, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 63, 185, 77, 90, 123, 202, 49, 231, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 99, 135, 154, 248, 37, 248, 80, 188, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 191, 70, 177, 165, 105, 195, 217, 254, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 21, 134, 6, 227, 222, 242, 229, 187, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 216, 80, 159, 181, 144, 209, 60, 249, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 255, 127, 255, 127, 221, 241, 238, 184, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 30, 133, 158, 216, 249, 240, 140, 187, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 38, 175, 95, 74, 84, 210, 119, 224, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 201, 91, 225, 198, 228, 222, 39, 244, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 108, 122, 184, 39, 160, 247, 141, 186, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 255, 127, 255, 127, 75, 243, 165, 185, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 30, 122, 77, 29, 140, 248, 133, 187, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 53, 164, 29, 57, 174, 220, 30, 217, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 152, 105, 168, 220, 148, 237, 191, 240, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 194, 120, 60, 7, 135, 248, 98, 188, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 178, 98, 224, 5, 203, 246, 65, 188, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 115, 146, 27, 29, 13, 239, 227, 206, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 45, 189, 91, 122, 232, 207, 233, 234, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 70, 88, 147, 5, 47, 245, 210, 187, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 254, 255, 255, 255, 179, 243, 217, 185, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 229, 181, 204, 107, 94, 211, 248, 230, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 254, 255, 255, 255, 77, 242, 38, 185, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 95, 167, 223, 250, 69, 247, 216, 184, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 248, 156, 232, 249, 233, 247, 219, 185, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 155, 173, 55, 91, 66, 214, 4, 226, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 224, 103, 224, 231, 92, 232, 26, 205, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 185, 165, 115, 75, 125, 219, 105, 220, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 177, 107, 143, 215, 111, 227, 180, 202, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 26, 157, 54, 58, 123, 227, 8, 214, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 55, 109, 234, 206, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 255, 127, 255, 127, 176, 244, 166, 197, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 241, 142, 228, 29, 133, 242, 65, 205, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 255, 127, 255, 127, 28, 243, 112, 198, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 45, 146, 160, 48, 20, 234, 230, 204, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 38, 32, 119, 134, 229, 47, 206, 248, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 182, 172, 42, 122, 220, 223, 215, 224, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 116, 148, 246, 40, 182, 232, 13, 205, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 78, 152, 79, 24, 134, 231, 33, 204, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 1, 45, 196, 150, 10, 49, 245, 252, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 245, 168, 117, 20, 198, 229, 154, 203, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 60, 167, 51, 107, 146, 225, 29, 222, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 30, 59, 169, 168, 174, 210, 219, 252, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 254, 255, 255, 255, 204, 242, 152, 198, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 160, 176, 46, 18, 55, 230, 247, 202, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 234, 78, 55, 237, 187, 236, 242, 206, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 254, 255, 255, 255, 129, 244, 189, 197, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 11, 72, 13, 185, 235, 219, 177, 247, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 144, 87, 177, 235, 130, 235, 13, 207, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 13, 161, 77, 90, 20, 227, 141, 218, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 168, 85, 79, 202, 240, 229, 106, 243, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 56, 155, 95, 74, 135, 230, 80, 214, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 8, 92, 78, 193, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 255, 127, 255, 127, 134, 230, 187, 204, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 231, 148, 29, 57, 59, 236, 108, 209, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 70, 102, 97, 223, 150, 241, 74, 240, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 255, 127, 255, 127, 241, 230, 133, 204, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 115, 163, 67, 62, 32, 215, 169, 215, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 166, 138, 27, 29, 246, 246, 240, 202, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 240, 166, 205, 56, 95, 213, 220, 215, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 174, 153, 135, 121, 137, 241, 214, 210, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 54, 173, 54, 45, 202, 210, 156, 214, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 204, 184, 241, 38, 110, 208, 101, 213, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 60, 150, 58, 105, 165, 242, 87, 209, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 255, 255, 0, 0, 69, 232, 220, 203, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 66, 190, 116, 35, 204, 208, 138, 212, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 116, 146, 85, 87, 70, 243, 147, 207, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 253, 142, 241, 70, 226, 244, 111, 205, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 79, 65, 8, 220, 177, 222, 118, 218, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 255, 255, 0, 0, 135, 231, 58, 204, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 213, 7, 212, 135, 195, 220, 217, 254, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 87, 139, 175, 53, 142, 247, 2, 203, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 208, 26, 207, 154, 218, 222, 154, 251, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 165, 133, 185, 26, 82, 252, 3, 200, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 255, 127, 42, 120, 60, 243, 51, 185, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 255, 127, 47, 101, 73, 243, 245, 183, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 131, 63, 130, 191, 200, 232, 144, 244, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 255, 127, 131, 81, 253, 244, 90, 183, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 130, 80, 129, 208, 245, 238, 141, 241, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 15, 100, 15, 228, 171, 246, 76, 239, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 255, 127, 124, 64, 69, 247, 86, 183, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 255, 127, 125, 47, 242, 249, 216, 183, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 255, 127, 176, 22, 142, 253, 28, 185, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 80, 102, 135, 121, 28, 206, 120, 176, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 194, 105, 58, 105, 169, 210, 5, 176, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 138, 109, 85, 87, 253, 218, 150, 176, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 119, 6, 38, 160, 60, 245, 82, 243, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 1, 113, 241, 70, 241, 228, 25, 178, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 196, 22, 0, 173, 167, 245, 114, 242, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 167, 116, 175, 53, 202, 236, 72, 179, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 169, 40, 29, 187, 160, 246, 71, 241, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 89, 122, 185, 26, 205, 247, 240, 182, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 13, 57, 11, 200, 63, 248, 44, 240, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 72, 83, 42, 122, 27, 183, 202, 169, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 194, 88, 51, 107, 1, 189, 28, 169, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 79, 74, 167, 213, 29, 250, 5, 239, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 241, 94, 77, 90, 141, 199, 216, 169, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 98, 95, 69, 230, 184, 252, 7, 238, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 198, 100, 95, 74, 157, 212, 15, 172, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 23, 107, 29, 57, 46, 226, 25, 175, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 88, 117, 27, 29, 230, 242, 229, 180, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 209, 66, 91, 122, 105, 165, 182, 162, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 25, 74, 204, 107, 75, 173, 22, 162, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 99, 82, 55, 91, 133, 186, 180, 163, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 212, 5, 139, 178, 42, 243, 196, 148, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 69, 90, 115, 75, 221, 201, 225, 166, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 203, 20, 8, 188, 230, 243, 9, 148, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 228, 98, 54, 58, 82, 218, 80, 171, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 178, 37, 191, 198, 92, 244, 221, 146, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 13, 113, 228, 29, 18, 239, 13, 179, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 159, 53, 216, 208, 76, 246, 39, 146, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 225, 70, 201, 219, 86, 249, 18, 146, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 139, 50, 42, 122, 135, 150, 204, 153, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 168, 92, 151, 233, 153, 252, 90, 146, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 8, 60, 51, 107, 188, 161, 227, 153, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 191, 70, 77, 90, 101, 178, 128, 157, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 216, 80, 95, 74, 228, 195, 90, 162, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 201, 91, 29, 57, 115, 213, 39, 168, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 139, 109, 27, 29, 126, 236, 135, 177, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 21, 198, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 38, 32, 135, 121, 59, 139, 251, 141, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 163, 5, 209, 194, 191, 224, 119, 151, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 60, 54, 208, 101, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 255, 127, 255, 127, 135, 75, 195, 229, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 1, 45, 58, 105, 135, 155, 64, 144, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 255, 127, 255, 127, 234, 74, 116, 229, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 69, 201, 186, 154, 180, 93, 169, 235, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 50, 20, 24, 202, 193, 225, 154, 149, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 30, 59, 85, 87, 236, 175, 131, 151, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 102, 208, 203, 156, 174, 94, 243, 236, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 49, 222, 204, 161, 222, 93, 39, 239, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 199, 36, 99, 210, 82, 228, 127, 147, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 50, 227, 151, 175, 143, 89, 90, 239, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 11, 72, 241, 70, 102, 194, 190, 158, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 255, 255, 255, 255, 231, 75, 243, 229, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 68, 229, 185, 182, 74, 87, 217, 238, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 140, 52, 69, 218, 224, 232, 43, 146, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 168, 85, 175, 53, 153, 211, 235, 165, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 46, 26, 194, 73, 30, 94, 202, 229, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 255, 255, 255, 255, 69, 76, 33, 230, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 200, 69, 227, 226, 6, 239, 149, 145, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 235, 106, 185, 26, 63, 235, 117, 176, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 18, 53, 237, 74, 137, 74, 153, 229, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 195, 91, 225, 237, 159, 246, 200, 145, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 117, 63, 65, 82, 171, 69, 87, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 161, 68, 111, 86, 190, 66, 91, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 255, 127, 255, 127, 184, 66, 91, 225, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 213, 7, 42, 120, 173, 143, 168, 131, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 255, 127, 255, 127, 196, 67, 225, 225, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 237, 186, 0, 170, 55, 75, 247, 227, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 208, 26, 47, 101, 183, 165, 245, 139, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 123, 46, 131, 81, 62, 182, 6, 149, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 125, 192, 106, 173, 191, 75, 147, 228, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 16, 203, 237, 180, 35, 75, 123, 229, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 131, 63, 124, 64, 40, 197, 249, 156, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 130, 80, 125, 47, 127, 212, 222, 164, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 148, 210, 129, 191, 70, 73, 218, 229, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 254, 255, 0, 0, 146, 67, 200, 225, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 253, 213, 16, 197, 231, 71, 155, 229, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 212, 5, 71, 211, 161, 208, 109, 152, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 78, 105, 176, 22, 83, 235, 247, 175, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 143, 41, 93, 59, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 254, 255, 0, 0, 152, 66, 75, 225, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 190, 45, 138, 64, 121, 76, 39, 227, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 203, 20, 193, 216, 145, 211, 46, 150, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 119, 6, 216, 95, 191, 169, 180, 134, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 187, 71, 68, 56, 119, 56, 13, 220, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 178, 37, 241, 222, 21, 216, 151, 147, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 174, 79, 97, 66, 92, 54, 191, 220, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 196, 22, 254, 82, 70, 182, 181, 141, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 174, 83, 231, 71, 123, 53, 214, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 255, 127, 255, 127, 147, 52, 72, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 255, 127, 255, 127, 118, 53, 186, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 8, 172, 90, 184, 174, 56, 102, 219, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 159, 53, 198, 228, 91, 222, 200, 145, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 169, 40, 225, 68, 40, 192, 163, 149, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 61, 176, 71, 189, 227, 56, 202, 219, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 225, 70, 23, 235, 172, 230, 212, 144, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 90, 184, 164, 199, 117, 56, 34, 220, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 182, 194, 193, 207, 175, 55, 104, 220, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 13, 57, 243, 55, 247, 202, 61, 157, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 79, 74, 87, 42, 184, 215, 36, 165, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 254, 255, 0, 0, 57, 53, 156, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 164, 199, 246, 211, 197, 54, 88, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 24, 56, 81, 44, 206, 57, 149, 218, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 254, 255, 0, 0, 78, 52, 38, 218, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 168, 92, 15, 243, 162, 241, 49, 145, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 69, 101, 19, 21, 165, 236, 35, 176, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 158, 61, 81, 48, 184, 57, 2, 219, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 191, 92, 63, 35, 127, 35, 146, 209, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 212, 5, 115, 77, 210, 191, 53, 141, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 37, 98, 115, 49, 171, 34, 247, 209, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 203, 20, 246, 67, 33, 198, 114, 146, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 241, 100, 207, 56, 33, 34, 7, 210, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 255, 127, 255, 127, 19, 33, 137, 208, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 178, 37, 63, 57, 102, 203, 198, 152, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 255, 127, 255, 127, 1, 33, 128, 208, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 13, 155, 47, 199, 129, 35, 113, 209, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 159, 53, 38, 47, 194, 210, 115, 159, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 119, 6, 80, 230, 203, 189, 155, 150, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 184, 157, 52, 206, 123, 35, 133, 209, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 63, 163, 191, 220, 71, 35, 157, 209, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 225, 70, 53, 36, 223, 220, 202, 166, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 201, 177, 70, 226, 61, 35, 160, 209, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 228, 98, 116, 18, 27, 239, 6, 177, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 196, 22, 194, 233, 128, 195, 18, 148, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 254, 255, 0, 0, 212, 33, 233, 208, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 206, 184, 241, 228, 80, 35, 159, 209, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 48, 71, 13, 27, 20, 36, 12, 209, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 254, 255, 0, 0, 222, 33, 238, 208, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 163, 5, 45, 61, 165, 209, 122, 149, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 169, 40, 138, 237, 164, 203, 163, 145, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 139, 78, 217, 29, 34, 36, 63, 209, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 50, 20, 230, 53, 150, 212, 54, 153, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 155, 120, 100, 7, 123, 7, 176, 195, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 13, 57, 0, 241, 242, 212, 48, 144, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 233, 121, 248, 28, 103, 7, 182, 195, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 199, 36, 155, 45, 46, 215, 5, 158, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 224, 122, 96, 39, 218, 6, 151, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 255, 127, 255, 127, 24, 7, 139, 195, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 79, 74, 166, 244, 6, 224, 188, 143, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 255, 127, 255, 127, 5, 5, 130, 194, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 146, 133, 70, 216, 29, 8, 228, 196, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 224, 133, 177, 226, 84, 7, 16, 196, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 140, 52, 185, 37, 15, 220, 134, 163, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 98, 95, 26, 249, 188, 237, 145, 144, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 60, 135, 194, 248, 108, 7, 156, 195, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 200, 69, 27, 29, 199, 227, 218, 169, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 76, 157, 30, 250, 85, 8, 173, 195, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 254, 255, 0, 0, 219, 4, 108, 194, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 184, 167, 107, 250, 184, 9, 11, 196, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 26, 98, 242, 14, 154, 242, 160, 178, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 212, 5, 183, 44, 119, 225, 159, 159, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 159, 88, 31, 5, 71, 7, 100, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 254, 255, 0, 0, 207, 6, 102, 195, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 203, 20, 61, 39, 221, 226, 41, 162, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 6, 99, 22, 6, 143, 7, 172, 195, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 178, 37, 13, 33, 27, 228, 141, 165, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 30, 152, 30, 24, 42, 24, 241, 179, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 41, 248, 255, 255, 220, 167, 14, 145, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 77, 148, 111, 40, 95, 24, 8, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 255, 127, 255, 127, 47, 23, 103, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 199, 146, 20, 49, 208, 24, 204, 179, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 159, 53, 56, 27, 58, 231, 166, 169, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 225, 70, 231, 20, 157, 236, 116, 174, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 209, 109, 94, 207, 169, 22, 120, 179, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 255, 127, 255, 127, 146, 25, 53, 179, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 138, 107, 8, 215, 193, 23, 83, 179, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 46, 229, 254, 255, 131, 178, 253, 142, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 228, 98, 167, 10, 16, 247, 233, 180, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 176, 103, 175, 231, 90, 24, 217, 179, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 9, 87, 137, 235, 95, 25, 32, 180, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 131, 209, 254, 255, 207, 193, 44, 143, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 119, 6, 174, 25, 110, 243, 218, 173, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 94, 79, 208, 237, 6, 25, 166, 180, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 255, 255, 255, 255, 141, 25, 56, 179, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 123, 192, 254, 255, 128, 205, 226, 141, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 255, 255, 255, 255, 86, 23, 83, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 20, 177, 199, 18, 113, 24, 157, 179, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 110, 168, 77, 20, 247, 23, 216, 179, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 196, 22, 60, 22, 62, 244, 27, 175, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 15, 173, 16, 45, 15, 45, 118, 169, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 124, 175, 255, 255, 44, 219, 95, 142, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 169, 40, 116, 18, 134, 244, 158, 176, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 220, 166, 107, 56, 73, 45, 155, 169, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 15, 100, 255, 255, 5, 235, 241, 143, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 255, 127, 255, 127, 253, 43, 0, 170, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 246, 163, 176, 62, 171, 45, 114, 169, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 13, 57, 254, 14, 186, 245, 141, 178, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 139, 92, 187, 193, 129, 43, 39, 169, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 255, 127, 255, 127, 253, 45, 0, 169, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 79, 74, 88, 11, 2, 248, 217, 180, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 14, 89, 49, 199, 120, 44, 255, 168, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 69, 101, 165, 5, 112, 252, 207, 183, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 200, 82, 200, 210, 53, 45, 98, 169, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 213, 7, 0, 0, 49, 241, 225, 199, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 50, 71, 13, 217, 251, 45, 193, 169, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 131, 63, 0, 0, 128, 246, 106, 201, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 188, 65, 138, 220, 168, 45, 56, 170, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 255, 255, 255, 255, 254, 45, 0, 169, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 135, 249, 80, 230, 145, 144, 45, 134, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 255, 255, 255, 255, 35, 44, 237, 169, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 175, 190, 246, 35, 27, 45, 41, 169, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 130, 80, 0, 0, 141, 249, 174, 200, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 106, 184, 220, 38, 200, 44, 90, 169, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 78, 105, 0, 0, 116, 253, 41, 199, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 141, 189, 142, 61, 138, 61, 53, 161, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 58, 233, 194, 233, 248, 164, 49, 136, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 164, 181, 16, 70, 169, 61, 85, 161, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 85, 215, 138, 237, 184, 185, 22, 139, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 255, 127, 255, 127, 207, 60, 151, 161, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 178, 177, 210, 74, 237, 61, 52, 161, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 241, 198, 0, 241, 41, 201, 200, 139, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 168, 78, 131, 181, 39, 60, 15, 161, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 255, 127, 255, 127, 76, 62, 217, 160, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 175, 181, 166, 244, 107, 216, 243, 140, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 89, 74, 168, 185, 237, 60, 237, 160, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 156, 160, 26, 249, 153, 233, 101, 143, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 85, 66, 84, 194, 163, 61, 38, 161, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 42, 250, 71, 211, 219, 100, 49, 134, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 168, 57, 88, 202, 30, 62, 131, 161, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 51, 235, 193, 216, 211, 158, 76, 129, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 131, 53, 168, 206, 220, 61, 230, 161, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 255, 255, 255, 255, 83, 62, 213, 160, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 76, 218, 241, 222, 249, 181, 50, 134, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 255, 255, 255, 255, 238, 60, 136, 161, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 209, 202, 179, 49, 140, 61, 6, 161, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 95, 202, 198, 228, 253, 199, 208, 137, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 15, 198, 164, 53, 75, 61, 39, 161, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 29, 185, 23, 235, 22, 216, 203, 139, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 181, 204, 181, 76, 179, 76, 163, 153, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 86, 163, 15, 243, 140, 233, 8, 143, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 233, 194, 62, 83, 193, 76, 186, 153, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 255, 127, 255, 255, 255, 255, 176, 146, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 255, 127, 255, 127, 108, 76, 201, 153, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 219, 189, 216, 86, 229, 76, 165, 153, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 91, 250, 209, 194, 42, 78, 167, 138, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 83, 66, 88, 169, 187, 75, 153, 153, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 255, 127, 255, 127, 73, 77, 90, 153, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 204, 235, 24, 202, 31, 81, 29, 132, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 41, 61, 146, 172, 73, 76, 132, 153, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 55, 219, 99, 210, 35, 185, 219, 130, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 58, 51, 57, 179, 180, 76, 150, 153, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 114, 203, 69, 218, 129, 202, 28, 136, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 146, 44, 40, 189, 239, 76, 210, 153, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 54, 186, 227, 226, 82, 218, 61, 139, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 89, 41, 83, 194, 203, 76, 35, 154, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 255, 255, 255, 255, 69, 77, 92, 153, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 59, 164, 225, 237, 228, 234, 245, 142, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 255, 255, 255, 255, 115, 76, 197, 153, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 216, 214, 220, 61, 182, 76, 140, 153, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 42, 250, 139, 178, 98, 62, 132, 138, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 61, 211, 234, 66, 137, 76, 158, 153, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 51, 235, 8, 188, 164, 65, 11, 133, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 76, 218, 191, 198, 209, 194, 3, 130, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 95, 202, 216, 208, 22, 209, 185, 135, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 29, 185, 201, 219, 4, 223, 119, 139, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 86, 163, 151, 233, 149, 237, 58, 143, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 135, 249, 38, 160, 105, 50, 218, 134, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 58, 233, 0, 173, 51, 53, 37, 130, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 85, 215, 29, 187, 22, 209, 18, 132, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 241, 198, 11, 200, 35, 219, 252, 136, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 175, 181, 167, 213, 240, 229, 147, 140, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 156, 160, 69, 230, 134, 241, 223, 143, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 41, 248, 212, 135, 244, 217, 60, 129, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 46, 229, 207, 154, 191, 220, 171, 132, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 131, 209, 123, 174, 216, 225, 152, 136, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 123, 192, 130, 191, 225, 231, 223, 139, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 124, 175, 129, 208, 217, 238, 135, 142, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 239, 155, 15, 228, 147, 246, 221, 144, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 216, 223, 119, 134, 143, 241, 97, 140, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 253, 210, 196, 150, 74, 242, 142, 141, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 224, 196, 169, 168, 103, 244, 255, 142, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 243, 183, 13, 185, 5, 247, 46, 144, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 86, 170, 79, 202, 173, 249, 58, 145, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 184, 153, 97, 223, 153, 252, 33, 146, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 115, 205, 212, 133, 214, 246, 119, 234, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 246, 195, 203, 148, 29, 247, 14, 235, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 63, 185, 177, 165, 22, 247, 15, 236, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 38, 175, 159, 181, 233, 247, 246, 236, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 53, 164, 225, 198, 251, 249, 103, 237, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 102, 150, 168, 220, 190, 252, 110, 237, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 45, 189, 163, 133, 49, 228, 150, 231, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 229, 181, 50, 148, 139, 229, 22, 233, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 155, 173, 199, 164, 4, 231, 70, 235, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 185, 165, 139, 180, 89, 234, 242, 236, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 26, 157, 200, 197, 138, 239, 249, 237, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 29, 146, 195, 219, 180, 246, 21, 238, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 182, 172, 212, 133, 154, 210, 228, 230, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 60, 167, 203, 148, 17, 214, 199, 232, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 13, 161, 177, 165, 161, 217, 151, 235, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 56, 155, 159, 181, 50, 223, 164, 237, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 231, 148, 225, 198, 10, 231, 209, 238, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 238, 140, 168, 220, 186, 241, 166, 238, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 174, 153, 119, 134, 16, 191, 218, 232, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 60, 150, 196, 150, 116, 196, 113, 235, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 116, 146, 169, 168, 41, 204, 7, 238, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 253, 142, 13, 185, 8, 214, 241, 238, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 87, 139, 79, 202, 31, 224, 38, 240, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 227, 134, 97, 223, 206, 237, 75, 239, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 255, 127, 123, 174, 202, 192, 159, 241, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 255, 127, 129, 208, 75, 219, 116, 241, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 255, 127, 15, 228, 13, 235, 250, 239, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 186, 77, 229, 225, 42, 225, 171, 212, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 168, 242, 81, 101, 124, 151, 218, 249, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 146, 70, 83, 226, 1, 226, 226, 213, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 168, 242, 81, 101, 227, 142, 6, 247, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 87, 59, 229, 212, 101, 218, 235, 222, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 254, 255, 0, 0, 241, 224, 133, 207, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 168, 242, 81, 101, 227, 142, 164, 247, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 254, 255, 0, 0, 166, 228, 171, 205, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 167, 196, 25, 43, 167, 199, 100, 216, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 168, 242, 81, 101, 120, 167, 71, 252, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 217, 181, 217, 53, 118, 202, 35, 219, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 26, 241, 27, 113, 30, 153, 57, 249, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 137, 191, 208, 46, 176, 199, 73, 217, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 168, 242, 81, 101, 191, 152, 11, 250, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 70, 204, 103, 67, 167, 184, 197, 228, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 94, 236, 169, 166, 97, 97, 124, 244, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 215, 17, 49, 81, 25, 102, 101, 230, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 255, 255, 255, 255, 92, 78, 45, 231, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 70, 204, 103, 67, 30, 185, 2, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 255, 255, 255, 255, 255, 76, 126, 230, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 70, 204, 103, 67, 92, 185, 34, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 39, 238, 205, 174, 92, 94, 238, 243, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 119, 43, 136, 84, 136, 84, 67, 234, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 108, 200, 108, 72, 155, 189, 134, 230, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 108, 200, 108, 72, 213, 188, 58, 230, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 240, 232, 14, 151, 240, 104, 119, 244, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 223, 32, 204, 67, 205, 86, 240, 229, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 70, 204, 103, 67, 138, 185, 58, 229, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 239, 36, 211, 71, 37, 86, 27, 230, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 70, 204, 103, 67, 183, 186, 214, 229, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 102, 195, 71, 76, 221, 191, 138, 230, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 84, 217, 160, 147, 250, 104, 219, 240, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 206, 46, 40, 110, 205, 76, 11, 243, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 255, 127, 255, 127, 187, 80, 92, 232, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 102, 195, 71, 76, 183, 193, 15, 231, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 255, 127, 255, 127, 177, 77, 215, 230, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 102, 195, 71, 76, 121, 193, 253, 230, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 48, 209, 214, 145, 246, 103, 161, 239, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 51, 60, 31, 95, 226, 75, 102, 235, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 102, 195, 71, 76, 173, 193, 12, 231, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 43, 56, 16, 91, 56, 76, 18, 235, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 102, 195, 71, 76, 124, 193, 254, 230, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 255, 127, 255, 127, 131, 229, 61, 205, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 24, 171, 167, 68, 52, 207, 42, 220, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 81, 229, 168, 114, 48, 137, 39, 239, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 208, 174, 137, 63, 187, 205, 69, 220, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 81, 229, 168, 114, 56, 152, 140, 248, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 83, 98, 145, 198, 35, 212, 240, 206, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 81, 229, 168, 114, 206, 166, 140, 248, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 230, 84, 87, 187, 37, 194, 203, 210, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 255, 127, 255, 127, 242, 227, 5, 206, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 81, 229, 168, 114, 45, 165, 140, 248, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 68, 92, 67, 220, 33, 218, 115, 209, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 26, 241, 27, 113, 102, 153, 62, 249, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 229, 97, 186, 205, 121, 214, 85, 207, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 81, 229, 168, 114, 167, 159, 140, 248, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 0, 0, 217, 174, 123, 194, 42, 140, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 255, 127, 254, 255, 254, 255, 187, 235, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 0, 0, 255, 191, 51, 211, 204, 148, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 255, 127, 254, 255, 254, 255, 21, 236, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 0, 0, 37, 209, 230, 225, 8, 159, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 255, 127, 254, 255, 254, 255, 34, 235, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 255, 127, 254, 255, 254, 255, 215, 237, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 255, 255, 255, 127, 20, 145, 255, 255, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 255, 127, 254, 255, 254, 255, 223, 237, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 242, 228, 255, 127, 211, 170, 120, 251, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 255, 127, 254, 255, 254, 255, 117, 237, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 255, 255, 12, 155, 156, 130, 207, 249, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 37, 81, 255, 127, 3, 116, 50, 252, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 255, 127, 254, 255, 254, 255, 170, 237, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 255, 63, 255, 127, 34, 85, 71, 245, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 255, 127, 254, 255, 254, 255, 226, 237, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 255, 127, 254, 255, 254, 255, 187, 235, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 255, 255, 255, 127, 117, 214, 255, 127, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 255, 127, 254, 255, 254, 255, 187, 235, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 242, 228, 255, 127, 166, 240, 230, 139, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 242, 100, 255, 127, 176, 203, 251, 175, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 255, 127, 254, 255, 254, 255, 23, 238, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 37, 81, 255, 127, 94, 179, 131, 168, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 255, 127, 254, 255, 254, 255, 133, 236, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 255, 127, 254, 255, 255, 255, 38, 236, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 255, 255, 242, 228, 113, 202, 204, 208, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 255, 127, 254, 255, 254, 255, 191, 236, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 255, 255, 255, 255, 247, 240, 130, 199, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 217, 46, 255, 127, 232, 64, 115, 244, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 255, 127, 254, 255, 254, 255, 174, 227, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 12, 27, 255, 127, 58, 50, 199, 247, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 255, 127, 254, 255, 254, 255, 95, 237, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 255, 127, 254, 255, 254, 255, 28, 236, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 255, 191, 255, 127, 89, 228, 232, 230, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 255, 127, 254, 255, 254, 255, 32, 237, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 217, 174, 255, 127, 140, 211, 130, 229, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 255, 127, 254, 255, 254, 255, 148, 237, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 255, 255, 37, 209, 112, 178, 54, 216, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 0, 0, 242, 228, 254, 242, 88, 173, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 255, 127, 254, 255, 254, 255, 250, 236, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 255, 127, 254, 255, 254, 255, 251, 237, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 37, 209, 255, 127, 102, 192, 53, 244, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 0, 0, 255, 127, 65, 218, 255, 255, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 255, 127, 254, 255, 254, 255, 155, 237, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 0, 0, 12, 155, 13, 245, 160, 243, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 255, 127, 254, 255, 254, 255, 221, 237, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 0, 0, 217, 174, 132, 242, 244, 148, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 255, 127, 254, 255, 254, 255, 36, 238, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 12, 27, 255, 127, 186, 130, 116, 134, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 255, 127, 254, 255, 254, 255, 193, 235, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 0, 0, 255, 127, 64, 146, 255, 127, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 255, 127, 254, 255, 254, 255, 74, 236, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 255, 127, 254, 255, 254, 255, 12, 238, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 255, 255, 255, 191, 107, 159, 147, 224, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 0, 0, 37, 209, 46, 208, 106, 153, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 255, 127, 254, 255, 254, 255, 41, 239, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 0, 0, 242, 228, 78, 189, 44, 152, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 255, 127, 254, 255, 254, 255, 253, 238, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 255, 127, 254, 255, 254, 255, 179, 238, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 255, 191, 255, 127, 143, 209, 155, 235, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 255, 127, 254, 255, 254, 255, 41, 241, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 255, 255, 217, 174, 225, 67, 0, 139, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 255, 127, 254, 255, 254, 255, 223, 235, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 255, 255, 12, 155, 182, 53, 216, 135, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 0, 255, 191, 224, 224, 55, 152, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 255, 127, 254, 255, 254, 255, 199, 238, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 255, 127, 254, 255, 254, 255, 200, 236, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 255, 127, 255, 127, 11, 169, 120, 235, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 242, 100, 255, 127, 239, 146, 253, 243, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 255, 127, 254, 255, 255, 255, 143, 237, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 255, 127, 254, 255, 254, 255, 200, 237, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 37, 209, 255, 127, 168, 246, 71, 234, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 255, 127, 254, 255, 254, 255, 252, 228, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 255, 255, 255, 255, 63, 166, 31, 147, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 255, 127, 254, 255, 254, 255, 54, 238, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 217, 174, 255, 127, 87, 224, 116, 225, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 255, 127, 254, 255, 254, 255, 53, 239, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 12, 155, 255, 127, 13, 241, 106, 211, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 255, 127, 254, 255, 254, 255, 29, 237, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 12, 155, 255, 127, 81, 192, 161, 230, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 255, 127, 254, 255, 254, 255, 8, 243, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 255, 127, 255, 127, 78, 243, 167, 185, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 255, 127, 254, 255, 254, 255, 237, 239, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 255, 255, 217, 174, 254, 142, 130, 235, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 255, 127, 254, 255, 254, 255, 7, 238, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 255, 255, 242, 228, 73, 145, 245, 138, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 255, 127, 254, 255, 254, 255, 47, 236, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 255, 255, 255, 191, 26, 87, 56, 138, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 0, 0, 12, 155, 24, 173, 195, 132, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 255, 127, 254, 255, 254, 255, 200, 235, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 255, 63, 255, 127, 65, 160, 65, 160, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 255, 127, 254, 255, 254, 255, 56, 236, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 255, 127, 254, 255, 254, 255, 138, 237, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 255, 255, 37, 209, 77, 116, 180, 131, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 217, 46, 255, 127, 175, 143, 109, 149, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 255, 127, 254, 255, 254, 255, 210, 233, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 153, 209, 226, 120, 140, 199, 162, 163, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 157, 9, 175, 125, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 119, 72, 204, 38, 151, 75, 14, 239, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 177, 95, 253, 235, 231, 71, 155, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 55, 24, 133, 105, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 81, 71, 249, 38, 167, 76, 145, 225, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 224, 70, 92, 40, 208, 24, 204, 179, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 241, 95, 12, 238, 97, 97, 124, 244, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 55, 97, 164, 238, 92, 94, 238, 243, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 250, 22, 95, 110, 226, 75, 102, 235, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 127, 211, 235, 61, 90, 112, 240, 135, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 16, 214, 63, 63, 138, 161, 17, 145, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 155, 159, 54, 221, 169, 218, 88, 174, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 11, 148, 159, 242, 177, 220, 91, 173, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 149, 107, 33, 227, 249, 240, 140, 187, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 241, 97, 182, 229, 177, 222, 118, 218, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 71, 17, 63, 85, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 31, 41, 183, 111, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 188, 36, 49, 85, 190, 66, 91, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 85, 105, 114, 37, 190, 66, 91, 230, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 255, 106, 11, 236, 55, 75, 247, 227, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 25, 102, 196, 248, 231, 71, 155, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 216, 51, 119, 77, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 144, 108, 130, 23, 167, 76, 145, 225, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 244, 87, 77, 46, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 236, 73, 216, 43, 113, 24, 157, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 97, 242, 107, 85, 113, 24, 157, 179, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 10, 208, 86, 61, 229, 76, 165, 153, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 192, 104, 59, 229, 1, 226, 226, 213, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 34, 107, 114, 241, 97, 97, 124, 244, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 39, 42, 111, 101, 30, 185, 2, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 241, 98, 120, 242, 92, 94, 238, 243, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 144, 47, 106, 91, 183, 186, 214, 229, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 42, 111, 62, 242, 246, 103, 161, 239, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 25, 35, 226, 84, 226, 75, 102, 235, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 202, 102, 23, 177, 34, 85, 71, 245, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 75, 203, 180, 195, 254, 255, 187, 235, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 143, 189, 238, 177, 166, 240, 230, 139, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 254, 67, 59, 220, 58, 50, 199, 247, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 154, 96, 84, 177, 58, 50, 199, 247, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 50, 118, 129, 182, 140, 211, 130, 229, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 120, 51, 3, 218, 13, 245, 160, 243, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 5, 49, 85, 84, 107, 159, 147, 224, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 166, 46, 224, 228, 78, 189, 44, 152, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 253, 205, 191, 205, 254, 255, 7, 238, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 228, 51, 113, 229, 73, 145, 245, 138, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 23, 208, 191, 209, 254, 255, 200, 235, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 232, 210, 105, 81, 248, 161, 251, 144, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 2, 191, 33, 189, 248, 161, 251, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 140, 219, 121, 86, 32, 162, 196, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 30, 210, 25, 85, 138, 161, 17, 145, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 255, 209, 243, 77, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 128, 207, 217, 81, 168, 180, 128, 154, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 164, 214, 108, 185, 140, 199, 162, 163, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 87, 213, 9, 177, 169, 218, 88, 174, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 234, 136, 148, 249, 177, 220, 91, 173, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 49, 85, 186, 219, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 246, 80, 63, 186, 187, 236, 242, 206, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 111, 61, 175, 211, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 20, 82, 57, 187, 177, 222, 118, 218, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 193, 35, 95, 226, 205, 247, 240, 182, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 195, 18, 62, 84, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 129, 41, 181, 111, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 183, 46, 214, 79, 190, 66, 91, 230, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 150, 117, 162, 228, 55, 75, 247, 227, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 222, 59, 44, 74, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 175, 207, 106, 97, 167, 76, 145, 225, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 187, 76, 65, 67, 123, 53, 214, 220, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 112, 161, 228, 13, 20, 36, 12, 209, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 117, 207, 37, 97, 218, 6, 151, 195, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 77, 135, 57, 3, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 21, 203, 88, 90, 208, 24, 204, 179, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 4, 216, 120, 105, 171, 45, 114, 169, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 217, 189, 97, 75, 140, 61, 6, 161, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 207, 90, 199, 209, 42, 225, 171, 212, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 137, 19, 147, 191, 30, 185, 2, 229, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 45, 88, 28, 227, 240, 104, 119, 244, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 75, 43, 43, 97, 37, 86, 27, 230, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 196, 111, 221, 224, 250, 104, 219, 240, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 46, 115, 250, 227, 246, 103, 161, 239, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 76, 32, 195, 81, 56, 76, 18, 235, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 40, 58, 97, 209, 35, 212, 240, 206, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 200, 222, 100, 101, 120, 112, 192, 135, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 21, 210, 171, 80, 32, 162, 196, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 102, 207, 138, 79, 138, 161, 17, 145, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 16, 211, 29, 82, 12, 181, 140, 154, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 110, 184, 78, 196, 12, 181, 140, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 92, 211, 245, 81, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 44, 214, 66, 178, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 65, 210, 147, 82, 168, 180, 128, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 248, 200, 218, 172, 168, 180, 128, 154, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 138, 186, 29, 190, 43, 199, 200, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 250, 199, 59, 192, 140, 199, 162, 163, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 254, 204, 128, 198, 177, 220, 91, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 182, 130, 179, 247, 177, 220, 91, 173, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 3, 194, 97, 194, 37, 248, 80, 188, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 161, 117, 119, 254, 249, 240, 140, 187, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 100, 114, 118, 243, 69, 247, 216, 184, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 106, 57, 225, 207, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 196, 87, 107, 208, 187, 236, 242, 206, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 192, 60, 156, 210, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 170, 84, 42, 190, 177, 222, 118, 218, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 188, 19, 4, 83, 151, 75, 14, 239, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 118, 108, 91, 227, 180, 93, 169, 235, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 202, 43, 230, 108, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 196, 41, 59, 80, 190, 66, 91, 230, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 14, 115, 108, 229, 35, 75, 123, 229, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 162, 205, 140, 194, 35, 75, 123, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 21, 47, 82, 86, 167, 76, 145, 225, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 209, 56, 219, 73, 119, 56, 13, 220, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 153, 142, 73, 33, 119, 56, 13, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 112, 56, 157, 65, 123, 53, 214, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 111, 60, 202, 73, 206, 57, 149, 218, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 12, 100, 79, 39, 33, 34, 7, 210, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 142, 92, 234, 38, 20, 36, 12, 209, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 78, 86, 99, 47, 123, 7, 176, 195, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 133, 175, 56, 52, 123, 7, 176, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 112, 123, 216, 6, 218, 6, 151, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 112, 146, 103, 24, 71, 7, 100, 195, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 98, 168, 183, 33, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 110, 195, 101, 62, 113, 24, 157, 179, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 117, 205, 3, 91, 171, 45, 114, 169, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 61, 191, 180, 58, 138, 61, 53, 161, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 81, 97, 237, 208, 42, 225, 171, 212, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 231, 110, 108, 225, 240, 104, 119, 244, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 27, 150, 111, 251, 240, 104, 119, 244, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 228, 43, 162, 96, 37, 86, 27, 230, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 25, 31, 133, 83, 56, 76, 18, 235, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 24, 58, 57, 209, 35, 212, 240, 206) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_23l5t") -[sub_resource type="ConvexPolygonShape" id=2] -margin = 0.002 -points = PoolVector3Array( -4.69014e-06, 0.0579483, -0.06, -4.69014e-06, 0.0689094, -0.06, 0.0155226, 0.0579483, -0.0579561, -4.69014e-06, 0.0424205, -0.0579561, -0.015011, 0.0424205, -0.0559828, -0.015532, 0.0579483, -0.0579561, 0.0155226, 0.0689094, -0.0579561, -0.015532, 0.0689094, -0.0579561, 0.0149867, 0.0424205, -0.0559828, 0.029993, 0.0579483, -0.0519655, -4.69014e-06, 0.0279518, -0.0519655, -0.0134627, 0.0279518, -0.0501919, -0.02899, 0.0424205, -0.0501919, -0.0300023, 0.0579483, -0.0519655, 0.029993, 0.0689094, -0.0519655, -0.0300023, 0.0689094, -0.0519655, 0.0134384, 0.0279518, -0.0501919, 0.0289657, 0.0424205, -0.0501919, 0.0259734, 0.0279518, -0.045, 0.0903753, 0.0376313, -0.00951448, 0.0902116, 0.0308725, -0.00951448, 0.0109672, 0.0155269, -0.0409828, -4.69014e-06, 0.0155269, -0.0424276, -0.0109914, 0.0155269, -0.0409828, -0.0212189, 0.0155269, -0.0367424, -0.0259828, 0.0279518, -0.045, -0.0367462, 0.0279518, -0.0367424, -0.0409891, 0.0424205, -0.0409828, -0.0424331, 0.0579483, -0.0424276, 0.0424238, 0.0689094, -0.0424276, -0.0424331, 0.0689094, -0.0424276, 0.0756966, 0.00908512, -0.00951448, 0.0884995, 0.0242081, -0.00951448, 0.0853584, 0.0180901, -0.00951448, 0.0809964, 0.01293, -0.00951448, 0.0889759, 0.0440192, -0.00951448, 0.0901371, 0.0446532, -0.00588489, 0.091611, 0.0379214, -0.00588489, 0.0914472, 0.0308051, -0.00588489, 0.00775153, 0.00598901, -0.0289781, -4.69014e-06, 0.00598901, -0.03, 0.0698459, 0.00681869, -0.00951448, -0.00777579, 0.00598901, -0.0289781, -0.015011, 0.00598901, -0.0259828, -0.0300023, 0.0155269, -0.03, -0.0450086, 0.0279518, -0.0259828, -0.0502042, 0.0424205, -0.0289781, -0.0519758, 0.0579483, -0.03, 0.0519515, 0.0689094, -0.0300117, 0.0819641, 0.0540022, -0.00951448, 0.0861027, 0.0496043, -0.00951448, -0.0519758, 0.0689094, -0.03, 0.0761432, 0.00784398, -0.00588489, 0.089631, 0.0237764, -0.00588489, 0.086326, 0.0173279, -0.00588489, 0.081711, 0.0118979, -0.00588489, 0.0905689, 0.0448961, 3.72529e-09, 0.0920874, 0.0380361, 3.72529e-09, 0.0871002, 0.0505419, -0.00588489, 0.0874872, 0.0508994, 3.72529e-09, 0.0919087, 0.0307781, 3.72529e-09, 0.0900627, 0.0236146, 3.72529e-09, 0.00401485, -8.3819e-07, -0.015, -4.69014e-06, -8.3819e-07, -0.0155403, 0.069965, 0.00545613, -0.00588489, -0.00402423, -8.3819e-07, -0.015, -0.00777579, -8.3819e-07, -0.0134495, -0.0212189, 0.00598901, -0.0212138, -0.0109914, -8.3819e-07, -0.0109828, -0.0367462, 0.0155269, -0.0212138, -0.0409891, 0.0155269, -0.0109828, -0.0502042, 0.0279518, -0.0134495, -0.0559953, 0.0424205, -0.015, -0.0579605, 0.0579483, -0.0155403, 0.0579511, 0.0689094, -0.0155403, 0.0827382, 0.0551759, -0.00588489, -0.0579605, 0.0689094, -0.0155403, 0.076307, 0.0073718, 3.72529e-09, 0.0700246, 0.00493674, 3.72529e-09, 0.0819938, 0.0114999, 3.72529e-09, 0.0866833, 0.0170379, 3.72529e-09, 0.0901371, 0.0446532, 0.00587314, 0.091611, 0.0379214, 0.00587314, 0.0914472, 0.0308051, 0.00587314, 0.083036, 0.0556211, 3.72529e-09, 0.0827382, 0.0551759, 0.00587314, 0.0871002, 0.0505419, 0.00587314, 0.089631, 0.0237764, 0.00587314, 0.086326, 0.0173279, 0.00587314, 0.00775153, -8.3819e-07, -0.0134495, 0.0109672, -8.3819e-07, -0.0109828, -0.0134627, -8.3819e-07, -0.00777604, -0.0259828, 0.00598901, -0.015, -0.02899, 0.00598901, -0.00777604, -0.0424331, 0.0155269, -1.17458e-05, -0.0519758, 0.0279518, 3.72529e-09, -0.0579605, 0.0424205, -1.17458e-05, -0.06, 0.0579483, 3.72529e-09, 0.0599906, 0.0689094, 3.72529e-09, -0.06, 0.0689094, 3.72529e-09, 0.0761432, 0.00784398, 0.00587314, 0.069965, 0.00545613, 0.00587314, 0.0109672, -8.3819e-07, 0.010971, 0.0134384, -8.3819e-07, 0.00776429, 0.0149867, -8.3819e-07, 0.00401723, 0.0155226, -8.3819e-07, 3.72529e-09, 0.0149867, -8.3819e-07, -0.00402897, 0.0134384, -8.3819e-07, -0.00777604, 0.081711, 0.0118979, 0.00587314, 0.0889759, 0.0440192, 0.00950274, 0.0903753, 0.0376313, 0.00950274, 0.0861027, 0.0496043, 0.00950274, 0.0902116, 0.0308725, 0.00950274, 0.0884995, 0.0242081, 0.00950274, 0.0579511, 0.0689094, 0.0155286, 0.0819641, 0.0540022, 0.00950274, 0.0519515, 0.0689094, 0.03, 0.0853584, 0.0180901, 0.00950274, 0.0809964, 0.01293, 0.00950274, -0.015011, -8.3819e-07, -0.00402897, -0.0300023, 0.00598901, 3.72529e-09, -0.02899, 0.00598901, 0.00776429, -0.0409891, 0.0155269, 0.010971, -0.0502042, 0.0279518, 0.0134377, -0.0559953, 0.0424205, 0.0149883, -0.0579605, 0.0579483, 0.0155286, -0.0579605, 0.0689094, 0.0155286, 0.0756966, 0.00908512, 0.00950274, 0.0698459, 0.00681869, 0.00950274, 0.00401485, -8.3819e-07, 0.015, 0.00775153, -8.3819e-07, 0.0134377, 0.0424238, 0.0689094, 0.0424158, 0.029993, 0.0579483, 0.0519538, 0.029993, 0.0689094, 0.0519538, 0.0289657, 0.0424205, 0.0501801, 0.0259734, 0.0279518, 0.045, -0.015532, -8.3819e-07, -1.17458e-05, -0.015011, -8.3819e-07, 0.00401723, -0.0134627, -8.3819e-07, 0.00776429, -0.0259828, 0.00598901, 0.015, -0.0367462, 0.0155269, 0.021202, -0.0450086, 0.0279518, 0.025971, -0.0502042, 0.0424205, 0.0289663, -0.0519758, 0.0579483, 0.03, -0.0519758, 0.0689094, 0.03, 0.0134384, 0.0279518, 0.0501801, 0.0109672, 0.0155269, 0.040971, 0.00775153, 0.00598901, 0.0289663, -4.69014e-06, 0.00598901, 0.03, -4.69014e-06, -8.3819e-07, 0.0155286, 0.0155226, 0.0579483, 0.0579444, 0.0149867, 0.0424205, 0.055971, 0.0155226, 0.0689094, 0.0579444, -0.0109914, -8.3819e-07, 0.010971, -0.0212189, 0.00598901, 0.021202, -0.0300023, 0.0155269, 0.0299883, -0.0367462, 0.0279518, 0.0367306, -0.0409891, 0.0424205, 0.040971, -0.0424331, 0.0579483, 0.0424158, -0.0424331, 0.0689094, 0.0424158, -4.69014e-06, 0.0279518, 0.0519538, -4.69014e-06, 0.0155269, 0.0424158, -0.0109914, 0.0155269, 0.040971, -0.00777579, 0.00598901, 0.0289663, -0.00402423, -8.3819e-07, 0.015, -4.69014e-06, 0.0579483, 0.06, -4.69014e-06, 0.0424205, 0.0579444, -4.69014e-06, 0.0689094, 0.06, -0.00777579, -8.3819e-07, 0.0134377, -0.015011, 0.00598901, 0.025971, -0.0212189, 0.0155269, 0.0367306, -0.0259828, 0.0279518, 0.045, -0.02899, 0.0424205, 0.0501801, -0.0300023, 0.0579483, 0.0519538, -0.0300023, 0.0689094, 0.0519538, -0.015011, 0.0424205, 0.055971, -0.0134627, 0.0279518, 0.0501801, -0.015532, 0.0579483, 0.0579444, -0.015532, 0.0689094, 0.0579444 ) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_y01ub"] +points = PackedVector3Array(-4.69014e-06, 0.0579483, -0.06, -4.69014e-06, 0.0689094, -0.06, 0.0155226, 0.0579483, -0.0579561, -4.69014e-06, 0.0424205, -0.0579561, -0.015011, 0.0424205, -0.0559828, -0.015532, 0.0579483, -0.0579561, -0.015532, 0.0689094, -0.0579561, 0.0155226, 0.0689094, -0.0579561, 0.0149867, 0.0424205, -0.0559828, 0.029993, 0.0579483, -0.0519655, -4.69014e-06, 0.0279518, -0.0519655, -0.0134627, 0.0279518, -0.0501919, -0.02899, 0.0424205, -0.0501919, -0.0300023, 0.0579483, -0.0519655, -0.0300023, 0.0689094, -0.0519655, 0.029993, 0.0689094, -0.0519655, 0.0289657, 0.0424205, -0.0501919, 0.0259734, 0.0279518, -0.045, 0.0134384, 0.0279518, -0.0501919, 0.0903753, 0.0376313, -0.00951448, 0.0902116, 0.0308725, -0.00951448, 0.0109672, 0.0155269, -0.0409828, -4.69014e-06, 0.0155269, -0.0424276, -0.0109914, 0.0155269, -0.0409828, -0.0212189, 0.0155269, -0.0367424, -0.0259828, 0.0279518, -0.045, -0.0367462, 0.0279518, -0.0367424, -0.0409891, 0.0424205, -0.0409828, -0.0424331, 0.0579483, -0.0424276, -0.0424331, 0.0689094, -0.0424276, 0.0424238, 0.0689094, -0.0424276, 0.0884995, 0.0242081, -0.00951448, 0.0853584, 0.0180901, -0.00951448, 0.0809964, 0.01293, -0.00951448, 0.0756966, 0.00908512, -0.00951448, 0.0889759, 0.0440192, -0.00951448, 0.0901371, 0.0446532, -0.00588489, 0.091611, 0.0379214, -0.00588489, 0.0914472, 0.0308051, -0.00588489, 0.00775153, 0.00598901, -0.0289781, -4.69014e-06, 0.00598901, -0.03, 0.0698459, 0.00681869, -0.00951448, -0.00777579, 0.00598901, -0.0289781, -0.015011, 0.00598901, -0.0259828, -0.0300023, 0.0155269, -0.03, -0.0450086, 0.0279518, -0.0259828, -0.0502042, 0.0424205, -0.0289781, -0.0519758, 0.0579483, -0.03, -0.0519758, 0.0689094, -0.03, 0.0519515, 0.0689094, -0.0300117, 0.0819641, 0.0540022, -0.00951448, 0.0861027, 0.0496043, -0.00951448, 0.089631, 0.0237764, -0.00588489, 0.086326, 0.0173279, -0.00588489, 0.081711, 0.0118979, -0.00588489, 0.0761432, 0.00784398, -0.00588489, 0.0905689, 0.0448961, 3.72529e-09, 0.0920874, 0.0380361, 3.72529e-09, 0.0871002, 0.0505419, -0.00588489, 0.0874872, 0.0508994, 3.72529e-09, 0.0919087, 0.0307781, 3.72529e-09, 0.0900627, 0.0236146, 3.72529e-09, 0.00401485, -8.3819e-07, -0.015, -4.69014e-06, -8.3819e-07, -0.0155403, 0.069965, 0.00545613, -0.00588489, -0.00402423, -8.3819e-07, -0.015, -0.00777579, -8.3819e-07, -0.0134495, -0.0212189, 0.00598901, -0.0212138, -0.0109914, -8.3819e-07, -0.0109828, -0.0367462, 0.0155269, -0.0212138, -0.0502042, 0.0279518, -0.0134495, -0.0409891, 0.0155269, -0.0109828, -0.0559953, 0.0424205, -0.015, -0.0579605, 0.0579483, -0.0155403, -0.0579605, 0.0689094, -0.0155403, 0.0579511, 0.0689094, -0.0155403, 0.0827382, 0.0551759, -0.00588489, 0.0866833, 0.0170379, 3.72529e-09, 0.0819938, 0.0114999, 3.72529e-09, 0.076307, 0.0073718, 3.72529e-09, 0.0700246, 0.00493674, 3.72529e-09, 0.0901371, 0.0446532, 0.00587314, 0.091611, 0.0379214, 0.00587314, 0.0914472, 0.0308051, 0.00587314, 0.083036, 0.0556211, 3.72529e-09, 0.0827382, 0.0551759, 0.00587314, 0.0871002, 0.0505419, 0.00587314, 0.089631, 0.0237764, 0.00587314, 0.086326, 0.0173279, 0.00587314, 0.00775153, -8.3819e-07, -0.0134495, 0.0109672, -8.3819e-07, -0.0109828, -0.0134627, -8.3819e-07, -0.00777604, -0.0259828, 0.00598901, -0.015, -0.02899, 0.00598901, -0.00777604, -0.0519758, 0.0279518, 3.72529e-09, -0.0424331, 0.0155269, -1.17458e-05, -0.0579605, 0.0424205, -1.17458e-05, -0.06, 0.0579483, 3.72529e-09, -0.06, 0.0689094, 3.72529e-09, 0.0599906, 0.0689094, 3.72529e-09, 0.081711, 0.0118979, 0.00587314, 0.0761432, 0.00784398, 0.00587314, 0.069965, 0.00545613, 0.00587314, 0.0109672, -8.3819e-07, 0.010971, 0.0134384, -8.3819e-07, 0.00776429, 0.0149867, -8.3819e-07, 0.00401723, 0.0155226, -8.3819e-07, 3.72529e-09, 0.0149867, -8.3819e-07, -0.00402897, 0.0134384, -8.3819e-07, -0.00777604, 0.0903753, 0.0376313, 0.00950274, 0.0861027, 0.0496043, 0.00950274, 0.0889759, 0.0440192, 0.00950274, 0.0902116, 0.0308725, 0.00950274, 0.0884995, 0.0242081, 0.00950274, 0.0579511, 0.0689094, 0.0155286, 0.0819641, 0.0540022, 0.00950274, 0.0519515, 0.0689094, 0.03, 0.0853584, 0.0180901, 0.00950274, 0.0809964, 0.01293, 0.00950274, -0.015011, -8.3819e-07, -0.00402897, -0.0300023, 0.00598901, 3.72529e-09, -0.0409891, 0.0155269, 0.010971, -0.0502042, 0.0279518, 0.0134377, -0.0559953, 0.0424205, 0.0149883, -0.02899, 0.00598901, 0.00776429, -0.0579605, 0.0579483, 0.0155286, -0.0579605, 0.0689094, 0.0155286, 0.0756966, 0.00908512, 0.00950274, 0.0698459, 0.00681869, 0.00950274, 0.00401485, -8.3819e-07, 0.015, 0.00775153, -8.3819e-07, 0.0134377, 0.029993, 0.0579483, 0.0519538, 0.0424238, 0.0689094, 0.0424158, 0.029993, 0.0689094, 0.0519538, 0.0289657, 0.0424205, 0.0501801, 0.0259734, 0.0279518, 0.045, -0.015532, -8.3819e-07, -1.17458e-05, -0.015011, -8.3819e-07, 0.00401723, -0.0367462, 0.0155269, 0.021202, -0.0450086, 0.0279518, 0.025971, -0.0502042, 0.0424205, 0.0289663, -0.0519758, 0.0579483, 0.03, -0.0134627, -8.3819e-07, 0.00776429, -0.0259828, 0.00598901, 0.015, -0.0519758, 0.0689094, 0.03, 0.0134384, 0.0279518, 0.0501801, 0.0109672, 0.0155269, 0.040971, 0.00775153, 0.00598901, 0.0289663, -4.69014e-06, 0.00598901, 0.03, -4.69014e-06, -8.3819e-07, 0.0155286, 0.0155226, 0.0579483, 0.0579444, 0.0149867, 0.0424205, 0.055971, 0.0155226, 0.0689094, 0.0579444, -0.0300023, 0.0155269, 0.0299883, -0.0367462, 0.0279518, 0.0367306, -0.0409891, 0.0424205, 0.040971, -0.0424331, 0.0579483, 0.0424158, -0.0109914, -8.3819e-07, 0.010971, -0.0212189, 0.00598901, 0.021202, -0.0424331, 0.0689094, 0.0424158, -4.69014e-06, 0.0279518, 0.0519538, -4.69014e-06, 0.0155269, 0.0424158, -0.0109914, 0.0155269, 0.040971, -0.00777579, 0.00598901, 0.0289663, -0.00402423, -8.3819e-07, 0.015, -4.69014e-06, 0.0579483, 0.06, -4.69014e-06, 0.0424205, 0.0579444, -4.69014e-06, 0.0689094, 0.06, -0.015011, 0.00598901, 0.025971, -0.0212189, 0.0155269, 0.0367306, -0.0259828, 0.0279518, 0.045, -0.02899, 0.0424205, 0.0501801, -0.0300023, 0.0579483, 0.0519538, -0.00777579, -8.3819e-07, 0.0134377, -0.0300023, 0.0689094, 0.0519538, -0.015011, 0.0424205, 0.055971, -0.0134627, 0.0279518, 0.0501801, -0.015532, 0.0579483, 0.0579444, -0.015532, 0.0689094, 0.0579444) -[sub_resource type="Resource" id=3] -script = ExtResource( 6 ) -open_pose = ExtResource( 8 ) -closed_pose = ExtResource( 8 ) +[sub_resource type="Resource" id="Resource_nm328"] +script = ExtResource("5_rkolq") +open_pose = ExtResource("4_a44uc") +closed_pose = ExtResource("4_a44uc") -[sub_resource type="Resource" id=4] -script = ExtResource( 6 ) -open_pose = ExtResource( 7 ) -closed_pose = ExtResource( 7 ) +[sub_resource type="Resource" id="Resource_4mm4i"] +script = ExtResource("5_rkolq") +open_pose = ExtResource("7_m23hc") +closed_pose = ExtResource("7_m23hc") -[node name="Teacup" type="RigidBody" groups=["Teacup"]] -collision_layer = 4 -collision_mask = 196615 -script = ExtResource( 1 ) +[node name="Teacup" groups=["Teacup"] instance=ExtResource("1_q232w")] -[node name="Teacup" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) +[node name="Teacup" type="MeshInstance3D" parent="." index="0"] +gi_mode = 0 +mesh = SubResource("ArrayMesh_gro0q") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("5") -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 2 ) +[node name="CollisionShape3D" parent="." index="1"] +shape = SubResource("ConvexPolygonShape3D_y01ub") -[node name="GrabPointHandLeft" parent="." instance=ExtResource( 3 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, -0.015 ) -hand_pose = SubResource( 3 ) +[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource("3")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, -0.015) +hand_pose = SubResource("Resource_nm328") -[node name="GrabPointHandRight" parent="." instance=ExtResource( 2 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, 0.015 ) -hand_pose = SubResource( 4 ) +[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource("2")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, 0.015) +hand_pose = SubResource("Resource_4mm4i") -[node name="GrabPointSnapSaucer" parent="." instance=ExtResource( 4 )] +[node name="GrabPointSnapSaucer" parent="." index="4" instance=ExtResource("4")] require_group = "Saucer" -[node name="GrabPointSnapStand" parent="." instance=ExtResource( 4 )] -transform = Transform( -0.110203, 0.993909, 0, -0.993909, -0.110203, 0, 0, 0, 1, 0.0788087, 0.0305528, 0 ) +[node name="GrabPointSnapStand" parent="." index="5" instance=ExtResource("4")] +transform = Transform3D(-0.110203, 0.993909, 0, -0.993909, -0.110203, 0, 0, 0, 1, 0.0788087, 0.0305528, 0) require_group = "TeacupStand" diff --git a/scenes/pickable_demo/objects/teacup_stand.tscn b/scenes/pickable_demo/objects/teacup_stand.tscn index 800accdd..4fb00d79 100644 --- a/scenes/pickable_demo/objects/teacup_stand.tscn +++ b/scenes/pickable_demo/objects/teacup_stand.tscn @@ -1,68 +1,88 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=8 format=3 uid="uid://b3mykwawmnxpi"] -[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/pickable_demo/materials/stand_metal.tres" type="Material" id=2] +[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1"] +[ext_resource type="Material" path="res://scenes/pickable_demo/materials/stand_metal.tres" id="2"] -[sub_resource type="ArrayMesh" id=1] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hqk2h"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_8vbk1"] +_surfaces = [{ +"aabb": AABB(-0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064), +"format": 4097, +"index_count": 798, +"index_data": PackedByteArray(42, 0, 14, 0, 44, 0, 42, 0, 28, 0, 14, 0, 14, 0, 46, 0, 44, 0, 14, 0, 16, 0, 46, 0, 2, 0, 12, 0, 1, 0, 2, 0, 13, 0, 12, 0, 16, 0, 48, 0, 46, 0, 16, 0, 18, 0, 48, 0, 15, 0, 2, 0, 3, 0, 15, 0, 13, 0, 2, 0, 18, 0, 50, 0, 48, 0, 18, 0, 19, 0, 50, 0, 17, 0, 3, 0, 4, 0, 17, 0, 15, 0, 3, 0, 19, 0, 52, 0, 50, 0, 19, 0, 20, 0, 52, 0, 21, 0, 4, 0, 5, 0, 21, 0, 17, 0, 4, 0, 20, 0, 54, 0, 52, 0, 20, 0, 24, 0, 54, 0, 22, 0, 5, 0, 6, 0, 22, 0, 21, 0, 5, 0, 22, 0, 7, 0, 23, 0, 22, 0, 6, 0, 7, 0, 24, 0, 56, 0, 54, 0, 24, 0, 26, 0, 56, 0, 26, 0, 58, 0, 56, 0, 26, 0, 38, 0, 58, 0, 23, 0, 8, 0, 25, 0, 23, 0, 7, 0, 8, 0, 38, 0, 60, 0, 58, 0, 38, 0, 29, 0, 60, 0, 9, 0, 25, 0, 8, 0, 9, 0, 36, 0, 25, 0, 29, 0, 62, 0, 60, 0, 29, 0, 32, 0, 62, 0, 10, 0, 36, 0, 9, 0, 10, 0, 30, 0, 36, 0, 62, 0, 34, 0, 39, 0, 62, 0, 32, 0, 34, 0, 31, 0, 10, 0, 11, 0, 31, 0, 30, 0, 10, 0, 0, 0, 31, 0, 11, 0, 0, 0, 33, 0, 31, 0, 10, 0, 0, 0, 11, 0, 0, 0, 2, 0, 1, 0, 2, 0, 4, 0, 3, 0, 4, 0, 6, 0, 5, 0, 6, 0, 8, 0, 7, 0, 8, 0, 10, 0, 9, 0, 10, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 2, 0, 10, 0, 6, 0, 12, 0, 68, 0, 66, 0, 12, 0, 13, 0, 68, 0, 13, 0, 70, 0, 68, 0, 13, 0, 15, 0, 70, 0, 15, 0, 72, 0, 70, 0, 15, 0, 17, 0, 72, 0, 17, 0, 74, 0, 72, 0, 17, 0, 21, 0, 74, 0, 27, 0, 74, 0, 21, 0, 27, 0, 76, 0, 74, 0, 76, 0, 19, 0, 78, 0, 76, 0, 27, 0, 19, 0, 19, 0, 79, 0, 78, 0, 19, 0, 18, 0, 79, 0, 18, 0, 82, 0, 79, 0, 18, 0, 16, 0, 82, 0, 16, 0, 84, 0, 82, 0, 16, 0, 14, 0, 84, 0, 14, 0, 86, 0, 84, 0, 14, 0, 28, 0, 86, 0, 28, 0, 63, 0, 86, 0, 28, 0, 35, 0, 63, 0, 35, 0, 66, 0, 63, 0, 35, 0, 12, 0, 66, 0, 27, 0, 110, 0, 19, 0, 27, 0, 88, 0, 110, 0, 23, 0, 92, 0, 22, 0, 23, 0, 94, 0, 92, 0, 25, 0, 94, 0, 23, 0, 25, 0, 96, 0, 94, 0, 25, 0, 98, 0, 96, 0, 25, 0, 36, 0, 98, 0, 100, 0, 36, 0, 37, 0, 100, 0, 98, 0, 36, 0, 100, 0, 38, 0, 102, 0, 100, 0, 37, 0, 38, 0, 26, 0, 106, 0, 104, 0, 26, 0, 24, 0, 106, 0, 24, 0, 107, 0, 106, 0, 24, 0, 20, 0, 107, 0, 107, 0, 19, 0, 110, 0, 107, 0, 20, 0, 19, 0, 88, 0, 21, 0, 89, 0, 88, 0, 27, 0, 21, 0, 21, 0, 92, 0, 89, 0, 21, 0, 22, 0, 92, 0, 112, 0, 38, 0, 37, 0, 112, 0, 134, 0, 38, 0, 118, 0, 33, 0, 120, 0, 118, 0, 31, 0, 33, 0, 121, 0, 33, 0, 12, 0, 121, 0, 120, 0, 33, 0, 12, 0, 124, 0, 121, 0, 12, 0, 35, 0, 124, 0, 126, 0, 35, 0, 28, 0, 126, 0, 124, 0, 35, 0, 28, 0, 127, 0, 126, 0, 28, 0, 34, 0, 127, 0, 34, 0, 130, 0, 127, 0, 34, 0, 32, 0, 130, 0, 130, 0, 29, 0, 132, 0, 130, 0, 32, 0, 29, 0, 38, 0, 132, 0, 29, 0, 38, 0, 134, 0, 132, 0, 112, 0, 36, 0, 114, 0, 112, 0, 37, 0, 36, 0, 43, 0, 46, 0, 45, 0, 43, 0, 44, 0, 46, 0, 47, 0, 50, 0, 49, 0, 47, 0, 48, 0, 50, 0, 49, 0, 52, 0, 51, 0, 49, 0, 50, 0, 52, 0, 53, 0, 56, 0, 55, 0, 53, 0, 54, 0, 56, 0, 57, 0, 60, 0, 59, 0, 57, 0, 58, 0, 60, 0, 59, 0, 62, 0, 61, 0, 59, 0, 60, 0, 62, 0, 40, 0, 42, 0, 41, 0, 40, 0, 39, 0, 42, 0, 41, 0, 44, 0, 43, 0, 41, 0, 42, 0, 44, 0, 45, 0, 48, 0, 47, 0, 45, 0, 46, 0, 48, 0, 51, 0, 54, 0, 53, 0, 51, 0, 52, 0, 54, 0, 55, 0, 58, 0, 57, 0, 55, 0, 56, 0, 58, 0, 39, 0, 61, 0, 62, 0, 39, 0, 40, 0, 61, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 61, 0, 40, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 41, 0, 45, 0, 41, 0, 57, 0, 61, 0, 57, 0, 49, 0, 53, 0, 41, 0, 49, 0, 57, 0, 64, 0, 66, 0, 65, 0, 64, 0, 63, 0, 66, 0, 65, 0, 68, 0, 67, 0, 65, 0, 66, 0, 68, 0, 67, 0, 70, 0, 69, 0, 67, 0, 68, 0, 70, 0, 69, 0, 72, 0, 71, 0, 69, 0, 70, 0, 72, 0, 71, 0, 74, 0, 73, 0, 71, 0, 72, 0, 74, 0, 80, 0, 82, 0, 81, 0, 80, 0, 79, 0, 82, 0, 63, 0, 85, 0, 86, 0, 63, 0, 64, 0, 85, 0, 73, 0, 76, 0, 75, 0, 73, 0, 74, 0, 76, 0, 77, 0, 79, 0, 80, 0, 77, 0, 78, 0, 79, 0, 81, 0, 84, 0, 83, 0, 81, 0, 82, 0, 84, 0, 83, 0, 86, 0, 85, 0, 83, 0, 84, 0, 86, 0, 75, 0, 78, 0, 77, 0, 75, 0, 76, 0, 78, 0, 73, 0, 69, 0, 71, 0, 69, 0, 65, 0, 67, 0, 65, 0, 85, 0, 64, 0, 85, 0, 81, 0, 83, 0, 81, 0, 77, 0, 80, 0, 77, 0, 73, 0, 75, 0, 73, 0, 65, 0, 69, 0, 65, 0, 81, 0, 85, 0, 81, 0, 73, 0, 77, 0, 65, 0, 73, 0, 81, 0, 90, 0, 92, 0, 91, 0, 90, 0, 89, 0, 92, 0, 91, 0, 94, 0, 93, 0, 91, 0, 92, 0, 94, 0, 93, 0, 96, 0, 95, 0, 93, 0, 94, 0, 96, 0, 101, 0, 104, 0, 103, 0, 101, 0, 102, 0, 104, 0, 103, 0, 106, 0, 105, 0, 103, 0, 104, 0, 106, 0, 108, 0, 110, 0, 109, 0, 108, 0, 107, 0, 110, 0, 99, 0, 102, 0, 101, 0, 99, 0, 100, 0, 102, 0, 87, 0, 89, 0, 90, 0, 87, 0, 88, 0, 89, 0, 97, 0, 100, 0, 99, 0, 97, 0, 98, 0, 100, 0, 105, 0, 107, 0, 108, 0, 105, 0, 106, 0, 107, 0, 88, 0, 109, 0, 110, 0, 88, 0, 87, 0, 109, 0, 95, 0, 98, 0, 97, 0, 95, 0, 96, 0, 98, 0, 103, 0, 99, 0, 101, 0, 99, 0, 95, 0, 97, 0, 95, 0, 91, 0, 93, 0, 91, 0, 87, 0, 90, 0, 87, 0, 108, 0, 109, 0, 108, 0, 103, 0, 105, 0, 103, 0, 95, 0, 99, 0, 95, 0, 87, 0, 91, 0, 87, 0, 103, 0, 108, 0, 95, 0, 103, 0, 87, 0, 113, 0, 116, 0, 115, 0, 113, 0, 114, 0, 116, 0, 117, 0, 120, 0, 119, 0, 117, 0, 118, 0, 120, 0, 128, 0, 130, 0, 129, 0, 128, 0, 127, 0, 130, 0, 111, 0, 114, 0, 113, 0, 111, 0, 112, 0, 114, 0, 115, 0, 118, 0, 117, 0, 115, 0, 116, 0, 118, 0, 122, 0, 124, 0, 123, 0, 122, 0, 121, 0, 124, 0, 125, 0, 127, 0, 128, 0, 125, 0, 126, 0, 127, 0, 129, 0, 132, 0, 131, 0, 129, 0, 130, 0, 132, 0, 131, 0, 134, 0, 133, 0, 131, 0, 132, 0, 134, 0, 119, 0, 121, 0, 122, 0, 119, 0, 120, 0, 121, 0, 123, 0, 126, 0, 125, 0, 123, 0, 124, 0, 126, 0, 112, 0, 133, 0, 134, 0, 112, 0, 111, 0, 133, 0, 133, 0, 129, 0, 131, 0, 129, 0, 125, 0, 128, 0, 125, 0, 122, 0, 123, 0, 122, 0, 117, 0, 119, 0, 117, 0, 113, 0, 115, 0, 113, 0, 133, 0, 111, 0, 133, 0, 125, 0, 129, 0, 125, 0, 117, 0, 122, 0, 117, 0, 133, 0, 113, 0, 125, 0, 133, 0, 117, 0, 12, 0, 0, 0, 1, 0, 12, 0, 33, 0, 0, 0, 39, 0, 28, 0, 42, 0, 39, 0, 34, 0, 28, 0, 38, 0, 104, 0, 102, 0, 38, 0, 26, 0, 104, 0, 30, 0, 118, 0, 116, 0, 30, 0, 31, 0, 118, 0, 36, 0, 116, 0, 114, 0, 36, 0, 30, 0, 116, 0), +"lods": [0.016668, PackedByteArray(52, 0, 28, 0, 14, 0, 14, 0, 19, 0, 52, 0, 19, 0, 20, 0, 52, 0, 20, 0, 38, 0, 52, 0, 38, 0, 29, 0, 52, 0, 52, 0, 29, 0, 34, 0, 52, 0, 34, 0, 39, 0, 39, 0, 28, 0, 52, 0, 39, 0, 34, 0, 28, 0, 9, 0, 17, 0, 12, 0, 21, 0, 17, 0, 9, 0, 12, 0, 33, 0, 0, 0, 12, 0, 0, 0, 9, 0, 25, 0, 21, 0, 9, 0, 9, 0, 36, 0, 25, 0, 9, 0, 30, 0, 36, 0, 0, 0, 30, 0, 9, 0, 0, 0, 33, 0, 30, 0, 12, 0, 68, 0, 66, 0, 35, 0, 12, 0, 66, 0, 35, 0, 66, 0, 63, 0, 64, 0, 63, 0, 66, 0, 64, 0, 66, 0, 65, 0, 65, 0, 66, 0, 68, 0, 65, 0, 68, 0, 67, 0, 12, 0, 17, 0, 68, 0, 17, 0, 70, 0, 68, 0, 67, 0, 68, 0, 70, 0, 67, 0, 70, 0, 69, 0, 17, 0, 72, 0, 70, 0, 69, 0, 70, 0, 72, 0, 69, 0, 72, 0, 71, 0, 17, 0, 74, 0, 72, 0, 71, 0, 72, 0, 74, 0, 71, 0, 74, 0, 73, 0, 17, 0, 21, 0, 74, 0, 27, 0, 74, 0, 21, 0, 27, 0, 76, 0, 74, 0, 73, 0, 74, 0, 76, 0, 73, 0, 76, 0, 75, 0, 76, 0, 27, 0, 19, 0, 76, 0, 19, 0, 78, 0, 75, 0, 76, 0, 78, 0, 75, 0, 78, 0, 77, 0, 19, 0, 79, 0, 78, 0, 77, 0, 78, 0, 79, 0, 77, 0, 79, 0, 80, 0, 19, 0, 14, 0, 79, 0, 14, 0, 82, 0, 79, 0, 80, 0, 79, 0, 82, 0, 80, 0, 82, 0, 81, 0, 14, 0, 84, 0, 82, 0, 81, 0, 82, 0, 84, 0, 81, 0, 84, 0, 83, 0, 14, 0, 86, 0, 84, 0, 83, 0, 84, 0, 86, 0, 83, 0, 86, 0, 85, 0, 14, 0, 28, 0, 86, 0, 28, 0, 63, 0, 86, 0, 28, 0, 35, 0, 63, 0, 63, 0, 85, 0, 86, 0, 63, 0, 64, 0, 85, 0, 27, 0, 110, 0, 19, 0, 27, 0, 88, 0, 110, 0, 88, 0, 109, 0, 110, 0, 88, 0, 87, 0, 109, 0, 108, 0, 110, 0, 109, 0, 108, 0, 107, 0, 110, 0, 107, 0, 19, 0, 110, 0, 107, 0, 20, 0, 19, 0, 105, 0, 107, 0, 108, 0, 105, 0, 106, 0, 107, 0, 20, 0, 107, 0, 106, 0, 103, 0, 106, 0, 105, 0, 103, 0, 104, 0, 106, 0, 20, 0, 106, 0, 104, 0, 38, 0, 20, 0, 104, 0, 101, 0, 104, 0, 103, 0, 101, 0, 102, 0, 104, 0, 38, 0, 104, 0, 102, 0, 99, 0, 102, 0, 101, 0, 99, 0, 100, 0, 102, 0, 100, 0, 38, 0, 102, 0, 100, 0, 37, 0, 38, 0, 100, 0, 36, 0, 37, 0, 97, 0, 100, 0, 99, 0, 97, 0, 98, 0, 100, 0, 100, 0, 98, 0, 36, 0, 25, 0, 36, 0, 98, 0, 95, 0, 98, 0, 97, 0, 95, 0, 96, 0, 98, 0, 25, 0, 98, 0, 96, 0, 93, 0, 96, 0, 95, 0, 93, 0, 94, 0, 96, 0, 25, 0, 96, 0, 94, 0, 91, 0, 94, 0, 93, 0, 91, 0, 92, 0, 94, 0, 25, 0, 94, 0, 92, 0, 21, 0, 25, 0, 92, 0, 90, 0, 92, 0, 91, 0, 90, 0, 89, 0, 92, 0, 21, 0, 92, 0, 89, 0, 88, 0, 21, 0, 89, 0, 88, 0, 27, 0, 21, 0, 87, 0, 88, 0, 89, 0, 87, 0, 89, 0, 90, 0, 112, 0, 38, 0, 37, 0, 112, 0, 111, 0, 133, 0, 112, 0, 133, 0, 134, 0, 112, 0, 134, 0, 38, 0, 131, 0, 134, 0, 133, 0, 131, 0, 132, 0, 134, 0, 38, 0, 134, 0, 132, 0, 38, 0, 132, 0, 29, 0, 129, 0, 132, 0, 131, 0, 129, 0, 130, 0, 132, 0, 130, 0, 29, 0, 132, 0, 34, 0, 29, 0, 130, 0, 128, 0, 130, 0, 129, 0, 128, 0, 127, 0, 130, 0, 34, 0, 130, 0, 127, 0, 28, 0, 34, 0, 127, 0, 125, 0, 127, 0, 128, 0, 125, 0, 126, 0, 127, 0, 28, 0, 127, 0, 126, 0, 126, 0, 35, 0, 28, 0, 123, 0, 126, 0, 125, 0, 123, 0, 124, 0, 126, 0, 126, 0, 124, 0, 35, 0, 12, 0, 35, 0, 124, 0, 122, 0, 124, 0, 123, 0, 122, 0, 121, 0, 124, 0, 12, 0, 124, 0, 121, 0, 121, 0, 33, 0, 12, 0, 119, 0, 121, 0, 122, 0, 119, 0, 120, 0, 121, 0, 121, 0, 120, 0, 33, 0, 117, 0, 120, 0, 119, 0, 117, 0, 118, 0, 120, 0, 118, 0, 33, 0, 120, 0, 118, 0, 30, 0, 33, 0, 115, 0, 118, 0, 117, 0, 115, 0, 116, 0, 118, 0, 30, 0, 118, 0, 116, 0, 36, 0, 30, 0, 116, 0, 113, 0, 116, 0, 115, 0, 113, 0, 114, 0, 116, 0, 36, 0, 116, 0, 114, 0, 112, 0, 36, 0, 114, 0, 112, 0, 37, 0, 36, 0, 111, 0, 112, 0, 114, 0, 111, 0, 114, 0, 113, 0, 73, 0, 69, 0, 71, 0, 73, 0, 65, 0, 69, 0, 69, 0, 65, 0, 67, 0, 77, 0, 73, 0, 75, 0, 81, 0, 73, 0, 77, 0, 65, 0, 73, 0, 81, 0, 81, 0, 77, 0, 80, 0, 65, 0, 81, 0, 85, 0, 85, 0, 81, 0, 83, 0, 65, 0, 85, 0, 64, 0, 103, 0, 99, 0, 101, 0, 103, 0, 95, 0, 99, 0, 99, 0, 95, 0, 97, 0, 108, 0, 103, 0, 105, 0, 87, 0, 103, 0, 108, 0, 95, 0, 103, 0, 87, 0, 87, 0, 108, 0, 109, 0, 95, 0, 87, 0, 91, 0, 91, 0, 87, 0, 90, 0, 95, 0, 91, 0, 93, 0, 133, 0, 129, 0, 131, 0, 133, 0, 125, 0, 129, 0, 129, 0, 125, 0, 128, 0, 113, 0, 133, 0, 111, 0, 117, 0, 133, 0, 113, 0, 125, 0, 133, 0, 117, 0, 117, 0, 113, 0, 115, 0, 125, 0, 117, 0, 122, 0, 122, 0, 117, 0, 119, 0, 125, 0, 122, 0, 123, 0)], +"primitive": 3, +"vertex_count": 135, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_sini6"] resource_name = "stand_Cylinder" -surfaces/0 = { -"aabb": AABB( -0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064 ), -"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 129, 126, 130, 63, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 129, 126, 130, 63, 0, 60, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 129, 127, 193, 0, 58, 20, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 0, 129, 127, 193, 245, 58, 86, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 127, 80, 129, 40, 85, 59, 0, 56, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 0, 129, 127, 193, 169, 59, 10, 57, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 127, 46, 129, 23, 170, 58, 0, 56, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 0, 129, 127, 193, 235, 59, 0, 58, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 127, 0, 127, 1, 0, 58, 0, 56, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 0, 129, 127, 193, 169, 59, 245, 58, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 80, 0, 127, 23, 85, 57, 0, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 0, 129, 126, 193, 245, 58, 169, 59, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 46, 0, 127, 40, 170, 56, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 0, 129, 127, 193, 0, 58, 235, 59, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 210, 0, 80, 63, 170, 54, 0, 56, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 0, 129, 127, 193, 10, 57, 169, 59, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 176, 0, 46, 63, 85, 53, 0, 56, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 0, 129, 127, 193, 86, 56, 245, 58, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 63, 0, 52, 0, 56, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 0, 129, 127, 193, 20, 56, 0, 58, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 129, 46, 210, 63, 85, 49, 0, 56, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 0, 129, 127, 193, 86, 56, 10, 57, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 129, 80, 176, 63, 85, 45, 0, 56, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 0, 129, 126, 193, 10, 57, 86, 56, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 84, 129, 42, 126, 85, 59, 153, 55, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 127, 80, 130, 86, 85, 59, 85, 41, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 92, 188, 223, 26, 170, 56, 153, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 50, 129, 180, 126, 170, 58, 78, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 127, 50, 130, 25, 170, 58, 29, 42, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 50, 127, 0, 88, 85, 49, 78, 55, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 127, 50, 130, 101, 170, 58, 214, 36, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 0, 129, 129, 127, 0, 58, 51, 55, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 102, 42, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 0, 127, 0, 63, 0, 52, 51, 55, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 68, 36, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 0, 180, 180, 1, 85, 57, 78, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 76, 0, 126, 25, 85, 57, 29, 42, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 0, 76, 0, 38, 85, 53, 78, 55, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 76, 0, 126, 101, 85, 57, 214, 36, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 0, 42, 0, 21, 170, 54, 153, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 102, 38, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 58, 34, 204, 110, 85, 45, 153, 55, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 7, 0, 126, 59, 0, 56, 214, 36, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 7, 0, 126, 59, 0, 56, 214, 36, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 38, 66, 171, 99, 85, 49, 78, 55, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 0, 214, 214, 1, 170, 56, 153, 55, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 85, 41, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 58, 222, 33, 100, 85, 59, 153, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 7, 0, 126, 67, 0, 56, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 38, 190, 54, 84, 170, 58, 78, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 38, 190, 54, 84, 170, 58, 78, 55, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 0, 130, 80, 63, 0, 58, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 68, 36, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 0, 126, 130, 40, 0, 52, 51, 55, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 171, 0, 41, 63, 85, 53, 29, 42, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 196, 168, 54, 42, 85, 57, 78, 55, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 171, 0, 41, 63, 85, 53, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 196, 88, 171, 27, 85, 53, 78, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 0, 0, 0, 1, 0, 56, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 80, 0, 0, 126, 0, 0, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 80, 0, 0, 126, 0, 60, 137, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 84, 127, 0, 105, 85, 45, 153, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 127, 80, 176, 101, 85, 59, 102, 38, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 92, 68, 52, 16, 170, 54, 153, 55, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 129, 215, 215, 63, 85, 49, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 129, 215, 215, 63, 85, 49, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 218, 66, 85, 99, 85, 49, 78, 55, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 218, 66, 85, 99, 85, 49, 78, 55, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 129, 41, 215, 63, 85, 49, 29, 42, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 218, 190, 202, 84, 170, 58, 78, 55, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 129, 80, 176, 63, 85, 45, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 0, 130, 176, 63, 0, 58, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 130, 176, 176, 63, 85, 45, 68, 36, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 126, 126, 40, 0, 52, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 126, 126, 40, 0, 52, 51, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 127, 119, 130, 59, 0, 0, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 127, 119, 130, 67, 0, 60, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 60, 168, 202, 42, 85, 57, 78, 55, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 126, 137, 130, 59, 0, 0, 214, 36, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 126, 137, 221, 110, 0, 60, 137, 52, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 60, 88, 85, 27, 85, 53, 78, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 126, 0, 0, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 126, 0, 60, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 126, 46, 0, 1, 0, 56, 137, 55, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 129, 0, 0, 63, 0, 52, 85, 41, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 164, 188, 33, 26, 170, 56, 153, 55, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 198, 222, 223, 100, 85, 59, 153, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 176, 0, 0, 126, 0, 0, 137, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 176, 0, 0, 126, 0, 60, 137, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 130, 46, 0, 1, 0, 56, 137, 55, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 130, 0, 0, 63, 0, 52, 102, 38, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 198, 34, 52, 110, 85, 45, 153, 55, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 164, 68, 204, 16, 170, 54, 153, 55, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 130, 130, 130, 63, 0, 0, 211, 30, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 130, 130, 239, 118, 0, 60, 102, 46, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 62, 126, 126, 63, 0, 52, 20, 56, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 0, 126, 126, 63, 255, 51, 224, 56, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 62, 126, 126, 63, 255, 51, 224, 56, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 0, 126, 126, 63, 31, 53, 6, 57, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 72, 100, 85, 43, 31, 53, 6, 57, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 72, 100, 85, 43, 235, 53, 86, 56, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 127, 80, 180, 102, 85, 59, 211, 30, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 0, 126, 126, 63, 242, 53, 112, 57, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 72, 81, 69, 34, 242, 53, 112, 57, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 72, 81, 69, 34, 83, 55, 10, 57, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 127, 46, 129, 103, 170, 58, 211, 30, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 0, 126, 126, 63, 63, 54, 0, 58, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 62, 64, 64, 32, 63, 54, 0, 58, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 62, 64, 64, 32, 215, 55, 0, 58, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 211, 30, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 211, 30, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 0, 126, 126, 63, 242, 53, 143, 58, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 45, 54, 69, 34, 242, 53, 143, 58, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 45, 54, 69, 34, 83, 55, 245, 58, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 80, 0, 127, 103, 85, 57, 211, 30, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 80, 0, 126, 23, 85, 57, 211, 30, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 0, 126, 126, 63, 31, 53, 249, 58, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 26, 54, 86, 42, 31, 53, 249, 58, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 26, 54, 86, 42, 235, 53, 169, 59, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 211, 30, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 64, 126, 63, 0, 52, 31, 59, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 126, 126, 63, 0, 52, 31, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 64, 126, 63, 0, 52, 235, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 211, 30, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 211, 30, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 230, 54, 85, 83, 192, 49, 249, 58, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 0, 126, 126, 63, 192, 49, 249, 58, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 210, 0, 80, 63, 170, 54, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 230, 54, 85, 83, 40, 48, 169, 59, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 211, 54, 69, 92, 26, 48, 143, 58, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 0, 126, 126, 63, 26, 48, 143, 58, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 176, 0, 46, 63, 85, 53, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 211, 54, 69, 92, 101, 41, 245, 58, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 194, 64, 64, 94, 0, 47, 0, 58, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 0, 126, 126, 63, 0, 47, 0, 58, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 130, 0, 0, 63, 0, 52, 211, 30, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 194, 64, 64, 94, 30, 33, 0, 58, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 184, 81, 69, 92, 26, 48, 112, 57, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 0, 126, 126, 63, 26, 48, 112, 57, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 129, 210, 210, 63, 85, 49, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 129, 210, 210, 63, 85, 49, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 184, 81, 69, 92, 101, 41, 10, 57, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 184, 100, 86, 84, 192, 49, 6, 57, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 0, 126, 126, 63, 192, 49, 6, 57, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 130, 176, 176, 63, 85, 45, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 130, 176, 176, 63, 85, 45, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 184, 100, 86, 84, 40, 48, 86, 56, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 127, 0, 0, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 127, 0, 60, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 62, 13, 113, 0, 0, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 62, 229, 120, 0, 60, 30, 37, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 62, 13, 113, 106, 36, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 62, 229, 120, 220, 59, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 0, 0, 1, 255, 51, 224, 56, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 100, 184, 195, 121, 49, 59, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 100, 184, 45, 121, 120, 59, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 127, 0, 0, 1, 31, 53, 6, 57, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 80, 129, 46, 127, 85, 59, 30, 37, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 100, 184, 195, 121, 85, 59, 30, 37, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 81, 184, 163, 121, 135, 58, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 81, 184, 76, 121, 206, 58, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 127, 0, 0, 1, 242, 53, 112, 57, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 46, 129, 176, 127, 170, 58, 30, 37, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 81, 184, 163, 121, 170, 58, 30, 37, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 64, 194, 143, 6, 220, 57, 0, 0, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 64, 194, 113, 120, 35, 58, 0, 0, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 127, 0, 0, 1, 63, 54, 0, 58, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 0, 129, 129, 127, 0, 58, 30, 37, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 64, 194, 143, 6, 0, 58, 30, 37, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 54, 211, 180, 5, 49, 57, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 54, 211, 93, 5, 120, 57, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 127, 0, 0, 1, 242, 53, 143, 58, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 0, 176, 80, 1, 85, 57, 30, 37, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 54, 211, 180, 5, 85, 57, 30, 37, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 54, 230, 211, 5, 135, 56, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 54, 230, 61, 5, 206, 56, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 127, 0, 0, 1, 31, 53, 249, 58, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 0, 210, 210, 1, 170, 56, 30, 37, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 54, 230, 211, 5, 170, 56, 30, 37, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 64, 0, 243, 13, 185, 55, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 64, 0, 27, 6, 35, 56, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 127, 0, 0, 1, 0, 52, 31, 59, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 0, 0, 0, 1, 0, 56, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 64, 0, 243, 13, 0, 56, 30, 37, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 54, 26, 246, 30, 99, 54, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 54, 26, 11, 22, 241, 54, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 127, 0, 0, 1, 192, 49, 249, 58, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 0, 46, 0, 23, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 0, 46, 0, 23, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 54, 26, 246, 30, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 54, 26, 11, 22, 170, 54, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 0, 80, 0, 40, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 0, 80, 0, 40, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 54, 45, 245, 46, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 54, 45, 10, 38, 85, 53, 30, 37, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 54, 45, 245, 46, 14, 53, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 54, 45, 10, 38, 156, 53, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 127, 0, 0, 1, 26, 48, 143, 58, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 64, 62, 243, 70, 114, 51, 0, 0, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 64, 62, 13, 56, 70, 52, 0, 0, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 127, 0, 0, 1, 0, 47, 0, 58, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 0, 127, 0, 63, 0, 52, 30, 37, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 64, 62, 243, 70, 0, 52, 30, 37, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 81, 72, 246, 88, 199, 48, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 81, 72, 11, 80, 226, 49, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 127, 0, 0, 1, 26, 48, 112, 57, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 46, 127, 0, 86, 85, 49, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 81, 72, 246, 88, 85, 49, 30, 37, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 100, 72, 245, 104, 58, 44, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 100, 72, 10, 96, 112, 46, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 127, 0, 0, 1, 192, 49, 6, 57, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 80, 127, 0, 103, 85, 45, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 100, 72, 10, 96, 85, 45, 30, 37, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 210, 0, 0, 1, 0, 52, 224, 56, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 25, 0, 237, 114, 106, 36, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 25, 0, 24, 117, 220, 59, 0, 0, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 25, 0, 237, 114, 0, 0, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 25, 0, 24, 117, 0, 60, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 80, 0, 0, 126, 0, 0, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 80, 0, 0, 126, 0, 60, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 14, 226, 22, 103, 85, 59, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 56, 219, 35, 99, 85, 59, 30, 37, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 210, 0, 0, 1, 31, 53, 6, 57, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 14, 226, 48, 95, 49, 59, 0, 0, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 14, 226, 22, 103, 120, 59, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 210, 0, 0, 1, 242, 53, 112, 57, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 251, 204, 69, 78, 135, 58, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 251, 204, 45, 85, 206, 58, 0, 0, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 251, 204, 69, 78, 170, 58, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 35, 185, 56, 82, 170, 58, 30, 37, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 210, 0, 0, 1, 63, 54, 0, 58, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 229, 204, 81, 57, 220, 57, 0, 0, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 229, 204, 65, 69, 35, 58, 0, 0, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 229, 204, 81, 57, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 229, 204, 65, 69, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 0, 130, 80, 63, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 0, 130, 80, 63, 0, 58, 30, 37, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 207, 212, 57, 39, 49, 57, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 207, 212, 55, 49, 120, 57, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 210, 0, 0, 1, 242, 53, 143, 58, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 207, 212, 55, 49, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 207, 212, 57, 39, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 201, 165, 56, 44, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 201, 165, 56, 44, 85, 57, 30, 37, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 184, 228, 35, 21, 135, 56, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 184, 228, 35, 33, 206, 56, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 210, 0, 0, 1, 31, 53, 249, 58, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 184, 228, 35, 33, 170, 56, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 167, 186, 35, 27, 170, 56, 30, 37, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 158, 0, 232, 2, 185, 55, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 158, 0, 5, 12, 35, 56, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 210, 0, 0, 1, 255, 51, 31, 59, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 158, 0, 5, 12, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 158, 0, 232, 2, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 130, 46, 0, 1, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 130, 46, 0, 1, 0, 56, 30, 37, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 184, 28, 189, 17, 99, 54, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 184, 28, 214, 17, 241, 54, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 210, 0, 0, 1, 192, 49, 249, 58, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 184, 28, 214, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 184, 28, 189, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 167, 70, 201, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 167, 70, 201, 17, 170, 54, 30, 37, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 207, 44, 158, 27, 14, 53, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 207, 44, 177, 28, 156, 53, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 210, 0, 0, 1, 26, 48, 143, 58, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 44, 177, 28, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 44, 158, 27, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 201, 91, 167, 28, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 201, 91, 167, 28, 85, 53, 30, 37, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 210, 0, 0, 1, 0, 47, 0, 58, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 229, 52, 141, 94, 114, 51, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 229, 52, 142, 40, 70, 52, 0, 0, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 229, 52, 141, 94, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 0, 126, 130, 40, 0, 52, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 251, 52, 159, 92, 85, 49, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 35, 71, 167, 98, 85, 49, 30, 37, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 210, 0, 0, 1, 26, 48, 112, 57, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 251, 52, 174, 104, 199, 48, 0, 0, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 251, 52, 159, 92, 226, 49, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 210, 0, 0, 1, 192, 49, 6, 57, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 14, 30, 209, 115, 58, 44, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 14, 30, 193, 102, 112, 46, 0, 0, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 14, 30, 209, 115, 85, 45, 30, 37, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 56, 37, 201, 109, 85, 45, 30, 37, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 228, 24, 124, 106, 36, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 228, 251, 114, 220, 59, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 80, 0, 1, 0, 52, 224, 56, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 130, 228, 24, 124, 0, 0, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 130, 228, 251, 114, 0, 60, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 176, 0, 0, 126, 0, 0, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 176, 0, 0, 126, 0, 60, 30, 37, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 158, 202, 221, 93, 49, 59, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 158, 202, 221, 105, 120, 59, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 130, 80, 0, 1, 31, 53, 6, 57, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 158, 202, 221, 105, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 158, 202, 221, 93, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 200, 219, 221, 99, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 200, 219, 221, 99, 85, 59, 30, 37, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 174, 179, 201, 77, 135, 58, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 174, 179, 199, 87, 206, 58, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 130, 80, 0, 1, 242, 53, 112, 57, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 174, 179, 201, 77, 170, 58, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 221, 185, 200, 82, 170, 58, 30, 37, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 130, 80, 0, 1, 63, 54, 0, 58, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 182, 157, 191, 57, 220, 57, 0, 0, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 182, 157, 175, 69, 35, 58, 0, 0, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 182, 157, 175, 69, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 0, 130, 176, 63, 0, 58, 30, 37, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 130, 80, 0, 1, 242, 53, 143, 58, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 182, 135, 211, 41, 49, 57, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 182, 135, 187, 48, 120, 57, 0, 0, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 182, 135, 211, 41, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 182, 135, 187, 48, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 55, 165, 200, 44, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 55, 165, 200, 44, 85, 57, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 96, 144, 208, 31, 170, 56, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 89, 186, 221, 27, 170, 56, 30, 37, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 130, 80, 0, 1, 31, 53, 249, 58, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 96, 144, 234, 23, 135, 56, 0, 0, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 96, 144, 208, 31, 206, 56, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 130, 80, 0, 1, 0, 52, 31, 59, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 127, 101, 19, 12, 185, 55, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 127, 101, 232, 9, 35, 56, 0, 0, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 127, 101, 19, 12, 0, 56, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 126, 46, 0, 1, 0, 56, 30, 37, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 130, 80, 0, 1, 192, 49, 249, 58, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 96, 112, 63, 24, 99, 54, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 96, 112, 47, 11, 241, 54, 0, 0, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 96, 112, 47, 11, 170, 54, 30, 37, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 89, 70, 55, 17, 170, 54, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 182, 121, 97, 34, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 182, 121, 82, 22, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 55, 91, 89, 28, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 55, 91, 89, 28, 85, 53, 30, 37, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 130, 80, 0, 1, 26, 48, 143, 58, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 182, 121, 97, 34, 14, 53, 0, 0, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 182, 121, 82, 22, 156, 53, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 130, 80, 0, 1, 0, 47, 0, 58, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 182, 99, 114, 86, 114, 51, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 182, 99, 115, 32, 70, 52, 0, 0, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 182, 99, 115, 32, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 182, 99, 114, 86, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 0, 127, 127, 40, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 0, 127, 127, 40, 0, 52, 30, 37, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 174, 77, 79, 98, 199, 48, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 174, 77, 98, 99, 226, 49, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 130, 80, 0, 1, 26, 48, 112, 57, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 174, 77, 79, 98, 85, 49, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 221, 71, 89, 98, 85, 49, 30, 37, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 158, 54, 42, 109, 58, 44, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 158, 54, 67, 109, 112, 46, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 130, 80, 0, 1, 192, 49, 6, 57, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 158, 54, 42, 109, 85, 45, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 200, 37, 55, 109, 85, 45, 30, 37 ), -"array_index_data": PoolByteArray( 104, 0, 31, 0, 108, 0, 104, 0, 65, 0, 31, 0, 31, 0, 113, 0, 108, 0, 31, 0, 35, 0, 113, 0, 6, 0, 26, 0, 4, 0, 6, 0, 29, 0, 26, 0, 35, 0, 118, 0, 112, 0, 35, 0, 39, 0, 118, 0, 33, 0, 6, 0, 8, 0, 33, 0, 29, 0, 6, 0, 39, 0, 122, 0, 117, 0, 39, 0, 41, 0, 122, 0, 37, 0, 8, 0, 10, 0, 37, 0, 33, 0, 8, 0, 41, 0, 127, 0, 122, 0, 41, 0, 44, 0, 127, 0, 47, 0, 10, 0, 12, 0, 47, 0, 37, 0, 10, 0, 43, 0, 130, 0, 126, 0, 43, 0, 55, 0, 130, 0, 49, 0, 12, 0, 13, 0, 49, 0, 47, 0, 12, 0, 49, 0, 15, 0, 53, 0, 49, 0, 13, 0, 15, 0, 55, 0, 134, 0, 130, 0, 55, 0, 59, 0, 134, 0, 59, 0, 138, 0, 134, 0, 59, 0, 93, 0, 138, 0, 52, 0, 17, 0, 57, 0, 52, 0, 15, 0, 17, 0, 93, 0, 143, 0, 138, 0, 93, 0, 68, 0, 143, 0, 19, 0, 57, 0, 17, 0, 19, 0, 87, 0, 57, 0, 67, 0, 148, 0, 142, 0, 67, 0, 75, 0, 148, 0, 21, 0, 87, 0, 19, 0, 21, 0, 71, 0, 87, 0, 147, 0, 81, 0, 96, 0, 147, 0, 75, 0, 81, 0, 73, 0, 21, 0, 23, 0, 73, 0, 71, 0, 21, 0, 0, 0, 73, 0, 23, 0, 0, 0, 78, 0, 73, 0, 22, 0, 2, 0, 24, 0, 2, 0, 5, 0, 3, 0, 5, 0, 9, 0, 7, 0, 9, 0, 14, 0, 11, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 5, 0, 2, 0, 5, 0, 14, 0, 9, 0, 14, 0, 22, 0, 18, 0, 5, 0, 22, 0, 14, 0, 25, 0, 165, 0, 160, 0, 25, 0, 28, 0, 165, 0, 28, 0, 170, 0, 165, 0, 28, 0, 32, 0, 170, 0, 32, 0, 175, 0, 170, 0, 32, 0, 36, 0, 175, 0, 36, 0, 180, 0, 175, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 185, 0, 40, 0, 191, 0, 185, 0, 61, 0, 40, 0, 40, 0, 195, 0, 190, 0, 40, 0, 38, 0, 195, 0, 38, 0, 204, 0, 194, 0, 38, 0, 34, 0, 204, 0, 34, 0, 209, 0, 204, 0, 34, 0, 30, 0, 209, 0, 30, 0, 214, 0, 209, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 85, 0, 160, 0, 151, 0, 85, 0, 25, 0, 160, 0, 62, 0, 31, 1, 42, 0, 62, 0, 221, 0, 31, 1, 54, 0, 232, 0, 50, 0, 54, 0, 239, 0, 232, 0, 58, 0, 238, 0, 54, 0, 58, 0, 245, 0, 238, 0, 58, 0, 251, 0, 246, 0, 58, 0, 88, 0, 251, 0, 1, 1, 88, 0, 92, 0, 1, 1, 251, 0, 88, 0, 2, 1, 95, 0, 8, 1, 2, 1, 92, 0, 95, 0, 60, 0, 21, 1, 16, 1, 60, 0, 56, 0, 21, 1, 56, 0, 23, 1, 21, 1, 56, 0, 45, 0, 23, 1, 23, 1, 42, 0, 31, 1, 23, 1, 45, 0, 42, 0, 222, 0, 48, 0, 224, 0, 222, 0, 63, 0, 48, 0, 48, 0, 232, 0, 224, 0, 48, 0, 51, 0, 232, 0, 37, 1, 94, 0, 90, 0, 37, 1, 101, 1, 94, 0, 55, 1, 80, 0, 62, 1, 55, 1, 74, 0, 80, 0, 64, 1, 80, 0, 27, 0, 64, 1, 61, 1, 80, 0, 27, 0, 72, 1, 64, 1, 27, 0, 86, 0, 72, 1, 77, 1, 86, 0, 66, 0, 77, 1, 72, 1, 86, 0, 66, 0, 81, 1, 77, 1, 66, 0, 83, 0, 81, 1, 83, 0, 90, 1, 80, 1, 83, 0, 77, 0, 90, 1, 91, 1, 69, 0, 96, 1, 91, 1, 76, 0, 69, 0, 94, 0, 96, 1, 70, 0, 94, 0, 101, 1, 96, 1, 38, 1, 89, 0, 44, 1, 38, 1, 91, 0, 89, 0, 106, 0, 111, 0, 110, 0, 106, 0, 107, 0, 111, 0, 115, 0, 121, 0, 120, 0, 115, 0, 116, 0, 121, 0, 120, 0, 125, 0, 123, 0, 120, 0, 121, 0, 125, 0, 128, 0, 135, 0, 132, 0, 128, 0, 131, 0, 135, 0, 136, 0, 144, 0, 140, 0, 136, 0, 139, 0, 144, 0, 140, 0, 149, 0, 145, 0, 140, 0, 144, 0, 149, 0, 100, 0, 103, 0, 102, 0, 100, 0, 98, 0, 103, 0, 102, 0, 107, 0, 106, 0, 102, 0, 103, 0, 107, 0, 110, 0, 116, 0, 115, 0, 110, 0, 111, 0, 116, 0, 123, 0, 131, 0, 128, 0, 123, 0, 125, 0, 131, 0, 132, 0, 139, 0, 136, 0, 132, 0, 135, 0, 139, 0, 98, 0, 145, 0, 149, 0, 98, 0, 100, 0, 145, 0, 119, 0, 109, 0, 114, 0, 109, 0, 101, 0, 105, 0, 101, 0, 146, 0, 99, 0, 146, 0, 137, 0, 141, 0, 137, 0, 129, 0, 133, 0, 129, 0, 119, 0, 124, 0, 119, 0, 101, 0, 109, 0, 101, 0, 137, 0, 146, 0, 137, 0, 119, 0, 129, 0, 101, 0, 119, 0, 137, 0, 155, 0, 161, 0, 158, 0, 155, 0, 153, 0, 161, 0, 157, 0, 166, 0, 163, 0, 157, 0, 161, 0, 166, 0, 162, 0, 171, 0, 168, 0, 162, 0, 166, 0, 171, 0, 167, 0, 176, 0, 173, 0, 167, 0, 171, 0, 176, 0, 172, 0, 181, 0, 178, 0, 172, 0, 176, 0, 181, 0, 198, 0, 205, 0, 202, 0, 198, 0, 196, 0, 205, 0, 152, 0, 211, 0, 215, 0, 152, 0, 154, 0, 211, 0, 177, 0, 186, 0, 183, 0, 177, 0, 181, 0, 186, 0, 187, 0, 197, 0, 199, 0, 187, 0, 192, 0, 197, 0, 201, 0, 210, 0, 207, 0, 201, 0, 205, 0, 210, 0, 206, 0, 215, 0, 212, 0, 206, 0, 210, 0, 215, 0, 182, 0, 193, 0, 188, 0, 182, 0, 186, 0, 193, 0, 179, 0, 169, 0, 174, 0, 169, 0, 159, 0, 164, 0, 159, 0, 213, 0, 156, 0, 213, 0, 203, 0, 208, 0, 203, 0, 189, 0, 200, 0, 189, 0, 179, 0, 184, 0, 179, 0, 159, 0, 169, 0, 159, 0, 203, 0, 213, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 229, 0, 237, 0, 235, 0, 229, 0, 231, 0, 237, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 3, 1, 13, 1, 11, 1, 3, 1, 7, 1, 13, 1, 10, 1, 20, 1, 19, 1, 10, 1, 14, 1, 20, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 252, 0, 6, 1, 4, 1, 252, 0, 0, 1, 6, 1, 218, 0, 223, 0, 227, 0, 218, 0, 220, 0, 223, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 240, 0, 250, 0, 248, 0, 240, 0, 244, 0, 250, 0, 12, 1, 254, 0, 5, 1, 254, 0, 242, 0, 249, 0, 242, 0, 228, 0, 233, 0, 228, 0, 216, 0, 225, 0, 216, 0, 24, 1, 27, 1, 24, 1, 12, 1, 17, 1, 12, 1, 242, 0, 254, 0, 242, 0, 216, 0, 228, 0, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 39, 1, 49, 1, 47, 1, 39, 1, 43, 1, 49, 1, 52, 1, 60, 1, 58, 1, 52, 1, 54, 1, 60, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 33, 1, 42, 1, 40, 1, 33, 1, 36, 1, 42, 1, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 74, 1, 79, 1, 84, 1, 74, 1, 76, 1, 79, 1, 86, 1, 95, 1, 93, 1, 86, 1, 89, 1, 95, 1, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 35, 1, 97, 1, 100, 1, 35, 1, 32, 1, 97, 1, 99, 1, 85, 1, 94, 1, 85, 1, 73, 1, 82, 1, 73, 1, 65, 1, 68, 1, 65, 1, 51, 1, 56, 1, 51, 1, 41, 1, 48, 1, 41, 1, 99, 1, 34, 1, 99, 1, 73, 1, 85, 1, 73, 1, 51, 1, 65, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 26, 0, 1, 0, 4, 0, 26, 0, 79, 0, 1, 0, 97, 0, 65, 0, 104, 0, 97, 0, 82, 0, 65, 0, 95, 0, 15, 1, 9, 1, 95, 0, 60, 0, 15, 1, 72, 0, 55, 1, 50, 1, 72, 0, 74, 0, 55, 1, 89, 0, 50, 1, 45, 1, 89, 0, 72, 0, 50, 1 ), -"blend_shape_data": [ ], -"format": 2194711, +_surfaces = [{ +"aabb": AABB(-0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064), +"attribute_data": PackedByteArray(0, 0, 160, 51, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 64, 63, 92, 143, 2, 63, 82, 184, 94, 63, 153, 202, 10, 63, 171, 170, 106, 63, 0, 0, 0, 63, 103, 53, 117, 63, 174, 71, 33, 63, 86, 85, 85, 63, 0, 0, 0, 63, 164, 112, 125, 63, 0, 0, 64, 63, 1, 0, 64, 63, 0, 0, 0, 63, 103, 53, 117, 63, 82, 184, 94, 63, 172, 170, 42, 63, 0, 0, 0, 63, 82, 184, 94, 63, 103, 53, 117, 63, 87, 85, 21, 63, 0, 0, 0, 63, 2, 0, 0, 63, 0, 0, 0, 63, 0, 0, 64, 63, 164, 112, 125, 63, 89, 85, 213, 62, 0, 0, 0, 63, 174, 71, 33, 63, 103, 53, 117, 63, 174, 170, 170, 62, 0, 0, 0, 63, 153, 202, 10, 63, 82, 184, 94, 63, 3, 0, 128, 62, 0, 0, 0, 63, 92, 143, 2, 63, 0, 0, 64, 63, 176, 170, 42, 62, 0, 0, 0, 63, 153, 202, 10, 63, 174, 71, 33, 63, 181, 170, 170, 61, 0, 0, 0, 63, 174, 71, 33, 63, 153, 202, 10, 63, 171, 170, 106, 63, 50, 51, 243, 62, 171, 170, 106, 63, 160, 170, 42, 61, 87, 85, 21, 63, 52, 51, 243, 62, 86, 85, 85, 63, 106, 212, 233, 62, 86, 85, 85, 63, 112, 167, 67, 61, 176, 170, 42, 62, 106, 212, 233, 62, 86, 85, 85, 63, 64, 211, 154, 60, 1, 0, 64, 63, 102, 102, 230, 62, 1, 0, 64, 63, 192, 204, 76, 61, 3, 0, 128, 62, 102, 102, 230, 62, 0, 0, 64, 63, 160, 136, 136, 60, 172, 170, 42, 63, 106, 212, 233, 62, 172, 170, 42, 63, 112, 167, 67, 61, 174, 170, 170, 62, 106, 212, 233, 62, 172, 170, 42, 63, 96, 211, 154, 60, 89, 85, 213, 62, 50, 51, 243, 62, 87, 85, 21, 63, 224, 204, 204, 60, 181, 170, 170, 61, 52, 51, 243, 62, 2, 0, 0, 63, 64, 211, 154, 60, 2, 0, 0, 63, 96, 211, 154, 60, 176, 170, 42, 62, 106, 212, 233, 62, 87, 85, 21, 63, 52, 51, 243, 62, 86, 85, 21, 63, 176, 170, 42, 61, 171, 170, 106, 63, 50, 51, 243, 62, 2, 0, 0, 63, 128, 167, 67, 61, 85, 85, 85, 63, 106, 212, 233, 62, 86, 85, 85, 63, 106, 212, 233, 62, 89, 85, 213, 62, 192, 204, 76, 61, 90, 85, 213, 62, 192, 204, 76, 61, 0, 0, 64, 63, 104, 102, 230, 62, 89, 85, 213, 62, 160, 136, 136, 60, 3, 0, 128, 62, 104, 102, 230, 62, 175, 170, 170, 62, 112, 167, 67, 61, 172, 170, 42, 63, 106, 212, 233, 62, 174, 170, 170, 62, 64, 211, 154, 60, 174, 170, 170, 62, 108, 212, 233, 62, 2, 0, 0, 63, 72, 56, 241, 62, 0, 0, 160, 51, 72, 56, 241, 62, 0, 0, 128, 63, 74, 56, 241, 62, 181, 170, 170, 61, 52, 51, 243, 62, 170, 170, 106, 63, 224, 204, 204, 60, 89, 85, 213, 62, 50, 51, 243, 62, 176, 170, 42, 62, 64, 211, 154, 60, 176, 170, 42, 62, 96, 211, 154, 60, 176, 170, 42, 62, 104, 212, 233, 62, 176, 170, 42, 62, 106, 212, 233, 62, 176, 170, 42, 62, 128, 167, 67, 61, 86, 85, 85, 63, 108, 212, 233, 62, 181, 170, 170, 61, 208, 204, 76, 61, 0, 0, 64, 63, 102, 102, 230, 62, 181, 170, 170, 61, 160, 136, 136, 60, 3, 0, 128, 62, 102, 102, 230, 62, 3, 0, 128, 62, 104, 102, 230, 62, 0, 0, 160, 51, 128, 167, 67, 61, 0, 0, 128, 63, 128, 167, 67, 61, 172, 170, 42, 63, 106, 212, 233, 62, 0, 0, 160, 51, 96, 211, 154, 60, 0, 0, 128, 63, 20, 38, 145, 62, 174, 170, 170, 62, 106, 212, 233, 62, 0, 0, 160, 51, 72, 56, 241, 62, 0, 0, 128, 63, 72, 56, 241, 62, 2, 0, 0, 63, 74, 56, 241, 62, 3, 0, 128, 62, 160, 170, 42, 61, 87, 85, 21, 63, 50, 51, 243, 62, 171, 170, 106, 63, 52, 51, 243, 62, 0, 0, 160, 51, 68, 56, 241, 62, 0, 0, 128, 63, 70, 56, 241, 62, 2, 0, 0, 63, 70, 56, 241, 62, 3, 0, 128, 62, 224, 204, 204, 60, 180, 170, 170, 61, 52, 51, 243, 62, 89, 85, 213, 62, 52, 51, 243, 62, 0, 0, 160, 51, 128, 116, 218, 59, 0, 0, 128, 63, 224, 204, 204, 61, 0, 0, 128, 62, 92, 143, 2, 63, 255, 255, 127, 62, 192, 0, 28, 63, 255, 255, 127, 62, 192, 0, 28, 63, 61, 255, 163, 62, 92, 211, 32, 63, 61, 255, 163, 62, 92, 211, 32, 63, 164, 112, 189, 62, 153, 202, 10, 63, 170, 170, 106, 63, 0, 116, 218, 59, 71, 89, 190, 62, 98, 0, 46, 63, 71, 89, 190, 62, 98, 0, 46, 63, 206, 106, 234, 62, 174, 71, 33, 63, 86, 85, 85, 63, 0, 116, 218, 59, 126, 254, 199, 62, 0, 0, 64, 63, 126, 254, 199, 62, 0, 0, 64, 63, 72, 225, 250, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 116, 218, 59, 1, 0, 64, 63, 0, 116, 218, 59, 72, 89, 190, 62, 160, 255, 81, 63, 72, 89, 190, 62, 160, 255, 81, 63, 206, 106, 234, 62, 82, 184, 94, 63, 172, 170, 42, 63, 0, 116, 218, 59, 172, 170, 42, 63, 128, 116, 218, 59, 62, 255, 163, 62, 163, 44, 95, 63, 62, 255, 163, 62, 163, 44, 95, 63, 164, 112, 189, 62, 103, 53, 117, 63, 87, 85, 21, 63, 0, 116, 218, 59, 1, 0, 128, 62, 63, 255, 99, 63, 1, 0, 128, 62, 63, 255, 99, 63, 0, 0, 128, 62, 164, 112, 125, 63, 2, 0, 0, 63, 0, 116, 218, 59, 2, 0, 0, 63, 128, 116, 218, 59, 130, 1, 56, 62, 163, 44, 95, 63, 130, 1, 56, 62, 163, 44, 95, 63, 90, 85, 213, 62, 0, 116, 218, 59, 184, 30, 5, 62, 103, 53, 117, 63, 116, 77, 3, 62, 160, 255, 81, 63, 116, 77, 3, 62, 160, 255, 81, 63, 174, 170, 170, 62, 0, 116, 218, 59, 144, 169, 44, 61, 82, 184, 94, 63, 9, 6, 224, 61, 0, 0, 64, 63, 9, 6, 224, 61, 0, 0, 64, 63, 3, 0, 128, 62, 0, 116, 218, 59, 16, 215, 35, 60, 0, 0, 64, 63, 115, 77, 3, 62, 97, 0, 46, 63, 115, 77, 3, 62, 97, 0, 46, 63, 176, 170, 42, 62, 0, 116, 218, 59, 176, 170, 42, 62, 128, 116, 218, 59, 144, 169, 44, 61, 174, 71, 33, 63, 131, 1, 56, 62, 92, 211, 32, 63, 131, 1, 56, 62, 92, 211, 32, 63, 181, 170, 170, 61, 0, 116, 218, 59, 182, 170, 170, 61, 0, 116, 218, 59, 184, 30, 5, 62, 153, 202, 10, 63, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 65, 89, 141, 60, 0, 0, 0, 0, 49, 149, 123, 63, 0, 0, 0, 0, 255, 255, 127, 62, 194, 0, 28, 63, 220, 63, 102, 63, 0, 0, 0, 0, 122, 21, 111, 63, 0, 0, 0, 0, 64, 255, 163, 62, 92, 211, 32, 63, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 134, 234, 80, 63, 0, 0, 0, 0, 33, 192, 89, 63, 0, 0, 0, 0, 80, 89, 190, 62, 101, 0, 46, 63, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 55, 149, 59, 63, 0, 0, 0, 0, 203, 106, 68, 63, 0, 0, 0, 0, 130, 254, 199, 62, 0, 0, 64, 63, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 224, 63, 38, 63, 0, 0, 0, 0, 124, 21, 47, 63, 0, 0, 0, 0, 80, 89, 190, 62, 155, 255, 81, 63, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 64, 255, 163, 62, 163, 44, 95, 63, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 102, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 0, 0, 128, 62, 63, 255, 99, 63, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 187, 127, 204, 62, 0, 0, 0, 0, 248, 42, 222, 62, 0, 0, 0, 0, 126, 1, 56, 62, 163, 44, 95, 63, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 10, 213, 161, 62, 0, 0, 0, 0, 68, 128, 179, 62, 0, 0, 0, 0, 93, 77, 3, 62, 156, 255, 81, 63, 230, 84, 110, 62, 0, 0, 0, 0, 147, 213, 136, 62, 0, 0, 0, 0, 248, 5, 224, 61, 0, 0, 64, 63, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 132, 255, 24, 62, 0, 0, 0, 0, 248, 85, 60, 62, 0, 0, 0, 0, 94, 77, 3, 62, 100, 0, 46, 63, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 110, 84, 135, 61, 0, 0, 0, 0, 47, 1, 206, 61, 0, 0, 0, 0, 126, 1, 56, 62, 92, 211, 32, 63, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60, 0, 0, 128, 62, 192, 0, 28, 63, 65, 89, 141, 60, 0, 0, 0, 0, 55, 149, 123, 63, 0, 0, 0, 0, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 65, 255, 163, 62, 93, 211, 32, 63, 220, 63, 102, 63, 0, 0, 0, 0, 116, 21, 111, 63, 0, 0, 0, 0, 82, 89, 190, 62, 100, 0, 46, 63, 132, 234, 80, 63, 0, 0, 0, 0, 33, 192, 89, 63, 0, 0, 0, 0, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 130, 254, 199, 62, 0, 0, 64, 63, 58, 149, 59, 63, 0, 0, 0, 0, 203, 106, 68, 63, 0, 0, 0, 0, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 32, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 32, 215, 163, 60, 220, 63, 38, 63, 0, 0, 0, 0, 128, 21, 47, 63, 0, 0, 0, 0, 82, 89, 190, 62, 156, 255, 81, 63, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 64, 255, 163, 62, 164, 44, 95, 63, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 102, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 253, 255, 127, 62, 64, 255, 99, 63, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 32, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 32, 215, 163, 60, 201, 127, 204, 62, 0, 0, 0, 0, 248, 42, 222, 62, 0, 0, 0, 0, 126, 1, 56, 62, 164, 44, 95, 63, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 6, 213, 161, 62, 0, 0, 0, 0, 70, 128, 179, 62, 0, 0, 0, 0, 94, 77, 3, 62, 156, 255, 81, 63, 174, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 32, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 32, 215, 163, 60, 248, 5, 224, 61, 0, 0, 64, 63, 222, 84, 110, 62, 0, 0, 0, 0, 147, 213, 136, 62, 0, 0, 0, 0, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 94, 77, 3, 62, 100, 0, 46, 63, 145, 255, 24, 62, 0, 0, 0, 0, 248, 85, 60, 62, 0, 0, 0, 0, 126, 1, 56, 62, 94, 211, 32, 63, 110, 84, 135, 61, 0, 0, 0, 0, 21, 1, 206, 61, 0, 0, 0, 0, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60, 14, 90, 141, 60, 0, 0, 0, 0, 55, 149, 123, 63, 0, 0, 0, 0, 0, 0, 128, 62, 193, 0, 28, 63, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 32, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 32, 215, 163, 60, 220, 63, 102, 63, 0, 0, 0, 0, 116, 21, 111, 63, 0, 0, 0, 0, 65, 255, 163, 62, 94, 211, 32, 63, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 32, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 32, 215, 163, 60, 130, 234, 80, 63, 0, 0, 0, 0, 29, 192, 89, 63, 0, 0, 0, 0, 82, 89, 190, 62, 100, 0, 46, 63, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 129, 254, 199, 62, 0, 0, 64, 63, 55, 149, 59, 63, 0, 0, 0, 0, 201, 106, 68, 63, 0, 0, 0, 0, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 79, 89, 190, 62, 155, 255, 81, 63, 224, 63, 38, 63, 0, 0, 0, 0, 126, 21, 47, 63, 0, 0, 0, 0, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 63, 255, 163, 62, 163, 44, 95, 63, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 0, 0, 128, 62, 63, 255, 99, 63, 114, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 127, 1, 56, 62, 162, 44, 95, 63, 187, 127, 204, 62, 0, 0, 0, 0, 235, 42, 222, 62, 0, 0, 0, 0, 90, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 94, 77, 3, 62, 155, 255, 81, 63, 9, 213, 161, 62, 0, 0, 0, 0, 60, 128, 179, 62, 0, 0, 0, 0, 248, 5, 224, 61, 0, 0, 64, 63, 222, 84, 110, 62, 0, 0, 0, 0, 148, 213, 136, 62, 0, 0, 0, 0, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 32, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 32, 215, 163, 60, 145, 255, 24, 62, 0, 0, 0, 0, 240, 85, 60, 62, 0, 0, 0, 0, 94, 77, 3, 62, 100, 0, 46, 63, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 60, 84, 135, 61, 0, 0, 0, 0, 245, 0, 206, 61, 0, 0, 0, 0, 126, 1, 56, 62, 93, 211, 32, 63, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60), +"format": 4119, "index_count": 798, -"material": ExtResource( 2 ), -"primitive": 4, -"skeleton_aabb": [ ], -"vertex_count": 358 -} +"index_data": PackedByteArray(104, 0, 31, 0, 108, 0, 104, 0, 65, 0, 31, 0, 31, 0, 113, 0, 108, 0, 31, 0, 35, 0, 113, 0, 6, 0, 26, 0, 4, 0, 6, 0, 29, 0, 26, 0, 35, 0, 118, 0, 112, 0, 35, 0, 39, 0, 118, 0, 33, 0, 6, 0, 8, 0, 33, 0, 29, 0, 6, 0, 39, 0, 122, 0, 117, 0, 39, 0, 41, 0, 122, 0, 37, 0, 8, 0, 10, 0, 37, 0, 33, 0, 8, 0, 41, 0, 127, 0, 122, 0, 41, 0, 44, 0, 127, 0, 47, 0, 10, 0, 12, 0, 47, 0, 37, 0, 10, 0, 43, 0, 130, 0, 126, 0, 43, 0, 55, 0, 130, 0, 49, 0, 12, 0, 13, 0, 49, 0, 47, 0, 12, 0, 49, 0, 15, 0, 53, 0, 49, 0, 13, 0, 15, 0, 55, 0, 134, 0, 130, 0, 55, 0, 59, 0, 134, 0, 59, 0, 138, 0, 134, 0, 59, 0, 93, 0, 138, 0, 52, 0, 17, 0, 57, 0, 52, 0, 15, 0, 17, 0, 93, 0, 143, 0, 138, 0, 93, 0, 68, 0, 143, 0, 19, 0, 57, 0, 17, 0, 19, 0, 87, 0, 57, 0, 67, 0, 148, 0, 142, 0, 67, 0, 75, 0, 148, 0, 21, 0, 87, 0, 19, 0, 21, 0, 71, 0, 87, 0, 147, 0, 81, 0, 96, 0, 147, 0, 75, 0, 81, 0, 73, 0, 21, 0, 23, 0, 73, 0, 71, 0, 21, 0, 0, 0, 73, 0, 23, 0, 0, 0, 78, 0, 73, 0, 22, 0, 2, 0, 24, 0, 2, 0, 5, 0, 3, 0, 5, 0, 9, 0, 7, 0, 9, 0, 14, 0, 11, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 5, 0, 2, 0, 5, 0, 14, 0, 9, 0, 14, 0, 22, 0, 18, 0, 5, 0, 22, 0, 14, 0, 25, 0, 165, 0, 160, 0, 25, 0, 28, 0, 165, 0, 28, 0, 170, 0, 165, 0, 28, 0, 32, 0, 170, 0, 32, 0, 175, 0, 170, 0, 32, 0, 36, 0, 175, 0, 36, 0, 180, 0, 175, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 185, 0, 40, 0, 191, 0, 185, 0, 61, 0, 40, 0, 40, 0, 195, 0, 190, 0, 40, 0, 38, 0, 195, 0, 38, 0, 204, 0, 194, 0, 38, 0, 34, 0, 204, 0, 34, 0, 209, 0, 204, 0, 34, 0, 30, 0, 209, 0, 30, 0, 214, 0, 209, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 85, 0, 160, 0, 151, 0, 85, 0, 25, 0, 160, 0, 62, 0, 31, 1, 42, 0, 62, 0, 221, 0, 31, 1, 54, 0, 232, 0, 50, 0, 54, 0, 239, 0, 232, 0, 58, 0, 238, 0, 54, 0, 58, 0, 245, 0, 238, 0, 58, 0, 251, 0, 246, 0, 58, 0, 88, 0, 251, 0, 1, 1, 88, 0, 92, 0, 1, 1, 251, 0, 88, 0, 2, 1, 95, 0, 8, 1, 2, 1, 92, 0, 95, 0, 60, 0, 21, 1, 16, 1, 60, 0, 56, 0, 21, 1, 56, 0, 23, 1, 21, 1, 56, 0, 45, 0, 23, 1, 23, 1, 42, 0, 31, 1, 23, 1, 45, 0, 42, 0, 222, 0, 48, 0, 224, 0, 222, 0, 63, 0, 48, 0, 48, 0, 232, 0, 224, 0, 48, 0, 51, 0, 232, 0, 37, 1, 94, 0, 90, 0, 37, 1, 101, 1, 94, 0, 55, 1, 80, 0, 62, 1, 55, 1, 74, 0, 80, 0, 64, 1, 80, 0, 27, 0, 64, 1, 61, 1, 80, 0, 27, 0, 72, 1, 64, 1, 27, 0, 86, 0, 72, 1, 77, 1, 86, 0, 66, 0, 77, 1, 72, 1, 86, 0, 66, 0, 81, 1, 77, 1, 66, 0, 83, 0, 81, 1, 83, 0, 90, 1, 80, 1, 83, 0, 77, 0, 90, 1, 91, 1, 69, 0, 96, 1, 91, 1, 76, 0, 69, 0, 94, 0, 96, 1, 70, 0, 94, 0, 101, 1, 96, 1, 38, 1, 89, 0, 44, 1, 38, 1, 91, 0, 89, 0, 106, 0, 111, 0, 110, 0, 106, 0, 107, 0, 111, 0, 115, 0, 121, 0, 120, 0, 115, 0, 116, 0, 121, 0, 120, 0, 125, 0, 123, 0, 120, 0, 121, 0, 125, 0, 128, 0, 135, 0, 132, 0, 128, 0, 131, 0, 135, 0, 136, 0, 144, 0, 140, 0, 136, 0, 139, 0, 144, 0, 140, 0, 149, 0, 145, 0, 140, 0, 144, 0, 149, 0, 100, 0, 103, 0, 102, 0, 100, 0, 98, 0, 103, 0, 102, 0, 107, 0, 106, 0, 102, 0, 103, 0, 107, 0, 110, 0, 116, 0, 115, 0, 110, 0, 111, 0, 116, 0, 123, 0, 131, 0, 128, 0, 123, 0, 125, 0, 131, 0, 132, 0, 139, 0, 136, 0, 132, 0, 135, 0, 139, 0, 98, 0, 145, 0, 149, 0, 98, 0, 100, 0, 145, 0, 119, 0, 109, 0, 114, 0, 109, 0, 101, 0, 105, 0, 101, 0, 146, 0, 99, 0, 146, 0, 137, 0, 141, 0, 137, 0, 129, 0, 133, 0, 129, 0, 119, 0, 124, 0, 119, 0, 101, 0, 109, 0, 101, 0, 137, 0, 146, 0, 137, 0, 119, 0, 129, 0, 101, 0, 119, 0, 137, 0, 155, 0, 161, 0, 158, 0, 155, 0, 153, 0, 161, 0, 157, 0, 166, 0, 163, 0, 157, 0, 161, 0, 166, 0, 162, 0, 171, 0, 168, 0, 162, 0, 166, 0, 171, 0, 167, 0, 176, 0, 173, 0, 167, 0, 171, 0, 176, 0, 172, 0, 181, 0, 178, 0, 172, 0, 176, 0, 181, 0, 198, 0, 205, 0, 202, 0, 198, 0, 196, 0, 205, 0, 152, 0, 211, 0, 215, 0, 152, 0, 154, 0, 211, 0, 177, 0, 186, 0, 183, 0, 177, 0, 181, 0, 186, 0, 187, 0, 197, 0, 199, 0, 187, 0, 192, 0, 197, 0, 201, 0, 210, 0, 207, 0, 201, 0, 205, 0, 210, 0, 206, 0, 215, 0, 212, 0, 206, 0, 210, 0, 215, 0, 182, 0, 193, 0, 188, 0, 182, 0, 186, 0, 193, 0, 179, 0, 169, 0, 174, 0, 169, 0, 159, 0, 164, 0, 159, 0, 213, 0, 156, 0, 213, 0, 203, 0, 208, 0, 203, 0, 189, 0, 200, 0, 189, 0, 179, 0, 184, 0, 179, 0, 159, 0, 169, 0, 159, 0, 203, 0, 213, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 229, 0, 237, 0, 235, 0, 229, 0, 231, 0, 237, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 3, 1, 13, 1, 11, 1, 3, 1, 7, 1, 13, 1, 10, 1, 20, 1, 19, 1, 10, 1, 14, 1, 20, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 252, 0, 6, 1, 4, 1, 252, 0, 0, 1, 6, 1, 218, 0, 223, 0, 227, 0, 218, 0, 220, 0, 223, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 240, 0, 250, 0, 248, 0, 240, 0, 244, 0, 250, 0, 12, 1, 254, 0, 5, 1, 254, 0, 242, 0, 249, 0, 242, 0, 228, 0, 233, 0, 228, 0, 216, 0, 225, 0, 216, 0, 24, 1, 27, 1, 24, 1, 12, 1, 17, 1, 12, 1, 242, 0, 254, 0, 242, 0, 216, 0, 228, 0, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 39, 1, 49, 1, 47, 1, 39, 1, 43, 1, 49, 1, 52, 1, 60, 1, 58, 1, 52, 1, 54, 1, 60, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 33, 1, 42, 1, 40, 1, 33, 1, 36, 1, 42, 1, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 74, 1, 79, 1, 84, 1, 74, 1, 76, 1, 79, 1, 86, 1, 95, 1, 93, 1, 86, 1, 89, 1, 95, 1, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 35, 1, 97, 1, 100, 1, 35, 1, 32, 1, 97, 1, 99, 1, 85, 1, 94, 1, 85, 1, 73, 1, 82, 1, 73, 1, 65, 1, 68, 1, 65, 1, 51, 1, 56, 1, 51, 1, 41, 1, 48, 1, 41, 1, 99, 1, 34, 1, 99, 1, 73, 1, 85, 1, 73, 1, 51, 1, 65, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 26, 0, 1, 0, 4, 0, 26, 0, 79, 0, 1, 0, 97, 0, 65, 0, 104, 0, 97, 0, 82, 0, 65, 0, 95, 0, 15, 1, 9, 1, 95, 0, 60, 0, 15, 1, 72, 0, 55, 1, 50, 1, 72, 0, 74, 0, 55, 1, 89, 0, 50, 1, 45, 1, 89, 0, 72, 0, 50, 1), +"lods": [0.016668, PackedByteArray(126, 0, 65, 0, 31, 0, 31, 0, 41, 0, 126, 0, 41, 0, 43, 0, 126, 0, 43, 0, 93, 0, 126, 0, 93, 0, 67, 0, 126, 0, 126, 0, 67, 0, 81, 0, 126, 0, 81, 0, 96, 0, 97, 0, 65, 0, 126, 0, 97, 0, 82, 0, 65, 0, 19, 0, 37, 0, 26, 0, 47, 0, 37, 0, 19, 0, 26, 0, 79, 0, 1, 0, 26, 0, 1, 0, 19, 0, 57, 0, 47, 0, 19, 0, 19, 0, 87, 0, 57, 0, 19, 0, 71, 0, 87, 0, 0, 0, 71, 0, 19, 0, 0, 0, 78, 0, 71, 0, 25, 0, 165, 0, 160, 0, 85, 0, 25, 0, 160, 0, 85, 0, 160, 0, 151, 0, 155, 0, 151, 0, 160, 0, 155, 0, 160, 0, 158, 0, 157, 0, 160, 0, 165, 0, 157, 0, 165, 0, 163, 0, 25, 0, 36, 0, 165, 0, 36, 0, 170, 0, 165, 0, 162, 0, 165, 0, 170, 0, 162, 0, 170, 0, 168, 0, 36, 0, 175, 0, 170, 0, 167, 0, 170, 0, 175, 0, 167, 0, 175, 0, 173, 0, 36, 0, 180, 0, 175, 0, 172, 0, 175, 0, 180, 0, 172, 0, 180, 0, 178, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 177, 0, 180, 0, 185, 0, 177, 0, 185, 0, 183, 0, 185, 0, 61, 0, 40, 0, 185, 0, 40, 0, 190, 0, 182, 0, 185, 0, 190, 0, 182, 0, 190, 0, 188, 0, 40, 0, 194, 0, 190, 0, 187, 0, 190, 0, 194, 0, 187, 0, 194, 0, 199, 0, 40, 0, 30, 0, 194, 0, 30, 0, 204, 0, 194, 0, 198, 0, 194, 0, 204, 0, 198, 0, 204, 0, 202, 0, 30, 0, 209, 0, 204, 0, 201, 0, 204, 0, 209, 0, 201, 0, 209, 0, 207, 0, 30, 0, 214, 0, 209, 0, 206, 0, 209, 0, 214, 0, 206, 0, 214, 0, 212, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 150, 0, 211, 0, 214, 0, 150, 0, 154, 0, 211, 0, 62, 0, 30, 1, 42, 0, 62, 0, 219, 0, 30, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 22, 1, 42, 0, 30, 1, 22, 1, 45, 0, 42, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 45, 0, 22, 1, 20, 1, 10, 1, 20, 1, 19, 1, 10, 1, 13, 1, 20, 1, 45, 0, 20, 1, 13, 1, 95, 0, 45, 0, 13, 1, 3, 1, 13, 1, 11, 1, 3, 1, 6, 1, 13, 1, 95, 0, 13, 1, 6, 1, 252, 0, 6, 1, 4, 1, 252, 0, 255, 0, 6, 1, 255, 0, 95, 0, 6, 1, 255, 0, 92, 0, 95, 0, 255, 0, 88, 0, 92, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 255, 0, 250, 0, 88, 0, 58, 0, 88, 0, 250, 0, 240, 0, 250, 0, 248, 0, 240, 0, 243, 0, 250, 0, 58, 0, 250, 0, 243, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 58, 0, 243, 0, 236, 0, 229, 0, 236, 0, 235, 0, 229, 0, 231, 0, 236, 0, 58, 0, 236, 0, 231, 0, 48, 0, 58, 0, 231, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 48, 0, 231, 0, 223, 0, 220, 0, 48, 0, 223, 0, 220, 0, 63, 0, 48, 0, 218, 0, 220, 0, 223, 0, 218, 0, 223, 0, 227, 0, 35, 1, 94, 0, 90, 0, 35, 1, 32, 1, 97, 1, 35, 1, 97, 1, 100, 1, 35, 1, 100, 1, 94, 0, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 94, 0, 100, 1, 95, 1, 94, 0, 95, 1, 69, 0, 86, 1, 95, 1, 93, 1, 86, 1, 88, 1, 95, 1, 88, 1, 69, 0, 95, 1, 83, 0, 69, 0, 88, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 83, 0, 88, 1, 78, 1, 66, 0, 83, 0, 78, 1, 74, 1, 78, 1, 84, 1, 74, 1, 76, 1, 78, 1, 66, 0, 78, 1, 76, 1, 76, 1, 86, 0, 66, 0, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 76, 1, 71, 1, 86, 0, 27, 0, 86, 0, 71, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 27, 0, 71, 1, 63, 1, 63, 1, 80, 0, 27, 0, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 63, 1, 59, 1, 80, 0, 52, 1, 59, 1, 58, 1, 52, 1, 54, 1, 59, 1, 54, 1, 80, 0, 59, 1, 54, 1, 72, 0, 80, 0, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 72, 0, 54, 1, 49, 1, 89, 0, 72, 0, 49, 1, 39, 1, 49, 1, 47, 1, 39, 1, 42, 1, 49, 1, 89, 0, 49, 1, 42, 1, 36, 1, 89, 0, 42, 1, 36, 1, 91, 0, 89, 0, 33, 1, 36, 1, 42, 1, 33, 1, 42, 1, 40, 1, 179, 0, 169, 0, 174, 0, 179, 0, 159, 0, 169, 0, 169, 0, 159, 0, 164, 0, 189, 0, 179, 0, 184, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 203, 0, 189, 0, 200, 0, 159, 0, 203, 0, 213, 0, 213, 0, 203, 0, 208, 0, 159, 0, 213, 0, 156, 0, 12, 1, 254, 0, 5, 1, 12, 1, 242, 0, 254, 0, 254, 0, 242, 0, 249, 0, 24, 1, 12, 1, 17, 1, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 216, 0, 24, 1, 27, 1, 242, 0, 216, 0, 228, 0, 228, 0, 216, 0, 225, 0, 242, 0, 228, 0, 233, 0, 99, 1, 85, 1, 94, 1, 99, 1, 73, 1, 85, 1, 85, 1, 73, 1, 82, 1, 41, 1, 99, 1, 34, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 51, 1, 41, 1, 48, 1, 73, 1, 51, 1, 65, 1, 65, 1, 51, 1, 56, 1, 73, 1, 65, 1, 68, 1)], +"material": SubResource("StandardMaterial3D_hqk2h"), +"primitive": 3, +"vertex_count": 358, +"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 0, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 0, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 255, 255, 37, 209, 0, 0, 146, 168, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 255, 255, 217, 174, 0, 0, 108, 151, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 255, 255, 255, 127, 255, 255, 255, 127, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 37, 209, 255, 127, 255, 255, 108, 151, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 255, 127, 0, 0, 254, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 217, 174, 255, 127, 255, 255, 146, 168, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 217, 46, 255, 127, 217, 174, 255, 191, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 0, 0, 217, 174, 37, 81, 255, 191, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 0, 0, 37, 209, 217, 46, 255, 191, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 255, 127, 0, 0, 254, 255, 255, 63, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 206, 212, 0, 0, 47, 171, 254, 255, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 255, 255, 37, 209, 0, 0, 108, 215, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 60, 221, 28, 59, 181, 94, 64, 154, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 83, 179, 0, 0, 83, 51, 254, 255, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 255, 255, 83, 179, 0, 0, 169, 153, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 83, 179, 255, 255, 255, 127, 169, 217, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 255, 255, 83, 179, 0, 0, 85, 230, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 255, 127, 0, 0, 0, 0, 255, 255, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 255, 255, 255, 127, 255, 255, 255, 127, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 255, 127, 255, 255, 255, 127, 255, 191, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 255, 127, 83, 51, 83, 51, 255, 127, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 171, 204, 255, 127, 254, 255, 169, 153, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 171, 204, 255, 127, 85, 166, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 171, 204, 255, 127, 254, 255, 85, 230, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 47, 171, 255, 127, 151, 149, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 28, 187, 193, 162, 124, 75, 89, 239, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 2, 188, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 2, 188, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 194, 166, 218, 194, 25, 42, 196, 228, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 255, 127, 207, 84, 207, 84, 255, 127, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 28, 187, 61, 93, 73, 161, 189, 229, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 251, 195, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 194, 166, 36, 61, 116, 182, 11, 213, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 194, 166, 36, 61, 116, 182, 11, 213, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 255, 127, 0, 0, 37, 209, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 255, 127, 254, 255, 0, 0, 146, 168, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 53, 42, 255, 127, 53, 170, 255, 191, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 219, 66, 195, 38, 116, 182, 242, 170, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 53, 42, 255, 127, 53, 170, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 219, 66, 59, 217, 25, 42, 58, 155, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 255, 127, 255, 127, 255, 127, 255, 127, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 37, 209, 255, 127, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 37, 209, 255, 127, 255, 127, 254, 255, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 206, 212, 255, 255, 255, 127, 102, 234, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 255, 255, 37, 209, 226, 46, 72, 230, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 60, 221, 226, 196, 130, 180, 164, 144, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 0, 0, 201, 85, 201, 85, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 0, 0, 201, 85, 201, 85, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 60, 89, 218, 194, 229, 213, 196, 228, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 60, 89, 218, 194, 229, 213, 196, 228, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 0, 0, 53, 170, 201, 85, 255, 191, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 60, 89, 36, 61, 138, 73, 11, 213, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 0, 0, 37, 209, 217, 46, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 255, 127, 0, 0, 217, 46, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 255, 127, 254, 255, 255, 255, 146, 168, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 255, 127, 254, 255, 254, 255, 146, 168, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 255, 255, 5, 248, 0, 0, 2, 188, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 255, 255, 5, 248, 0, 0, 252, 195, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 35, 189, 195, 38, 138, 73, 242, 170, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 255, 255, 249, 7, 0, 0, 2, 188, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 255, 255, 249, 7, 90, 92, 72, 239, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 35, 189, 59, 217, 229, 213, 58, 155, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 254, 255, 217, 174, 255, 127, 255, 127, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 194, 34, 28, 59, 73, 161, 64, 154, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 226, 68, 61, 93, 181, 94, 189, 229, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 217, 46, 255, 127, 255, 127, 254, 255, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 217, 46, 255, 127, 255, 127, 254, 255, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 0, 0, 217, 174, 255, 127, 255, 127, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 0, 0, 255, 127, 255, 127, 255, 191, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 226, 68, 193, 162, 130, 180, 89, 239, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 194, 34, 226, 196, 124, 75, 164, 144, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 109, 110, 54, 247, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 227, 190, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 255, 127, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 227, 190, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 255, 127, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 207, 200, 88, 229, 58, 214, 122, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 207, 200, 88, 229, 58, 214, 122, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 255, 255, 37, 209, 85, 51, 177, 231, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 255, 127, 254, 255, 254, 255, 255, 191, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 207, 200, 213, 209, 167, 197, 229, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 207, 200, 213, 209, 167, 197, 229, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 255, 255, 217, 174, 0, 0, 146, 232, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 255, 127, 254, 255, 254, 255, 255, 191, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 227, 190, 27, 193, 27, 193, 141, 160, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 227, 190, 27, 193, 27, 193, 141, 160, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 255, 127, 254, 255, 254, 255, 255, 191, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 41, 174, 46, 183, 204, 197, 211, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 41, 174, 46, 183, 204, 197, 211, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 37, 209, 255, 127, 255, 255, 146, 232, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 37, 209, 255, 127, 254, 255, 108, 151, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 255, 127, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 166, 154, 46, 183, 245, 214, 29, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 166, 154, 46, 183, 245, 214, 29, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 255, 127, 27, 193, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 255, 127, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 27, 193, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 88, 101, 46, 183, 58, 214, 132, 212, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 88, 101, 46, 183, 58, 214, 132, 212, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 213, 81, 46, 183, 167, 197, 24, 221, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 255, 127, 254, 255, 254, 255, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 217, 46, 255, 127, 217, 174, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 213, 81, 46, 183, 167, 197, 24, 221, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 27, 65, 27, 193, 27, 193, 113, 223, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 27, 65, 27, 193, 27, 193, 113, 223, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 47, 55, 213, 209, 204, 197, 43, 221, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 255, 127, 254, 255, 254, 255, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 0, 0, 37, 81, 37, 81, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 0, 0, 37, 81, 37, 81, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 47, 55, 213, 209, 204, 197, 43, 221, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 47, 55, 88, 229, 245, 214, 225, 212, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 47, 55, 88, 229, 245, 214, 225, 212, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 255, 255, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 255, 255, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 227, 190, 119, 141, 74, 242, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 227, 190, 150, 100, 67, 249, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 227, 190, 119, 141, 74, 242, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 227, 190, 150, 100, 67, 249, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 255, 127, 255, 127, 255, 127, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 88, 229, 47, 55, 195, 65, 120, 250, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 88, 229, 47, 55, 98, 173, 21, 250, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 37, 209, 0, 0, 217, 174, 255, 255, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 88, 229, 47, 55, 195, 65, 120, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 213, 209, 47, 55, 143, 33, 21, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 213, 209, 47, 55, 208, 204, 120, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 217, 174, 0, 0, 217, 46, 255, 255, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 213, 209, 47, 55, 143, 33, 21, 250, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 27, 193, 27, 65, 241, 13, 187, 134, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 27, 193, 27, 65, 13, 242, 67, 249, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 255, 127, 0, 0, 0, 0, 255, 255, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 27, 193, 27, 65, 241, 13, 187, 134, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 46, 183, 213, 81, 46, 51, 134, 133, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 46, 183, 213, 81, 111, 222, 233, 133, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 255, 127, 217, 46, 37, 209, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 46, 183, 213, 81, 46, 51, 134, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 46, 183, 88, 101, 156, 82, 233, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 46, 183, 88, 101, 59, 190, 134, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 255, 127, 37, 81, 37, 81, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 46, 183, 88, 101, 156, 82, 233, 133, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 27, 193, 255, 127, 135, 114, 180, 141, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 27, 193, 255, 127, 104, 155, 187, 134, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 255, 127, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 27, 193, 255, 127, 135, 114, 180, 141, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 46, 183, 166, 154, 242, 116, 29, 159, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 46, 183, 166, 154, 210, 139, 176, 150, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 217, 174, 255, 127, 108, 151, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 217, 174, 255, 127, 108, 151, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 46, 183, 166, 154, 242, 116, 29, 159, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 46, 183, 166, 154, 210, 139, 176, 150, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 37, 209, 255, 127, 146, 168, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 37, 209, 255, 127, 146, 168, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 46, 183, 41, 174, 43, 116, 55, 175, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 46, 183, 41, 174, 12, 139, 104, 166, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 46, 183, 41, 174, 44, 116, 55, 175, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 46, 183, 41, 174, 12, 139, 104, 166, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 255, 255, 255, 127, 255, 127, 255, 127, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 27, 193, 227, 190, 135, 114, 247, 198, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 27, 193, 227, 190, 119, 141, 6, 185, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 255, 127, 255, 255, 255, 127, 255, 191, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 27, 193, 227, 190, 135, 114, 247, 198, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 213, 209, 207, 200, 242, 116, 150, 217, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 213, 209, 207, 200, 210, 139, 198, 208, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 217, 174, 255, 255, 255, 127, 108, 215, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 213, 209, 207, 200, 242, 116, 150, 217, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 88, 229, 207, 200, 44, 116, 77, 233, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 88, 229, 207, 200, 12, 139, 225, 224, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 37, 209, 255, 255, 255, 127, 146, 232, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 88, 229, 207, 200, 12, 139, 225, 224, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 37, 81, 255, 127, 255, 127, 255, 127, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 141, 153, 255, 127, 152, 108, 224, 243, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 141, 153, 255, 127, 61, 152, 75, 246, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 141, 153, 255, 127, 152, 108, 224, 243, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 141, 153, 255, 127, 61, 152, 75, 246, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 37, 209, 255, 127, 255, 127, 254, 255, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 37, 209, 255, 127, 255, 127, 254, 255, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 108, 142, 245, 96, 80, 150, 208, 231, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 9, 185, 248, 89, 199, 163, 198, 227, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 37, 81, 255, 127, 255, 127, 255, 127, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 108, 142, 245, 96, 120, 176, 248, 223, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 108, 142, 245, 96, 80, 150, 208, 231, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 37, 81, 255, 127, 255, 127, 255, 127, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 213, 122, 36, 75, 199, 197, 29, 207, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 213, 122, 36, 75, 96, 173, 147, 214, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 213, 122, 36, 75, 199, 197, 29, 207, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 199, 163, 112, 56, 9, 185, 2, 211, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 37, 81, 255, 127, 255, 127, 255, 127, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 141, 100, 250, 74, 9, 210, 231, 185, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 141, 100, 250, 74, 212, 193, 181, 197, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 141, 100, 250, 74, 9, 210, 231, 185, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 141, 100, 250, 74, 212, 193, 180, 197, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 255, 127, 0, 0, 37, 209, 255, 191, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 255, 127, 0, 0, 37, 209, 255, 191, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 153, 78, 255, 82, 98, 186, 21, 168, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 153, 78, 255, 82, 186, 183, 191, 177, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 37, 81, 255, 127, 255, 127, 255, 127, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 153, 78, 255, 82, 186, 183, 191, 177, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 153, 78, 255, 82, 98, 186, 21, 168, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 143, 71, 199, 35, 9, 185, 251, 172, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 143, 71, 199, 35, 9, 185, 251, 172, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 70, 55, 80, 99, 16, 164, 103, 149, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 70, 55, 80, 99, 138, 163, 223, 161, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 37, 81, 255, 127, 255, 127, 255, 127, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 70, 55, 80, 99, 138, 163, 223, 161, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 6, 38, 10, 57, 199, 163, 55, 156, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 131, 28, 255, 127, 92, 103, 189, 130, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 131, 28, 255, 127, 124, 133, 81, 140, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 37, 81, 255, 127, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 131, 28, 255, 127, 124, 133, 81, 140, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 131, 28, 255, 127, 92, 103, 189, 130, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 0, 0, 217, 174, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 0, 0, 217, 174, 255, 127, 255, 127, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 70, 55, 174, 156, 62, 60, 196, 145, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 70, 55, 174, 156, 48, 85, 8, 146, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 37, 81, 255, 127, 255, 127, 255, 127, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 70, 55, 174, 156, 48, 85, 8, 146, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 70, 55, 174, 156, 62, 60, 196, 145, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 6, 38, 244, 198, 143, 71, 227, 145, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 6, 38, 244, 198, 143, 71, 227, 145, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 153, 78, 255, 172, 127, 28, 221, 155, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 153, 78, 255, 172, 211, 47, 48, 157, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 37, 81, 255, 127, 255, 127, 255, 127, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 153, 78, 255, 172, 211, 47, 48, 157, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 153, 78, 255, 172, 127, 28, 221, 155, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 143, 71, 55, 220, 6, 38, 132, 156, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 143, 71, 55, 220, 6, 38, 132, 156, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 37, 81, 255, 127, 255, 127, 255, 127, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 141, 100, 4, 181, 107, 11, 20, 223, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 141, 100, 4, 181, 48, 12, 4, 169, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 141, 100, 4, 181, 107, 11, 20, 223, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 255, 127, 254, 255, 0, 0, 146, 168, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 213, 122, 218, 180, 59, 30, 27, 221, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 199, 163, 142, 199, 6, 38, 121, 227, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 37, 81, 255, 127, 255, 127, 255, 127, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 213, 122, 218, 180, 41, 45, 78, 233, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 213, 122, 218, 180, 59, 30, 27, 221, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 37, 81, 255, 127, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 108, 142, 9, 159, 162, 79, 214, 244, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 108, 142, 9, 159, 242, 63, 194, 231, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 108, 142, 9, 159, 162, 79, 214, 244, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 9, 185, 6, 166, 143, 71, 27, 238, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 124, 99, 162, 152, 64, 253, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 124, 99, 130, 122, 173, 243, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 37, 209, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 0, 0, 124, 99, 162, 152, 64, 253, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 0, 0, 124, 99, 130, 122, 173, 243, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 217, 46, 255, 127, 255, 127, 255, 255, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 217, 46, 255, 127, 255, 127, 254, 255, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 175, 28, 184, 72, 116, 92, 30, 222, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 175, 28, 184, 72, 238, 91, 151, 234, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 0, 0, 37, 209, 255, 127, 255, 127, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 175, 28, 184, 72, 238, 91, 151, 234, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 175, 28, 184, 72, 116, 92, 30, 222, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 245, 70, 248, 89, 55, 92, 198, 227, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 245, 70, 248, 89, 55, 92, 198, 227, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 45, 102, 49, 68, 72, 62, 206, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 45, 102, 49, 156, 69, 233, 215, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 0, 37, 209, 255, 127, 255, 127, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 0, 45, 102, 49, 68, 72, 62, 206, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 55, 92, 112, 56, 245, 70, 2, 211, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 0, 0, 37, 209, 255, 127, 255, 127, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 4, 53, 113, 27, 42, 62, 73, 186, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 4, 53, 113, 27, 245, 45, 23, 198, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 4, 53, 113, 27, 245, 45, 23, 198, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 255, 127, 0, 0, 217, 46, 255, 191, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 0, 0, 37, 209, 255, 127, 255, 127, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 218, 52, 42, 5, 158, 82, 106, 169, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 218, 52, 42, 5, 55, 58, 225, 176, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 218, 52, 42, 5, 158, 82, 106, 169, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 218, 52, 42, 5, 55, 58, 225, 176, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 111, 184, 199, 35, 245, 70, 251, 172, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 111, 184, 199, 35, 245, 70, 251, 172, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 245, 224, 108, 14, 134, 79, 5, 160, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 248, 217, 10, 57, 55, 92, 55, 156, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 0, 0, 37, 209, 255, 127, 255, 127, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 245, 224, 108, 14, 174, 105, 45, 152, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 245, 224, 108, 14, 134, 79, 5, 160, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 0, 0, 37, 209, 255, 127, 255, 127, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 255, 255, 112, 230, 102, 147, 30, 140, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 255, 255, 112, 230, 193, 103, 178, 137, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 255, 255, 112, 230, 102, 147, 30, 140, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 254, 255, 217, 174, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 0, 0, 37, 209, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 245, 224, 146, 241, 12, 192, 60, 152, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 245, 224, 146, 241, 92, 176, 39, 139, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 245, 224, 146, 241, 92, 176, 39, 139, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 248, 217, 244, 198, 111, 184, 227, 145, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 218, 52, 212, 250, 195, 225, 227, 162, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 218, 52, 212, 250, 213, 210, 175, 150, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 111, 184, 55, 220, 248, 217, 132, 156, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 111, 184, 55, 220, 248, 217, 132, 156, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 0, 0, 37, 209, 255, 127, 255, 127, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 218, 52, 212, 250, 195, 225, 227, 162, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 218, 52, 212, 250, 213, 210, 175, 150, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 0, 0, 37, 209, 255, 127, 255, 127, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 4, 53, 141, 228, 206, 243, 250, 214, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 4, 53, 141, 228, 147, 244, 234, 160, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 4, 53, 141, 228, 147, 244, 234, 160, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 4, 53, 141, 228, 206, 243, 250, 214, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 255, 127, 255, 255, 255, 255, 146, 168, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 255, 127, 255, 255, 255, 255, 146, 168, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 45, 152, 206, 43, 208, 205, 226, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 45, 152, 206, 128, 227, 33, 228, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 0, 37, 209, 255, 127, 255, 127, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 0, 45, 152, 206, 43, 208, 205, 226, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 55, 92, 142, 199, 248, 217, 121, 227, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 175, 28, 70, 183, 206, 170, 246, 237, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 175, 28, 70, 183, 192, 195, 57, 238, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 0, 0, 37, 209, 255, 127, 255, 127, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 175, 28, 70, 183, 206, 170, 246, 237, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 245, 70, 6, 166, 111, 184, 27, 238) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_8vbk1") -[sub_resource type="CylinderShape" id=2] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_uiu4s"] height = 0.3 radius = 0.01 -[sub_resource type="CylinderShape" id=3] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_8lktl"] height = 0.1 radius = 0.01 -[node name="TeacupStand" type="StaticBody"] +[node name="TeacupStand" type="StaticBody3D"] -[node name="Stand" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) +[node name="Stand" type="MeshInstance3D" parent="."] +gi_mode = 0 +mesh = SubResource("ArrayMesh_sini6") +skeleton = NodePath("") +surface_material_override/0 = ExtResource("2") -[node name="CollisionShape1" type="CollisionShape" parent="."] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0 ) -shape = SubResource( 2 ) +[node name="CollisionShape1" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0) +shape = SubResource("CylinderShape3D_uiu4s") -[node name="CollisionShape2" type="CollisionShape" parent="."] -transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.05, 0.28, 0 ) -shape = SubResource( 3 ) +[node name="CollisionShape2" type="CollisionShape3D" parent="."] +transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.05, 0.28, 0) +shape = SubResource("CylinderShape3D_8lktl") -[node name="CollisionShape3" type="CollisionShape" parent="."] -transform = Transform( 2.18557e-08, 0.5, -0.866025, 1, -4.37114e-08, 0, -3.78552e-08, -0.866025, -0.5, -0.025, 0.28, 0.043 ) -shape = SubResource( 3 ) +[node name="CollisionShape3" type="CollisionShape3D" parent="."] +transform = Transform3D(2.18557e-08, 0.5, -0.866025, 1, -4.37114e-08, 0, -3.78552e-08, -0.866025, -0.5, -0.025, 0.28, 0.043) +shape = SubResource("CylinderShape3D_8lktl") -[node name="CollisionShape4" type="CollisionShape" parent="."] -transform = Transform( 2.18557e-08, 0.5, 0.866026, 1, -4.37114e-08, 0, 3.78552e-08, 0.866026, -0.5, -0.025, 0.28, -0.043 ) -shape = SubResource( 3 ) +[node name="CollisionShape4" type="CollisionShape3D" parent="."] +transform = Transform3D(2.18557e-08, 0.5, 0.866026, 1, -4.37114e-08, 0, 3.78552e-08, 0.866026, -0.5, -0.025, 0.28, -0.043) +shape = SubResource("CylinderShape3D_8lktl") -[node name="SnapZone1" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.0796152, 0.28, 0 ) +[node name="SnapZone1" parent="." groups=["TeacupStand"] instance=ExtResource("1")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.0796152, 0.28, 0) collision_layer = 4 collision_mask = 65540 grab_distance = 0.1 snap_require = "Teacup" -[node name="SnapZone2" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )] -transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -0.04, 0.28, 0.069 ) +[node name="SnapZone2" parent="." groups=["TeacupStand"] instance=ExtResource("1")] +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -0.04, 0.28, 0.069) collision_layer = 4 collision_mask = 65540 grab_distance = 0.1 snap_require = "Teacup" -[node name="SnapZone3" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )] -transform = Transform( -0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -0.04, 0.28, -0.069 ) +[node name="SnapZone3" parent="." groups=["TeacupStand"] instance=ExtResource("1")] +transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -0.04, 0.28, -0.069) collision_layer = 4 collision_mask = 65540 grab_distance = 0.1 diff --git a/scenes/pickable_demo/pickable_demo.png.import b/scenes/pickable_demo/pickable_demo.png.import index 48cbd7ef..b695f2bb 100644 --- a/scenes/pickable_demo/pickable_demo.png.import +++ b/scenes/pickable_demo/pickable_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.stex" -path.etc="res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc.stex" +type="CompressedTexture2D" +uid="uid://ny4n43p3e3du" +path.s3tc="res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.ctex" +path.etc2="res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/pickable_demo/pickable_demo.png" -dest_files=[ "res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.stex", "res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc.stex" ] +dest_files=["res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.ctex", "res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/pickable_demo/pickable_demo.tscn b/scenes/pickable_demo/pickable_demo.tscn index b395eaa6..3a1d6cad 100644 --- a/scenes/pickable_demo/pickable_demo.tscn +++ b/scenes/pickable_demo/pickable_demo.tscn @@ -1,175 +1,173 @@ -[gd_scene load_steps=26 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" type="PackedScene" id=4] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=5] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=10] -[ext_resource path="res://scenes/pickable_demo/objects/snap_toy_red.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/pickable_demo/objects/snap_toy_yellow.tscn" type="PackedScene" id=12] -[ext_resource path="res://scenes/pickable_demo/objects/grab_ball.tscn" type="PackedScene" id=13] -[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.tscn" type="PackedScene" id=14] -[ext_resource path="res://assets/meshes/table/table.tscn" type="PackedScene" id=15] -[ext_resource path="res://scenes/pickable_demo/objects/snap_tray.tscn" type="PackedScene" id=16] -[ext_resource path="res://scenes/pickable_demo/objects/hammer.tscn" type="PackedScene" id=17] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/pickable_demo/objects/teacup.tscn" type="PackedScene" id=19] -[ext_resource path="res://scenes/pickable_demo/objects/saucer.tscn" type="PackedScene" id=20] -[ext_resource path="res://scenes/pickable_demo/objects/teacup_stand.tscn" type="PackedScene" id=21] -[ext_resource path="res://scenes/pickable_demo/objects/instructions.tscn" type="PackedScene" id=22] -[ext_resource path="res://scenes/pickable_demo/objects/belt_snap_zone.tscn" type="PackedScene" id=23] -[ext_resource path="res://scenes/pickable_demo/objects/knife.tscn" type="PackedScene" id=24] -[ext_resource path="res://addons/godot-xr-tools/objects/return_to_snap_zone.gd" type="Script" id=25] - -[node name="PickableDemo" instance=ExtResource( 1 )] - -[node name="LeftPhysicsHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )] - -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[gd_scene load_steps=27 format=3 uid="uid://cp1qvegshx1lf"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://bdwmserhqai5h" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" id="2_8wi6c"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_kjksy"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://btf05hjpw6k05" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" id="5_laayj"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="6"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="7_kskan"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://1mb16xioom74" path="res://scenes/pickable_demo/objects/belt_snap_zone.tscn" id="10_5odnk"] +[ext_resource type="PackedScene" uid="uid://cf024hg5alcif" path="res://scenes/pickable_demo/objects/snap_toy_red.tscn" id="11"] +[ext_resource type="PackedScene" uid="uid://cboxrvj4xdi6f" path="res://scenes/pickable_demo/objects/snap_toy_yellow.tscn" id="12"] +[ext_resource type="PackedScene" path="res://scenes/pickable_demo/objects/instructions.tscn" id="12_282ma"] +[ext_resource type="PackedScene" uid="uid://clta811tt773x" path="res://scenes/pickable_demo/objects/grab_ball.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://djkjuy7wct10q" path="res://scenes/pickable_demo/objects/grab_cube.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://gi3cc6cxi81j" path="res://scenes/pickable_demo/objects/saucer.tscn" id="14_ani61"] +[ext_resource type="PackedScene" uid="uid://cbcbffvk7xth4" path="res://assets/meshes/table/table.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://b3mykwawmnxpi" path="res://scenes/pickable_demo/objects/teacup_stand.tscn" id="15_bq355"] +[ext_resource type="PackedScene" uid="uid://c6rmke57xw5lg" path="res://scenes/pickable_demo/objects/snap_tray.tscn" id="16"] +[ext_resource type="PackedScene" uid="uid://chww0na0ryl1m" path="res://scenes/pickable_demo/objects/teacup.tscn" id="16_v5unt"] +[ext_resource type="PackedScene" uid="uid://de0guxhrn5ouk" path="res://scenes/pickable_demo/objects/hammer.tscn" id="17"] +[ext_resource type="PackedScene" uid="uid://bxk2dud5pq1uf" path="res://scenes/pickable_demo/objects/knife.tscn" id="19_6grml"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/return_to_snap_zone.gd" id="19_iqmkd"] + +[node name="PickableDemo" instance=ExtResource("1")] +script = ExtResource("2_kjksy") + +[node name="LeftPhysicsHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_8wi6c")] + +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")] max_speed = 3.0 strafe = true -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("8")] grab_distance = 0.1 -grab_collision_mask = 4 ranged_angle = 10.0 -[node name="RightPhysicsHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 4 )] +[node name="RightPhysicsHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5_laayj")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 10 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("10")] -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("8")] grab_distance = 0.1 -grab_collision_mask = 4 ranged_angle = 10.0 -[node name="FunctionPointer" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 18 )] +[node name="FunctionPointer" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7_kskan")] show_laser = 2 laser_length = 1 -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 9 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("9")] -[node name="BeltSnapZone01" parent="ARVROrigin/PlayerBody" index="0" instance=ExtResource( 23 )] -transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -0.176713, 1, -0.176713 ) +[node name="BeltSnapZone01" parent="XROrigin3D/PlayerBody" index="0" instance=ExtResource("10_5odnk")] +transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -0.177, 1, -0.177) -[node name="BeltSnapZone02" parent="ARVROrigin/PlayerBody" index="1" instance=ExtResource( 23 )] -transform = Transform( 0.92388, 0, 0.382683, 0, 1, 0, -0.382683, 0, 0.92388, -0.0956363, 1, -0.230887 ) +[node name="BeltSnapZone02" parent="XROrigin3D/PlayerBody" index="1" instance=ExtResource("10_5odnk")] +transform = Transform3D(0.92388, 0, 0.382683, 0, 1, 0, -0.382683, 0, 0.92388, -0.096, 1, -0.231) -[node name="BeltSnapZone03" parent="ARVROrigin/PlayerBody" index="2" instance=ExtResource( 23 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.45058e-09, 1, -0.24991 ) +[node name="BeltSnapZone03" parent="XROrigin3D/PlayerBody" index="2" instance=ExtResource("10_5odnk")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -0.25) -[node name="BeltSnapZone04" parent="ARVROrigin/PlayerBody" index="3" instance=ExtResource( 23 )] -transform = Transform( 0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, 0.0956363, 1, -0.230887 ) +[node name="BeltSnapZone04" parent="XROrigin3D/PlayerBody" index="3" instance=ExtResource("10_5odnk")] +transform = Transform3D(0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, 0.096, 1, -0.231) -[node name="BeltSnapZone05" parent="ARVROrigin/PlayerBody" index="4" instance=ExtResource( 23 )] -transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0.176713, 1, -0.176713 ) +[node name="BeltSnapZone05" parent="XROrigin3D/PlayerBody" index="4" instance=ExtResource("10_5odnk")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0.177, 1, -0.177) -[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("2")] -[node name="Teleport" parent="." index="2" instance=ExtResource( 5 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 ) +[node name="Teleport" parent="." index="2" instance=ExtResource("5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) scene_base = NodePath("..") -title = ExtResource( 6 ) +title = ExtResource("6") -[node name="Instructions" parent="." index="3" instance=ExtResource( 22 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -5 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("12_282ma")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -5) -[node name="Table2" parent="." index="4" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -3 ) +[node name="Table2" parent="." index="4" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -3) -[node name="Table1" parent="." index="5" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -3 ) +[node name="Table1" parent="." index="5" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -3) -[node name="Saucer" parent="Table1" index="10" instance=ExtResource( 20 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.583645, 0.828995, 0.266177 ) +[node name="Saucer" parent="Table1" index="10" instance=ExtResource("14_ani61")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.584, 0.829, 0.266) -[node name="TeacupStand" parent="Table1" index="11" instance=ExtResource( 21 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.8, 0 ) +[node name="TeacupStand" parent="Table1" index="11" instance=ExtResource("15_bq355")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.8, 0) [node name="SnapZone1" parent="Table1/TeacupStand" index="5"] initial_object = NodePath("../Teacup") -[node name="Teacup" parent="Table1/TeacupStand" index="8" instance=ExtResource( 19 )] -transform = Transform( -4.37114e-08, 0, -1, 1, -4.37114e-08, -4.37114e-08, -4.37114e-08, -1, 1.91069e-15, 0.08, 0.204674, 0.0395086 ) +[node name="Teacup" parent="Table1/TeacupStand" index="8" instance=ExtResource("16_v5unt")] +transform = Transform3D(4.81713e-09, 4.34452e-08, 1, 0.993909, -0.110203, 0, 0.110203, 0.993909, -4.37114e-08, 0.0796152, 0.205038, -0.0390518) +collision_layer = 65536 +collision_mask = 0 +freeze = true [node name="XRToolsReturnToSnapZone" type="Node" parent="Table1/TeacupStand/Teacup" index="6"] -script = ExtResource( 25 ) +script = ExtResource("19_iqmkd") snap_zone_path = NodePath("../../SnapZone1") -[node name="Teacup" parent="Table1" index="12" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.234713, 0.824552, 0.266177 ) +[node name="Teacup" parent="Table1" index="12" instance=ExtResource("16_v5unt")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.235, 0.825, 0.266) -[node name="Knife1" parent="Table1" index="13" instance=ExtResource( 24 )] -transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.693906, 0.834034, 2.38419e-07 ) +[node name="Knife1" parent="Table1" index="13" instance=ExtResource("19_6grml")] +transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.694, 0.834, 0) -[node name="Knife2" parent="Table1" index="14" instance=ExtResource( 24 )] -transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.593906, 0.834034, 2.38419e-07 ) +[node name="Knife2" parent="Table1" index="14" instance=ExtResource("19_6grml")] +transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.594, 0.834, 0) -[node name="Knife3" parent="Table1" index="15" instance=ExtResource( 24 )] -transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.493906, 0.834034, 2.38419e-07 ) +[node name="Knife3" parent="Table1" index="15" instance=ExtResource("19_6grml")] +transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.494, 0.834, 0) -[node name="RemoteGrabBalls" type="Spatial" parent="." index="6"] +[node name="RemoteGrabBalls" type="Node3D" parent="." index="6"] -[node name="Ball1" parent="RemoteGrabBalls" index="0" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -2.6 ) +[node name="Ball1" parent="RemoteGrabBalls" index="0" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -2.6) -[node name="Ball2" parent="RemoteGrabBalls" index="1" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -3.2 ) +[node name="Ball2" parent="RemoteGrabBalls" index="1" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -3.2) -[node name="Ball3" parent="RemoteGrabBalls" index="2" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.2, -2.9 ) +[node name="Ball3" parent="RemoteGrabBalls" index="2" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.2, -2.9) -[node name="Hammers" type="Spatial" parent="." index="7"] +[node name="Hammers" type="Node3D" parent="." index="7"] -[node name="Hammer" parent="Hammers" index="0" instance=ExtResource( 17 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.6 ) +[node name="Hammer" parent="Hammers" index="0" instance=ExtResource("17")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.6) -[node name="Hammer4" parent="Hammers" index="1" instance=ExtResource( 17 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.2 ) +[node name="Hammer4" parent="Hammers" index="1" instance=ExtResource("17")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.2) -[node name="Hammer2" parent="Hammers" index="2" instance=ExtResource( 17 )] -transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -2.6, 0.15, -3.5 ) +[node name="Hammer2" parent="Hammers" index="2" instance=ExtResource("17")] +transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -2.6, 0.15, -3.5) -[node name="Hammer3" parent="Hammers" index="3" instance=ExtResource( 17 )] -transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -2.2, 0.15, -3.3 ) +[node name="Hammer3" parent="Hammers" index="3" instance=ExtResource("17")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -2.2, 0.15, -3.3) -[node name="GrabCubes" type="Spatial" parent="." index="8"] +[node name="GrabCubes" type="Node3D" parent="." index="8"] -[node name="Cube1" parent="GrabCubes" index="0" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.875, -2.8 ) +[node name="Cube1" parent="GrabCubes" index="0" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.875, -2.8) -[node name="Cube2" parent="GrabCubes" index="1" instance=ExtResource( 14 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0.875, -2.8 ) +[node name="Cube2" parent="GrabCubes" index="1" instance=ExtResource("14")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0.875, -2.8) -[node name="Cube3" parent="GrabCubes" index="2" instance=ExtResource( 14 )] -transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -1, 0.975, -2.8 ) +[node name="Cube3" parent="GrabCubes" index="2" instance=ExtResource("14")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -1, 0.975, -2.8) -[node name="SnapToys" type="Spatial" parent="." index="9"] +[node name="SnapToys" type="Node3D" parent="." index="9"] -[node name="SnapTray1" parent="SnapToys" index="0" instance=ExtResource( 16 )] -transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 1.5, 1, -2.9 ) -tray_active = true +[node name="SnapTray1" parent="SnapToys" index="0" instance=ExtResource("16")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 1.5, 1, -2.9) -[node name="SnapTray2" parent="SnapToys" index="1" instance=ExtResource( 16 )] -transform = Transform( 0.996195, 0, -0.0871558, 0, 1, 0, 0.0871558, 0, 0.996195, 1.1, 1, -3 ) +[node name="SnapTray2" parent="SnapToys" index="1" instance=ExtResource("16")] +transform = Transform3D(0.996195, 0, -0.0871558, 0, 1, 0, 0.0871558, 0, 0.996195, 1.1, 1, -3) +tray_active = false -[node name="SnapToyRed" parent="SnapToys" index="2" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.9, -3 ) +[node name="SnapToyRed" parent="SnapToys" index="2" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.9, -3) -[node name="SnapToyYellow" parent="SnapToys" index="3" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8, 0.9, -3 ) +[node name="SnapToyYellow" parent="SnapToys" index="3" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8, 0.9, -3) [editable path="Table1/TeacupStand"] diff --git a/scenes/pickable_demo/poses/pose_hammer_left.tres b/scenes/pickable_demo/poses/pose_hammer_left.tres index f8c8a0ca..9ae7dc8d 100644 --- a/scenes/pickable_demo/poses/pose_hammer_left.tres +++ b/scenes/pickable_demo/poses/pose_hammer_left.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dd4sqdg8upblx"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=3] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1"] +[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="1_mrmvg"] +[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_a8ewd"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 2 ) -closed_pose = ExtResource( 3 ) +script = ExtResource("1") +open_pose = ExtResource("2_a8ewd") +closed_pose = ExtResource("1_mrmvg") diff --git a/scenes/pickable_demo/poses/pose_hammer_right.tres b/scenes/pickable_demo/poses/pose_hammer_right.tres index 2d521d3d..c7cb769d 100644 --- a/scenes/pickable_demo/poses/pose_hammer_right.tres +++ b/scenes/pickable_demo/poses/pose_hammer_right.tres @@ -1,10 +1,10 @@ -[gd_resource type="Resource" load_steps=4 format=2] +[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c7lps5l5dj652"] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.anim" type="Animation" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=3] +[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="1_2ro2s"] +[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_kfmxf"] +[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_s40ub"] [resource] -script = ExtResource( 1 ) -open_pose = ExtResource( 3 ) -closed_pose = ExtResource( 2 ) +script = ExtResource("1_kfmxf") +open_pose = ExtResource("2_s40ub") +closed_pose = ExtResource("1_2ro2s") diff --git a/scenes/pointer_demo/objects/color_change_cube.gd b/scenes/pointer_demo/objects/color_change_cube.gd index f524443b..67ea046c 100644 --- a/scenes/pointer_demo/objects/color_change_cube.gd +++ b/scenes/pointer_demo/objects/color_change_cube.gd @@ -1,22 +1,22 @@ -extends RigidBody +extends RigidBody3D signal pointer_pressed(at) -var _material := SpatialMaterial.new() +var _material := StandardMaterial3D.new() # Called when the node enters the scene tree for the first time. func _ready(): # Connect pointer_pressed signals - connect("pointer_pressed", self, "_on_pointer_pressed") + connect("pointer_pressed",Callable(self,"_on_pointer_pressed")) # Generate a random material color _set_random_color() # Change the mesh to use our generated material - $MeshInstance.material_override = _material + $MeshInstance3D.material_override = _material # Called when a user clicks on the cube using the pointer diff --git a/scenes/pointer_demo/objects/color_change_cube.tscn b/scenes/pointer_demo/objects/color_change_cube.tscn index 2f591691..21d1d94b 100644 --- a/scenes/pointer_demo/objects/color_change_cube.tscn +++ b/scenes/pointer_demo/objects/color_change_cube.tscn @@ -1,20 +1,21 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://bk34216s7eynw"] -[ext_resource path="res://scenes/pointer_demo/objects/color_change_cube.gd" type="Script" id=1] +[ext_resource type="Script" path="res://scenes/pointer_demo/objects/color_change_cube.gd" id="1"] -[sub_resource type="CubeMesh" id=1] -size = Vector3( 0.5, 0.5, 0.5 ) +[sub_resource type="BoxMesh" id="1"] +size = Vector3(0.5, 0.5, 0.5) -[sub_resource type="BoxShape" id=2] -extents = Vector3( 0.25, 0.25, 0.25 ) +[sub_resource type="BoxShape3D" id="2"] +size = Vector3(0.5, 0.5, 0.5) -[node name="ColorChangeCube" type="RigidBody"] +[node name="ColorChangeCube" type="RigidBody3D"] collision_layer = 1048577 -mode = 1 -script = ExtResource( 1 ) +collision_mask = 0 +freeze = true +script = ExtResource("1") -[node name="MeshInstance" type="MeshInstance" parent="."] -mesh = SubResource( 1 ) +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("1") -[node name="CollisionShape" type="CollisionShape" parent="."] -shape = SubResource( 2 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("2") diff --git a/scenes/pointer_demo/objects/display.tscn b/scenes/pointer_demo/objects/display.tscn index 5d160278..99bf5ec5 100644 --- a/scenes/pointer_demo/objects/display.tscn +++ b/scenes/pointer_demo/objects/display.tscn @@ -1,42 +1,42 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=7 format=3 uid="uid://nnse6wsxsjeo"] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/pointer_demo/objects/keyboard_test_screen.tscn" type="PackedScene" id=2] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://cge2ou48mud7b" path="res://scenes/pointer_demo/objects/keyboard_test_screen.tscn" id="2"] -[sub_resource type="QuadMesh" id=1] +[sub_resource type="QuadMesh" id="1"] resource_local_to_scene = true -size = Vector2( 2.8, 1.3 ) +size = Vector2(2.8, 1.9) -[sub_resource type="ViewportTexture" id=2] +[sub_resource type="ViewportTexture" id="ViewportTexture_i4k7p"] -[sub_resource type="SpatialMaterial" id=3] -resource_local_to_scene = true -flags_transparent = true -flags_unshaded = true -params_cull_mode = 2 -albedo_texture = SubResource( 2 ) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cl1sj"] +transparency = 1 +cull_mode = 2 +shading_mode = 0 +albedo_texture = SubResource("ViewportTexture_i4k7p") +texture_filter = 1 -[sub_resource type="BoxShape" id=4] +[sub_resource type="BoxShape3D" id="4"] resource_local_to_scene = true -extents = Vector3( 1.4, 0.65, 0.01 ) +size = Vector3(2.8, 1.9, 0.02) -[node name="Display" instance=ExtResource( 1 )] -screen_size = Vector2( 2.8, 1.3 ) -viewport_size = Vector2( 280, 130 ) -scene = ExtResource( 2 ) +[node name="Display" instance=ExtResource("1")] +screen_size = Vector2(2.8, 1.9) +viewport_size = Vector2(280, 190) +scene = ExtResource("2") update_mode = 2 throttle_fps = 15.0 [node name="Viewport" parent="." index="0"] -size = Vector2( 280, 130 ) +size = Vector2i(280, 190) [node name="Screen" parent="." index="1"] -mesh = SubResource( 1 ) -material/0 = SubResource( 3 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("StandardMaterial3D_cl1sj") -[node name="StaticBody" parent="." index="2"] -screen_size = Vector2( 2.8, 1.3 ) -viewport_size = Vector2( 280, 130 ) +[node name="StaticBody3D" parent="." index="2"] +screen_size = Vector2(2.8, 1.9) +viewport_size = Vector2(280, 190) -[node name="CollisionShape" parent="StaticBody" index="0"] -shape = SubResource( 4 ) +[node name="CollisionShape3D" parent="StaticBody3D" index="0"] +shape = SubResource("4") diff --git a/scenes/pointer_demo/objects/keyboard_test_screen.tscn b/scenes/pointer_demo/objects/keyboard_test_screen.tscn index ec4b1848..b83e3c92 100644 --- a/scenes/pointer_demo/objects/keyboard_test_screen.tscn +++ b/scenes/pointer_demo/objects/keyboard_test_screen.tscn @@ -1,92 +1,121 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://cge2ou48mud7b"] -[ext_resource path="res://scenes/pointer_demo/objects/keyboard_test_screen.gd" type="Script" id=1] +[ext_resource type="Script" path="res://scenes/pointer_demo/objects/keyboard_test_screen.gd" id="1"] [node name="KeyboardTestScreen" type="Node2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Container" type="VBoxContainer" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 257.0 -margin_bottom = 50.0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 260.0 +offset_bottom = 157.0 [node name="Header" type="HBoxContainer" parent="Container"] -margin_right = 250.0 -margin_bottom = 48.0 +layout_mode = 2 +offset_right = 250.0 +offset_bottom = 54.0 [node name="Label" type="Label" parent="Container/Header"] -margin_right = 250.0 -margin_bottom = 48.0 -rect_min_size = Vector2( 250, 0 ) +layout_mode = 2 +offset_right = 250.0 +offset_bottom = 54.0 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_constants/line_spacing = 0 +theme_override_font_sizes/font_size = 13 text = "Press trigger on controller to switch active pointer to that controller, or interact with the UI." -align = 1 -autowrap = true +horizontal_alignment = 1 +autowrap_mode = 2 [node name="Line1" type="HBoxContainer" parent="Container"] -margin_top = 52.0 -margin_right = 250.0 -margin_bottom = 73.0 +layout_mode = 2 +offset_top = 58.0 +offset_right = 250.0 +offset_bottom = 83.0 [node name="Label" type="Label" parent="Container/Line1"] -margin_top = 3.0 -margin_right = 43.0 -margin_bottom = 17.0 +layout_mode = 2 +offset_top = 2.0 +offset_right = 38.0 +offset_bottom = 22.0 +theme_override_font_sizes/font_size = 12 text = "Line 1:" -align = 2 +vertical_alignment = 1 [node name="TextEdit" type="TextEdit" parent="Container/Line1"] -margin_left = 47.0 -margin_right = 247.0 -margin_bottom = 21.0 -rect_min_size = Vector2( 200, 21 ) +custom_minimum_size = Vector2i(0, 25) +layout_mode = 2 +offset_left = 42.0 +offset_right = 250.0 +offset_bottom = 25.0 +size_flags_horizontal = 3 +theme_override_constants/line_spacing = 0 +theme_override_font_sizes/font_size = 12 [node name="Line2" type="HBoxContainer" parent="Container"] -margin_top = 77.0 -margin_right = 250.0 -margin_bottom = 98.0 +layout_mode = 2 +offset_top = 87.0 +offset_right = 250.0 +offset_bottom = 112.0 [node name="Label" type="Label" parent="Container/Line2"] -margin_top = 3.0 -margin_right = 43.0 -margin_bottom = 17.0 +layout_mode = 2 +offset_top = 2.0 +offset_right = 38.0 +offset_bottom = 22.0 +theme_override_font_sizes/font_size = 12 text = "Line 2:" -align = 2 +vertical_alignment = 1 [node name="TextEdit" type="TextEdit" parent="Container/Line2"] -margin_left = 47.0 -margin_right = 247.0 -margin_bottom = 21.0 -rect_min_size = Vector2( 200, 21 ) +custom_minimum_size = Vector2i(0, 25) +layout_mode = 2 +offset_left = 42.0 +offset_right = 250.0 +offset_bottom = 25.0 +size_flags_horizontal = 3 +theme_override_constants/line_spacing = 0 +theme_override_font_sizes/font_size = 12 [node name="Line3" type="HBoxContainer" parent="Container"] -margin_top = 102.0 -margin_right = 250.0 -margin_bottom = 123.0 +layout_mode = 2 +offset_top = 116.0 +offset_right = 250.0 +offset_bottom = 141.0 [node name="Label" type="Label" parent="Container/Line3"] -margin_top = 3.0 -margin_right = 43.0 -margin_bottom = 17.0 +layout_mode = 2 +offset_top = 2.0 +offset_right = 38.0 +offset_bottom = 22.0 +theme_override_font_sizes/font_size = 12 text = "Line 3:" -align = 2 +vertical_alignment = 1 [node name="TextEdit" type="TextEdit" parent="Container/Line3"] -margin_left = 47.0 -margin_right = 247.0 -margin_bottom = 21.0 -rect_min_size = Vector2( 200, 21 ) +custom_minimum_size = Vector2i(0, 25) +layout_mode = 2 +offset_left = 42.0 +offset_right = 250.0 +offset_bottom = 25.0 +size_flags_horizontal = 3 +theme_override_constants/line_spacing = 0 +theme_override_font_sizes/font_size = 12 [node name="Footer" type="HBoxContainer" parent="Container"] -margin_top = 127.0 -margin_right = 250.0 -margin_bottom = 147.0 +layout_mode = 2 +offset_top = 145.0 +offset_right = 250.0 +offset_bottom = 170.0 alignment = 2 [node name="ClearButton" type="Button" parent="Container/Footer"] -margin_left = 206.0 -margin_right = 250.0 -margin_bottom = 20.0 +layout_mode = 2 +offset_left = 211.0 +offset_right = 250.0 +offset_bottom = 25.0 +theme_override_font_sizes/font_size = 12 text = "Clear" [connection signal="pressed" from="Container/Footer/ClearButton" to="." method="_on_ClearButton_pressed"] diff --git a/scenes/pointer_demo/pointer_demo.png.import b/scenes/pointer_demo/pointer_demo.png.import index f23470ee..5a41328e 100644 --- a/scenes/pointer_demo/pointer_demo.png.import +++ b/scenes/pointer_demo/pointer_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.stex" -path.etc="res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc.stex" +type="CompressedTexture2D" +uid="uid://bh5j2q7vpmr0b" +path.s3tc="res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.ctex" +path.etc2="res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/pointer_demo/pointer_demo.png" -dest_files=[ "res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.stex", "res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc.stex" ] +dest_files=["res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.ctex", "res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/pointer_demo/pointer_demo.tscn b/scenes/pointer_demo/pointer_demo.tscn index 95d01396..186dfb47 100644 --- a/scenes/pointer_demo/pointer_demo.tscn +++ b/scenes/pointer_demo/pointer_demo.tscn @@ -1,70 +1,64 @@ -[gd_scene load_steps=14 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/objects/virtual_keyboard.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/pointer_demo/objects/display.tscn" type="PackedScene" id=12] -[ext_resource path="res://scenes/pointer_demo/objects/color_change_cube.tscn" type="PackedScene" id=15] - -[node name="PointerDemo" instance=ExtResource( 1 )] -environment = null - -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 10 )] - -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[gd_scene load_steps=14 format=3 uid="uid://deq6satll2p5x"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="2"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="3_j5kt2"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="4"] +[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_rnrhb"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://dgdb1texynduw" path="res://addons/godot-xr-tools/objects/virtual_keyboard.tscn" id="11"] +[ext_resource type="PackedScene" uid="uid://nnse6wsxsjeo" path="res://scenes/pointer_demo/objects/display.tscn" id="12"] +[ext_resource type="PackedScene" uid="uid://bk34216s7eynw" path="res://scenes/pointer_demo/objects/color_change_cube.tscn" id="15"] + +[node name="PointerDemo" instance=ExtResource("1")] + +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("3_j5kt2")] + +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")] max_speed = 3.0 strafe = true -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 6 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_rnrhb")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 9 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("9")] -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 8 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("8")] -[node name="FunctionPointer" parent="ARVROrigin" index="4" instance=ExtResource( 5 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 ) +[node name="FunctionPointer" parent="XROrigin3D" index="4" instance=ExtResource("5")] laser_length = 1 show_target = true -[node name="BasicMap" parent="." index="1" instance=ExtResource( 3 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("3")] -[node name="Teleport" parent="." index="2" instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 ) +[node name="Teleport" parent="." index="2" instance=ExtResource("2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) scene_base = NodePath("..") -title = ExtResource( 4 ) +title = ExtResource("4") -[node name="Display" parent="." index="3" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.3, -3 ) -screen_size = Vector2( 2.8, 1.65 ) -viewport_size = Vector2( 280, 165 ) +[node name="Display" parent="." index="3" instance=ExtResource("12")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, -3) -[node name="VirtualKeyboard" parent="." index="4" instance=ExtResource( 11 )] -transform = Transform( 1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1, -2 ) +[node name="VirtualKeyboard" parent="." index="4" instance=ExtResource("11")] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1, -2) -[node name="ColorChangeCube1" parent="." index="5" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2.5, -3 ) +[node name="ColorChangeCube1" parent="." index="5" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2.5, -3) -[node name="ColorChangeCube2" parent="." index="6" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.7, -3 ) +[node name="ColorChangeCube2" parent="." index="6" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.7, -3) -[node name="ColorChangeCube3" parent="." index="7" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2.5, -3 ) +[node name="ColorChangeCube3" parent="." index="7" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2.5, -3) -[node name="ColorChangeCube4" parent="." index="8" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.7, -3 ) +[node name="ColorChangeCube4" parent="." index="8" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.7, -3) + +[connection signal="button_pressed" from="XROrigin3D/LeftHand" to="." method="_on_LeftHand_button_pressed"] +[connection signal="button_pressed" from="XROrigin3D/RightHand" to="." method="_on_RightHand_button_pressed"] diff --git a/scenes/poke_demo/objects/canvas.gd b/scenes/poke_demo/objects/canvas.gd index 3da0dfe3..aa84847b 100644 --- a/scenes/poke_demo/objects/canvas.gd +++ b/scenes/poke_demo/objects/canvas.gd @@ -9,8 +9,8 @@ func _clear(): $ViewportContainer/Viewport/Brushes.get_child(i).visible = false # Make sure our viewport only updates once - $ViewportContainer/Viewport.render_target_clear_mode = Viewport.CLEAR_MODE_ONLY_NEXT_FRAME - $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $ViewportContainer/Viewport.render_target_clear_mode = SubViewport.CLEAR_MODE_ONCE + $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE # Called when the node enters the scene tree for the first time. func _ready(): @@ -25,13 +25,13 @@ func _on_ViewportContainer_gui_input(event): if event.pressed: _update_active_brush() $ViewportContainer/Viewport/Brushes.position = event.position - $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE elif event is InputEventMouseMotion: # We're currently only getting these from our poke if we're touching, # but once viewport supports pressure we should implement this... _update_active_brush() $ViewportContainer/Viewport/Brushes.position = event.position - $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE + $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE func _set_draw_color(p_color : Color) -> void: diff --git a/scenes/poke_demo/objects/canvas.tscn b/scenes/poke_demo/objects/canvas.tscn index fbd3eda9..715b1bc6 100644 --- a/scenes/poke_demo/objects/canvas.tscn +++ b/scenes/poke_demo/objects/canvas.tscn @@ -1,67 +1,63 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://bv46odvo22fuv"] -[ext_resource path="res://scenes/poke_demo/objects/canvas.gd" type="Script" id=1] +[ext_resource type="Script" path="res://scenes/poke_demo/objects/canvas.gd" id="1"] -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 1, 1, 1, 1 ) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_156sa"] +bg_color = Color(1, 1, 1, 1) -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 0, 0, 0, 1 ) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_sk70f"] +bg_color = Color(0, 0, 0, 1) [node name="Canvas" type="Node2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Background" type="ColorRect" parent="."] -margin_right = 1000.0 -margin_bottom = 500.0 -color = Color( 0.203922, 0.337255, 0.137255, 0.686275 ) +offset_right = 1000.0 +offset_bottom = 500.0 +color = Color(0.203922, 0.337255, 0.137255, 0.686275) -[node name="ViewportContainer" type="ViewportContainer" parent="."] -margin_right = 40.0 -margin_bottom = 40.0 +[node name="ViewportContainer" type="SubViewportContainer" parent="."] -[node name="Viewport" type="Viewport" parent="ViewportContainer"] -size = Vector2( 940, 495 ) +[node name="Viewport" type="SubViewport" parent="ViewportContainer"] transparent_bg = true handle_input_locally = false +size = Vector2i(940, 495) render_target_clear_mode = 2 -render_target_update_mode = 3 +render_target_update_mode = 4 [node name="Brushes" type="Node2D" parent="ViewportContainer/Viewport"] -position = Vector2( 50, 50 ) +position = Vector2(50, 50) [node name="Brush1" type="ColorRect" parent="ViewportContainer/Viewport/Brushes"] visible = false -margin_left = -5.0 -margin_top = -5.0 -margin_right = 5.0 -margin_bottom = 5.0 +offset_left = -5.0 +offset_top = -5.0 +offset_right = 5.0 +offset_bottom = 5.0 [node name="Tools" type="VBoxContainer" parent="."] -margin_left = 950.0 -margin_top = 5.0 -margin_right = 995.0 -margin_bottom = 105.0 -rect_min_size = Vector2( 45, 0 ) -custom_constants/separation = 10 +offset_left = 950.0 +offset_top = 5.0 +offset_right = 999.0 +offset_bottom = 135.0 [node name="WhiteButton" type="Button" parent="Tools"] -margin_right = 45.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -custom_styles/normal = SubResource( 1 ) +custom_minimum_size = Vector2(45, 45) +offset_right = 49.0 +offset_bottom = 45.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_156sa") [node name="BlackButton" type="Button" parent="Tools"] -margin_top = 55.0 -margin_right = 45.0 -margin_bottom = 100.0 -rect_min_size = Vector2( 45, 45 ) -custom_styles/normal = SubResource( 2 ) +custom_minimum_size = Vector2(45, 45) +offset_top = 49.0 +offset_right = 49.0 +offset_bottom = 94.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_sk70f") [node name="ClearButton" type="Button" parent="Tools"] -margin_top = 110.0 -margin_right = 45.0 -margin_bottom = 130.0 +offset_top = 98.0 +offset_right = 49.0 +offset_bottom = 129.0 text = "Clear" [connection signal="gui_input" from="ViewportContainer" to="." method="_on_ViewportContainer_gui_input"] diff --git a/scenes/poke_demo/objects/instructions_2d.tscn b/scenes/poke_demo/objects/instructions_2d.tscn index 4d5337a1..dbcf3112 100644 --- a/scenes/poke_demo/objects/instructions_2d.tscn +++ b/scenes/poke_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://32dx3mgqbxkj"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Poke Demo This scene demonstrates poking interactions. Poke nodes are attached to the index fingers of both hands and can be used to control user interfaces and to physically interact with objects. diff --git a/scenes/poke_demo/poke_demo.png.import b/scenes/poke_demo/poke_demo.png.import index 35e8bd9b..7cbbee65 100644 --- a/scenes/poke_demo/poke_demo.png.import +++ b/scenes/poke_demo/poke_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.stex" -path.etc="res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc.stex" +type="CompressedTexture2D" +uid="uid://bbe7o7pdq38m2" +path.s3tc="res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.ctex" +path.etc2="res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/poke_demo/poke_demo.png" -dest_files=[ "res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.stex", "res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc.stex" ] +dest_files=["res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.ctex", "res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/poke_demo/poke_demo.tscn b/scenes/poke_demo/poke_demo.tscn index fd7f27cd..3ab44cf1 100644 --- a/scenes/poke_demo/poke_demo.tscn +++ b/scenes/poke_demo/poke_demo.tscn @@ -1,170 +1,212 @@ -[gd_scene load_steps=33 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=3] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=5] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=6] -[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=8] -[ext_resource path="res://scenes/poke_demo/objects/canvas.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=11] -[ext_resource path="res://assets/meshes/table/table.tscn" type="PackedScene" id=12] -[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.tscn" type="PackedScene" id=13] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=14] -[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=15] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=16] -[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=17] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/poke_demo/objects/instructions.tscn" type="PackedScene" id=19] - -[sub_resource type="AnimationNodeAnimation" id=14] -animation = "Grip" - -[sub_resource type="AnimationNodeAnimation" id=15] -animation = "Grip" - -[sub_resource type="AnimationNodeBlend2" id=16] +[gd_scene load_steps=34 format=3 uid="uid://b4fy6i3e7s08u"] + +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="2"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_sgf8o"] +[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="4_whmmd"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="5"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="6"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://bv46odvo22fuv" path="res://scenes/poke_demo/objects/canvas.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="11"] +[ext_resource type="PackedScene" path="res://scenes/poke_demo/objects/instructions.tscn" id="11_570m5"] +[ext_resource type="PackedScene" uid="uid://cbcbffvk7xth4" path="res://assets/meshes/table/table.tscn" id="12"] +[ext_resource type="PackedScene" uid="uid://djkjuy7wct10q" path="res://scenes/pickable_demo/objects/grab_cube.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="14_qyy11"] +[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="15_08yhv"] +[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="16_n1x7k"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_e1c5o"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a7i6i"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4s658"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L", "Armature_Left/Skeleton:Middle.Distal", "Armature_Left/Skeleton:Middle.Middle", "Armature_Left/Skeleton:Middle.Proximal", "Armature_Left/Skeleton:Pinky.Distal", "Armature_Left/Skeleton:Pinky.Middle", "Armature_Left/Skeleton:Pinky.Proximal", "Armature_Left/Skeleton:Ring.Distal", "Armature_Left/Skeleton:Ring.Middle", "Armature_Left/Skeleton:Ring.Proximal", "Armature_Left/Skeleton:Thumb.Distal", "Armature_Left/Skeleton:Thumb.Proximal" ] +filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"] -[sub_resource type="AnimationNodeAnimation" id=17] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_771er"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=18] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_mw2sj"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L", "Armature_Left/Skeleton:Index.Distal", "Armature_Left/Skeleton:Index.Middle", "Armature_Left/Skeleton:Index.Proximal" ] - -[sub_resource type="AnimationNodeBlendTree" id=19] -graph_offset = Vector2( -242.851, 19.7107 ) -nodes/ClosedHand1/node = SubResource( 14 ) -nodes/ClosedHand1/position = Vector2( -400, 200 ) -nodes/ClosedHand2/node = SubResource( 15 ) -nodes/ClosedHand2/position = Vector2( -200, 300 ) -nodes/Grip/node = SubResource( 16 ) -nodes/Grip/position = Vector2( 200, 0 ) -nodes/OpenHand/node = SubResource( 17 ) -nodes/OpenHand/position = Vector2( -400, 0 ) -nodes/Trigger/node = SubResource( 18 ) -nodes/Trigger/position = Vector2( -160, 0 ) -nodes/output/position = Vector2( 400, 0 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[sub_resource type="AnimationNodeAnimation" id=20] -animation = "Grip" - -[sub_resource type="AnimationNodeAnimation" id=21] -animation = "Grip" - -[sub_resource type="AnimationNodeBlend2" id=22] +filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_1niag"] +graph_offset = Vector2(-536, 11) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_e1c5o") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_a7i6i") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_4s658") +nodes/Grip/position = Vector2(0, 20) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_771er") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_mw2sj") +nodes/Trigger/position = Vector2(-360, 20) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vq8jm"] +animation = &"Grip" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hmmlh"] +animation = &"Grip" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ob3nl"] filter_enabled = true -filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R", "Armature_Left/Skeleton:Middle.Distal", "Armature_Left/Skeleton:Middle.Middle", "Armature_Left/Skeleton:Middle.Proximal", "Armature_Left/Skeleton:Pinky.Distal", "Armature_Left/Skeleton:Pinky.Middle", "Armature_Left/Skeleton:Pinky.Proximal", "Armature_Left/Skeleton:Ring.Distal", "Armature_Left/Skeleton:Ring.Middle", "Armature_Left/Skeleton:Ring.Proximal", "Armature_Left/Skeleton:Thumb.Distal", "Armature_Left/Skeleton:Thumb.Proximal" ] +filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"] -[sub_resource type="AnimationNodeAnimation" id=23] -animation = "Grip 5" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c6dak"] +animation = &"Grip 5" -[sub_resource type="AnimationNodeBlend2" id=24] +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_mplw3"] filter_enabled = true -filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R", "Armature_Left/Skeleton:Index.Distal", "Armature_Left/Skeleton:Index.Middle", "Armature_Left/Skeleton:Index.Proximal" ] - -[sub_resource type="AnimationNodeBlendTree" id=25] -graph_offset = Vector2( -239.618, 12.3058 ) -nodes/ClosedHand1/node = SubResource( 20 ) -nodes/ClosedHand1/position = Vector2( -400, 200 ) -nodes/ClosedHand2/node = SubResource( 21 ) -nodes/ClosedHand2/position = Vector2( -200, 300 ) -nodes/Grip/node = SubResource( 22 ) -nodes/Grip/position = Vector2( 200, 0 ) -nodes/OpenHand/node = SubResource( 23 ) -nodes/OpenHand/position = Vector2( -400, 0 ) -nodes/Trigger/node = SubResource( 24 ) -nodes/Trigger/position = Vector2( -160, 0 ) -nodes/output/position = Vector2( 400, 0 ) -node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ] - -[sub_resource type="BoxShape" id=13] -extents = Vector3( 0.5, 0.25, 0.05 ) - -[node name="PokeDemo" instance=ExtResource( 1 )] - -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 2 )] - -[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton" index="1"] -transform = Transform( 0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.0399019, 0.0402828, -0.150096 ) +filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_4py0i"] +graph_offset = Vector2(-552.664, 107.301) +nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vq8jm") +nodes/ClosedHand1/position = Vector2(-600, 300) +nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_hmmlh") +nodes/ClosedHand2/position = Vector2(-360, 300) +nodes/Grip/node = SubResource("AnimationNodeBlend2_ob3nl") +nodes/Grip/position = Vector2(0, 40) +nodes/OpenHand/node = SubResource("AnimationNodeAnimation_c6dak") +nodes/OpenHand/position = Vector2(-600, 100) +nodes/Trigger/node = SubResource("AnimationNodeBlend2_mplw3") +nodes/Trigger/position = Vector2(-360, 40) +node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_s7l3t"] +size = Vector3(1, 0.5, 0.01) + +[node name="PokeDemo" instance=ExtResource("1")] +script = ExtResource("2_sgf8o") + +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("3")] + +[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608) +bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249) + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D" index="1"] +transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096) bone_name = "Index_Tip_L" - -[node name="Poke" parent="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 7 )] -transform = Transform( 1, -1.49012e-07, 9.31323e-09, 1.49012e-07, 1, -7.45058e-09, 5.58794e-09, 1.86265e-08, 1, 0, 0, 0 ) - -[node name="AnimationTree" parent="ARVROrigin/LeftHand/LeftHand" index="1"] -tree_root = SubResource( 19 ) - -[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 18 )] - -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 3 )] - -[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton" index="1"] -transform = Transform( 0.540829, -0.840813, 0.0231736, 0.0826267, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113023, -0.0399019, 0.0402828, -0.150096 ) +bone_idx = 9 + +[node name="Poke" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")] +transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) + +[node name="AnimationTree" parent="XROrigin3D/LeftHand/LeftHand" index="1"] +tree_root = SubResource("AnimationNodeBlendTree_1niag") + +[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("4_whmmd")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -1, 0.5) + +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("2")] + +[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature" index="0"] +bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824) +bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042) +bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639) +bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979) +bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608) +bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929) +bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775) +bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934) +bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027) +bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843) +bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685) +bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718) +bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124) +bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136) +bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994) +bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524) +bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351) +bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086) +bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249) + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="1"] +transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096) bone_name = "Index_Tip_R" +bone_idx = 9 -[node name="Poke" parent="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 7 )] -transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 ) +[node name="Poke" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")] +transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) -[node name="AnimationTree" parent="ARVROrigin/RightHand/RightHand" index="1"] -tree_root = SubResource( 25 ) +[node name="AnimationTree" parent="XROrigin3D/RightHand/RightHand" index="1"] +tree_root = SubResource("AnimationNodeBlendTree_4py0i") -[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 18 )] +[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("4_whmmd")] -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 11 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("11")] max_speed = 5.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 14 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("14")] -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 10 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("10")] -[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("4")] -[node name="Teleport" parent="." index="2" instance=ExtResource( 5 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 ) +[node name="Teleport" parent="." index="2" instance=ExtResource("5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4) scene_base = NodePath("..") -title = ExtResource( 6 ) +title = ExtResource("6") -[node name="Instructions" parent="." index="3" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("11_570m5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4) -[node name="PokeCanvas" type="Spatial" parent="." index="4"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -1.581 ) +[node name="PokeCanvas" type="Node3D" parent="." index="4"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -1.581) -[node name="Viewport2Din3D" parent="PokeCanvas" index="0" instance=ExtResource( 8 )] -screen_size = Vector2( 1, 0.5 ) -viewport_size = Vector2( 1000, 500 ) -scene = ExtResource( 9 ) +[node name="Viewport2Din3D" parent="PokeCanvas" index="0" instance=ExtResource("8")] +screen_size = Vector2(1, 0.5) +viewport_size = Vector2(1000, 500) +scene = ExtResource("9") -[node name="HandPoseArea" parent="PokeCanvas" index="1" instance=ExtResource( 15 )] -left_pose = ExtResource( 16 ) -right_pose = ExtResource( 17 ) +[node name="HandPoseArea" parent="PokeCanvas" index="1" instance=ExtResource("14_qyy11")] +left_pose = ExtResource("15_08yhv") +right_pose = ExtResource("16_n1x7k") -[node name="CollisionShape" type="CollisionShape" parent="PokeCanvas/HandPoseArea" index="0"] -shape = SubResource( 13 ) +[node name="CollisionShape3D" type="CollisionShape3D" parent="PokeCanvas/HandPoseArea" index="0"] +shape = SubResource("BoxShape3D_s7l3t") -[node name="Table" parent="." index="5" instance=ExtResource( 12 )] -transform = Transform( 0.515726, 0, -0.856754, 0, 1, 0, 0.856754, 0, 0.515726, 2.37791, 0, -0.681984 ) +[node name="Table" parent="." index="5" instance=ExtResource("12")] +transform = Transform3D(0.515726, 0, -0.856754, 0, 1, 0, 0.856754, 0, 0.515726, 2.37791, 0, -0.681984) -[node name="GrabCube01" parent="Table" index="10" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.890771, 0 ) +[node name="GrabCube01" parent="Table" index="10" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.890771, 0) -[node name="GrabCube02" parent="Table" index="11" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.149316, 0.890771, 0.0898814 ) +[node name="GrabCube02" parent="Table" index="11" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.149316, 0.890771, 0.0898814) -[node name="GrabCube03" parent="Table" index="12" instance=ExtResource( 13 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.138419, 0.890771, 0.13692 ) +[node name="GrabCube03" parent="Table" index="12" instance=ExtResource("13")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.138419, 0.890771, 0.13692) -[editable path="ARVROrigin/LeftHand/LeftHand"] -[editable path="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L"] -[editable path="ARVROrigin/RightHand/RightHand"] -[editable path="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R"] +[editable path="XROrigin3D/LeftHand/LeftHand"] +[editable path="XROrigin3D/LeftHand/LeftHand/Hand_low_L"] +[editable path="XROrigin3D/RightHand/RightHand"] +[editable path="XROrigin3D/RightHand/RightHand/Hand_low_R"] diff --git a/scenes/sphere_world_demo/environments/constellations.tres b/scenes/sphere_world_demo/environments/constellations.tres index 5daf332f..aefdeafe 100644 --- a/scenes/sphere_world_demo/environments/constellations.tres +++ b/scenes/sphere_world_demo/environments/constellations.tres @@ -1,12 +1,15 @@ -[gd_resource type="Environment" load_steps=3 format=2] +[gd_resource type="Environment" load_steps=4 format=3 uid="uid://dd1kfsedti62a"] -[ext_resource path="res://assets/nasa/starmap_and_constellation_figures_4k.jpg" type="Texture" id=1] +[ext_resource type="Texture2D" uid="uid://2tmlveuwlpbw" path="res://assets/nasa/starmap_and_constellation_figures_4k.jpg" id="1"] -[sub_resource type="PanoramaSky" id=1] -panorama = ExtResource( 1 ) +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_f3n3e"] +panorama = ExtResource("1") + +[sub_resource type="Sky" id="Sky_ef5og"] +sky_material = SubResource("PanoramaSkyMaterial_f3n3e") [resource] background_mode = 2 -background_sky = SubResource( 1 ) -ambient_light_color = Color( 1, 1, 1, 1 ) +sky = SubResource("Sky_ef5og") +ambient_light_color = Color(1, 1, 1, 1) ambient_light_energy = 0.7 diff --git a/scenes/sphere_world_demo/objects/donut.tscn b/scenes/sphere_world_demo/objects/donut.tscn index bdde1a9b..0fa29ca2 100644 --- a/scenes/sphere_world_demo/objects/donut.tscn +++ b/scenes/sphere_world_demo/objects/donut.tscn @@ -1,11 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://bu7s5v5ygr0aa"] -[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"] -[node name="Donut" type="Spatial"] +[node name="Donut" type="Node3D"] -[node name="CSGTorus" type="CSGTorus" parent="."] -transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 6, 0 ) +[node name="CSGTorus" type="CSGTorus3D" parent="."] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 6, 0) use_collision = true collision_layer = 8 collision_mask = 0 @@ -13,4 +13,4 @@ inner_radius = 6.0 outer_radius = 8.0 sides = 30 ring_sides = 12 -material = ExtResource( 1 ) +material = ExtResource("1") diff --git a/scenes/sphere_world_demo/objects/tower.tscn b/scenes/sphere_world_demo/objects/tower.tscn index 7efcbd29..b12f8ea1 100644 --- a/scenes/sphere_world_demo/objects/tower.tscn +++ b/scenes/sphere_world_demo/objects/tower.tscn @@ -1,23 +1,23 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://cutuj4o2r75tg"] -[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2] +[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"] -[sub_resource type="BoxShape" id=1] -extents = Vector3( 1.5, 4, 1.5 ) +[sub_resource type="BoxShape3D" id="BoxShape3D_2a2jy"] +size = Vector3(3, 8, 3) -[sub_resource type="CubeMesh" id=2] -size = Vector3( 3, 8, 3 ) +[sub_resource type="BoxMesh" id="2"] +material = ExtResource("2") +size = Vector3(3, 8, 3) -[node name="Tower" instance=ExtResource( 1 )] +[node name="Tower" instance=ExtResource("1")] collision_layer = 2 collision_mask = 0 -[node name="CollisionShape" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 ) -shape = SubResource( 1 ) +[node name="CollisionShape3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +shape = SubResource("BoxShape3D_2a2jy") -[node name="MeshInstance" type="MeshInstance" parent="." index="1"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 ) -mesh = SubResource( 2 ) -material/0 = ExtResource( 2 ) +[node name="MeshInstance" type="MeshInstance3D" parent="." index="1"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0) +mesh = SubResource("2") diff --git a/scenes/sphere_world_demo/sphere_world_demo.png.import b/scenes/sphere_world_demo/sphere_world_demo.png.import index 6e218154..49f229fc 100644 --- a/scenes/sphere_world_demo/sphere_world_demo.png.import +++ b/scenes/sphere_world_demo/sphere_world_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.stex" -path.etc="res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc.stex" +type="CompressedTexture2D" +uid="uid://dhd30j0xpcxoi" +path.s3tc="res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.ctex" +path.etc2="res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/sphere_world_demo/sphere_world_demo.png" -dest_files=[ "res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.stex", "res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc.stex" ] +dest_files=["res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.ctex", "res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/sphere_world_demo/sphere_world_demo.tscn b/scenes/sphere_world_demo/sphere_world_demo.tscn index 1b31da61..c0731ecb 100644 --- a/scenes/sphere_world_demo/sphere_world_demo.tscn +++ b/scenes/sphere_world_demo/sphere_world_demo.tscn @@ -1,167 +1,164 @@ -[gd_scene load_steps=27 format=2] - -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=3] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" type="PackedScene" id=11] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" type="PackedScene" id=12] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.tscn" type="PackedScene" id=13] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=16] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=17] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/sphere_world_demo/environments/constellations.tres" type="Environment" id=19] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=20] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=21] -[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=22] -[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=23] -[ext_resource path="res://scenes/sphere_world_demo/objects/tower.tscn" type="PackedScene" id=24] -[ext_resource path="res://scenes/sphere_world_demo/objects/donut.tscn" type="PackedScene" id=25] - -[sub_resource type="SphereMesh" id=1] -material = ExtResource( 2 ) +[gd_scene load_steps=27 format=3 uid="uid://b5o25nkvyv8ho"] + +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://bx1xdisoqo1f6" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://chumpejwiub7f" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://c78tjrtiyqna8" path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" id="11"] +[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" id="12"] +[ext_resource type="PackedScene" uid="uid://bgts3vpmjn6bb" path="res://addons/godot-xr-tools/functions/movement_wind.tscn" id="13"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="16"] +[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="17"] +[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="18"] +[ext_resource type="Environment" uid="uid://dd1kfsedti62a" path="res://scenes/sphere_world_demo/environments/constellations.tres" id="19"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="20"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="21"] +[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="22"] +[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="23"] +[ext_resource type="PackedScene" uid="uid://bu7s5v5ygr0aa" path="res://scenes/sphere_world_demo/objects/donut.tscn" id="23_nox6a"] +[ext_resource type="PackedScene" uid="uid://cutuj4o2r75tg" path="res://scenes/sphere_world_demo/objects/tower.tscn" id="24"] + +[sub_resource type="SphereMesh" id="1"] +material = ExtResource("2") radius = 50.0 height = 100.0 -[sub_resource type="SphereShape" id=2] +[sub_resource type="SphereShape3D" id="2"] radius = 50.0 -[sub_resource type="SphereShape" id=3] +[sub_resource type="SphereShape3D" id="3"] radius = 80.0 -[node name="SphereWorldDemo" instance=ExtResource( 1 )] -environment = ExtResource( 19 ) +[node name="SphereWorldDemo" instance=ExtResource("1")] +environment = ExtResource("19") -[node name="ARVROrigin" parent="." index="0"] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0 ) +[node name="XROrigin3D" parent="." index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0) -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 4 )] +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("4")] -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("8")] grab_collision_mask = 6 ranged_enable = false -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")] max_speed = 3.0 strafe = true -[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 6 )] +[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("6")] -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 7 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("7")] +jump_button_action = "ax_button" -[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="5" instance=ExtResource( 9 )] -crouch_button = 1 +[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="5" instance=ExtResource("9")] +crouch_button_action = "by_button" -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )] +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("10")] -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 8 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("8")] grab_collision_mask = 6 ranged_enable = false -ranged_collision_mask = 0 -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 5 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("5")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 16 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("16")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 7 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7")] +jump_button_action = "ax_button" -[node name="MovementGrapple" parent="ARVROrigin/RightHand" index="5" instance=ExtResource( 11 )] +[node name="MovementGrapple" parent="XROrigin3D/RightHand" index="5" instance=ExtResource("11")] grapple_collision_mask = 3 -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 3 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("3")] -[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 18 )] +[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("18")] -[node name="MovementWind" parent="ARVROrigin" index="5" instance=ExtResource( 13 )] +[node name="MovementWind" parent="XROrigin3D" index="5" instance=ExtResource("13")] -[node name="MovementGlide" parent="ARVROrigin" index="6" instance=ExtResource( 17 )] +[node name="MovementGlide" parent="XROrigin3D" index="6" instance=ExtResource("17")] -[node name="MovementWallWalk" parent="ARVROrigin" index="7" instance=ExtResource( 12 )] +[node name="MovementWallWalk" parent="XROrigin3D" index="7" instance=ExtResource("12")] -[node name="Teleport1" parent="." index="1" instance=ExtResource( 20 )] -transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 49.9, 0, 0 ) +[node name="Teleport1" parent="." index="1" instance=ExtResource("20")] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 49.9, 0, 0) scene_base = NodePath("..") -title = ExtResource( 21 ) +title = ExtResource("21") -[node name="Teleport2" parent="." index="2" instance=ExtResource( 20 )] -transform = Transform( 1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, -49.9 ) +[node name="Teleport2" parent="." index="2" instance=ExtResource("20")] +transform = Transform3D(1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, -49.9) scene_base = NodePath("..") -title = ExtResource( 21 ) +title = ExtResource("21") -[node name="Teleport3" parent="." index="3" instance=ExtResource( 20 )] -transform = Transform( 4.37114e-08, -1, -8.74228e-08, -1, -4.37114e-08, 0, -3.82137e-15, 8.74228e-08, -1, -49.9, 0, 0 ) +[node name="Teleport3" parent="." index="3" instance=ExtResource("20")] +transform = Transform3D(4.37114e-08, -1, -8.74228e-08, -1, -4.37114e-08, 0, -3.82137e-15, 8.74228e-08, -1, -49.9, 0, 0) scene_base = NodePath("..") -title = ExtResource( 21 ) +title = ExtResource("21") -[node name="Teleport4" parent="." index="4" instance=ExtResource( 20 )] -transform = Transform( -5.73206e-15, 1.31134e-07, -1, -1, -4.37114e-08, 0, -4.37114e-08, 1, 1.31134e-07, 0, 0, 49.9 ) +[node name="Teleport4" parent="." index="4" instance=ExtResource("20")] +transform = Transform3D(-5.73206e-15, 1.31134e-07, -1, -1, -4.37114e-08, 0, -4.37114e-08, 1, 1.31134e-07, 0, 0, 49.9) scene_base = NodePath("..") -title = ExtResource( 21 ) +title = ExtResource("21") -[node name="World" type="Spatial" parent="." index="5"] +[node name="World" type="Node3D" parent="." index="5"] -[node name="Body" type="StaticBody" parent="World" index="0"] +[node name="Body" type="StaticBody3D" parent="World" index="0"] collision_layer = 8 collision_mask = 0 -[node name="MeshInstance" type="MeshInstance" parent="World/Body" index="0"] -mesh = SubResource( 1 ) +[node name="MeshInstance" type="MeshInstance3D" parent="World/Body" index="0"] +mesh = SubResource("1") -[node name="CollisionShape" type="CollisionShape" parent="World/Body" index="1"] -shape = SubResource( 2 ) +[node name="CollisionShape" type="CollisionShape3D" parent="World/Body" index="1"] +shape = SubResource("2") -[node name="Gravity" type="Area" parent="World" index="1"] -space_override = 3 +[node name="Gravity" type="Area3D" parent="World" index="1"] +collision_layer = 0 +collision_mask = 524292 +gravity_space_override = 3 gravity_point = true -gravity_vec = Vector3( 0, 0, 0 ) +gravity_point_center = Vector3(0, 0, 0) +gravity_direction = Vector3(0, 0, 0) -[node name="CollisionShape" type="CollisionShape" parent="World/Gravity" index="0"] -shape = SubResource( 3 ) +[node name="CollisionShape" type="CollisionShape3D" parent="World/Gravity" index="0"] +shape = SubResource("3") -[node name="Mound1" parent="World" index="2" instance=ExtResource( 22 )] -transform = Transform( 1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 47, 14 ) +[node name="Mound1" parent="World" index="2" instance=ExtResource("22")] +transform = Transform3D(1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 47, 14) -[node name="Mound2" parent="World" index="3" instance=ExtResource( 22 )] -transform = Transform( 1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 47, -14 ) +[node name="Mound2" parent="World" index="3" instance=ExtResource("22")] +transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 47, -14) -[node name="Ramps1" parent="World" index="4" instance=ExtResource( 23 )] -transform = Transform( -4.2222e-08, -0.258819, 0.965926, -1.13133e-08, 0.965926, 0.258819, -1, 0, -4.37114e-08, -12, 48, 0 ) +[node name="Ramps1" parent="World" index="4" instance=ExtResource("23")] +transform = Transform3D(-4.2222e-08, -0.258819, 0.965926, -1.13133e-08, 0.965926, 0.258819, -1, 0, -4.37114e-08, -12, 48, 0) -[node name="Ramps2" parent="World" index="5" instance=ExtResource( 23 )] -transform = Transform( -4.2222e-08, 0.258819, 0.965926, 1.13133e-08, 0.965926, -0.258819, -1, 0, -4.37114e-08, 12, 48, 0 ) +[node name="Ramps2" parent="World" index="5" instance=ExtResource("23")] +transform = Transform3D(-4.2222e-08, 0.258819, 0.965926, 1.13133e-08, 0.965926, -0.258819, -1, 0, -4.37114e-08, 12, 48, 0) -[node name="Tower1" parent="World" index="6" instance=ExtResource( 24 )] -transform = Transform( 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -35, 35, 0 ) +[node name="Tower1" parent="World" index="6" instance=ExtResource("24")] +transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -35, 35, 0) -[node name="Tower2" parent="World" index="7" instance=ExtResource( 24 )] -transform = Transform( 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 35, 35, 0 ) +[node name="Tower2" parent="World" index="7" instance=ExtResource("24")] +transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 35, 35, 0) -[node name="Tower3" parent="World" index="8" instance=ExtResource( 24 )] -transform = Transform( 1, 5.96046e-08, 0, -4.21468e-08, 0.707107, -0.707107, -4.21468e-08, 0.707107, 0.707107, 0, 35, 35 ) +[node name="Tower3" parent="World" index="8" instance=ExtResource("24")] +transform = Transform3D(1, 5.96046e-08, 0, -4.21468e-08, 0.707107, -0.707107, -4.21468e-08, 0.707107, 0.707107, 0, 35, 35) -[node name="Tower4" parent="World" index="9" instance=ExtResource( 24 )] -transform = Transform( 1, 5.96046e-08, 0, -4.21468e-08, 0.707107, 0.707107, 4.21469e-08, -0.707107, 0.707107, 0, 35, -35 ) +[node name="Tower4" parent="World" index="9" instance=ExtResource("24")] +transform = Transform3D(1, 5.96046e-08, 0, -4.21468e-08, 0.707107, 0.707107, 4.21469e-08, -0.707107, 0.707107, 0, 35, -35) -[node name="Donut1" parent="World" index="10" instance=ExtResource( 25 )] -transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 49.5, 0 ) +[node name="Donut1" parent="World" index="10" instance=ExtResource("23_nox6a")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 49.5, 0) -[node name="Donut2" parent="World" index="11" instance=ExtResource( 25 )] -transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 0, 49.5, 0 ) +[node name="Donut2" parent="World" index="11" instance=ExtResource("23_nox6a")] +transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 0, 49.5, 0) -[node name="DirectionalLight" type="DirectionalLight" parent="." index="6"] -transform = Transform( 1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 60, 0 ) +[node name="DirectionalLight" type="DirectionalLight3D" parent="." index="6"] +transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 60, 0) light_energy = 0.8 diff --git a/scenes/sprinting_demo/objects/instructions_2d.tscn b/scenes/sprinting_demo/objects/instructions_2d.tscn index 44601717..d3720d44 100644 --- a/scenes/sprinting_demo/objects/instructions_2d.tscn +++ b/scenes/sprinting_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://culguvmnpqpy5"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Sprinting Demo This scene sprinting movement using the following controls: diff --git a/scenes/sprinting_demo/sprinting_demo.png.import b/scenes/sprinting_demo/sprinting_demo.png.import index d0d0b3a5..009029cf 100644 --- a/scenes/sprinting_demo/sprinting_demo.png.import +++ b/scenes/sprinting_demo/sprinting_demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.stex" -path.etc="res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc.stex" +type="CompressedTexture2D" +uid="uid://v4807nasx1dc" +path.s3tc="res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.ctex" +path.etc2="res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/sprinting_demo/sprinting_demo.png" -dest_files=[ "res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.stex", "res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc.stex" ] +dest_files=["res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.ctex", "res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/sprinting_demo/sprinting_demo.tscn b/scenes/sprinting_demo/sprinting_demo.tscn index ba958334..78021569 100644 --- a/scenes/sprinting_demo/sprinting_demo.tscn +++ b/scenes/sprinting_demo/sprinting_demo.tscn @@ -1,93 +1,91 @@ -[gd_scene load_steps=21 format=2] - -[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=2] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=3] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=5] -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=6] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=7] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=8] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=11] -[ext_resource path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" type="Material" id=12] -[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=13] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=14] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=15] -[ext_resource path="res://scenes/sprinting_demo/player_physics.tres" type="Resource" id=16] -[ext_resource path="res://scenes/sprinting_demo/objects/ramp.tscn" type="PackedScene" id=17] -[ext_resource path="res://scenes/sprinting_demo/objects/climbing_wall.tscn" type="PackedScene" id=18] -[ext_resource path="res://scenes/sprinting_demo/objects/instructions.tscn" type="PackedScene" id=19] - -[sub_resource type="Curve3D" id=1] +[gd_scene load_steps=22 format=3] + +[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="1"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_5a8oj"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="8"] +[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="11"] +[ext_resource type="Material" uid="uid://p0q2df2dmy62" path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" id="12"] +[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="12_gkoml"] +[ext_resource type="Resource" path="res://scenes/sprinting_demo/player_physics.tres" id="12_ureyg"] +[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="13"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="14"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="15"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="16_3bcyp"] +[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/ramp.tscn" id="17"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="17_k8kqb"] +[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/climbing_wall.tscn" id="18"] +[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/instructions.tscn" id="19"] + +[sub_resource type="Curve3D" id="1"] bake_interval = 2.0 _data = { -"points": PoolVector3Array( 10, 0, 0, -10, 0, 0, -20, 0, 20, 0, 0, 10, 0, 0, -10, -40, 0, 0, -10, 0, 0, 10, 0, 0, -20, 0, -20, -10, 0, 0, 10, 0, 0, 20, 0, -20, 0, 0, -10, 0, 0, 10, 40, 0, 0, 10, 0, 0, -10, 0, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, -20, 0, 20 ), -"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ) +"points": PackedVector3Array(10, 0, 0, -10, 0, 0, -20, 0, 20, 0, 0, 10, 0, 0, -10, -40, 0, 0, -10, 0, 0, 10, 0, 0, -20, 0, -20, -10, 0, 0, 10, 0, 0, 20, 0, -20, 0, 0, -10, 0, 0, 10, 40, 0, 0, 10, 0, 0, -10, 0, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, -20, 0, 20), +"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0) } +point_count = 7 -[node name="SprintingDemo" instance=ExtResource( 6 )] +[node name="SprintingDemo" instance=ExtResource("6")] +script = ExtResource("2_5a8oj") -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 7 )] -hand_material_override = ExtResource( 12 ) +[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("7")] +hand_material_override = ExtResource("12") -[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 10 )] +[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("10")] grab_distance = 0.1 -[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 11 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("11")] max_speed = 3.0 strafe = true -[node name="MovementJump" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 1 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("1")] +jump_button_action = "ax_button" -[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 8 )] +[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("8")] -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 9 )] -hand_material_override = ExtResource( 12 ) +[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("9")] +hand_material_override = ExtResource("12") -[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 10 )] +[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("10")] grab_distance = 0.1 -[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 11 )] -enabled = true -order = 10 +[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("11")] max_speed = 3.0 -strafe = false -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 2 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("16_3bcyp")] -[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 1 )] -jump_button_id = 7 +[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("1")] +jump_button_action = "ax_button" -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 5 )] -physics = ExtResource( 16 ) +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("17_k8kqb")] +physics = ExtResource("12_ureyg") -[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 3 )] +[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("12_gkoml")] -[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("4")] -[node name="Teleport" parent="." index="2" instance=ExtResource( 15 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0 ) +[node name="Teleport" parent="." index="2" instance=ExtResource("15")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0) scene_base = NodePath("..") -title = ExtResource( 14 ) +title = ExtResource("14") -[node name="Instructions" parent="." index="3" instance=ExtResource( 19 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("19")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4) -[node name="Track" type="Spatial" parent="." index="4"] +[node name="Track" type="Node3D" parent="." index="4"] -[node name="Path" type="Path" parent="Track" index="0"] -curve = SubResource( 1 ) +[node name="Path" type="Path3D" parent="Track" index="0"] +curve = SubResource("1") -[node name="CSGPolygon" type="CSGPolygon" parent="Track/Path" index="0"] -material_override = ExtResource( 13 ) +[node name="CSGPolygon" type="CSGPolygon3D" parent="Track/Path" index="0"] +material_override = ExtResource("13") use_collision = true collision_mask = 0 -polygon = PoolVector2Array( -3, 0, -2.5, 0.1, 2.5, 0.1, 3, 0 ) +polygon = PackedVector2Array(-3, 0, -2.5, 0.1, 2.5, 0.1, 3, 0) mode = 2 path_node = NodePath("..") path_interval_type = 0 @@ -99,30 +97,30 @@ path_continuous_u = true path_u_distance = 1.0 path_joined = true -[node name="Ramps" type="Spatial" parent="." index="5"] +[node name="Ramps" type="Node3D" parent="." index="5"] -[node name="Ramp1" parent="Ramps" index="0" instance=ExtResource( 17 )] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, 28 ) +[node name="Ramp1" parent="Ramps" index="0" instance=ExtResource("17")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, 28) -[node name="Ramp2" parent="Ramps" index="1" instance=ExtResource( 17 )] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, 28 ) +[node name="Ramp2" parent="Ramps" index="1" instance=ExtResource("17")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, 28) -[node name="Ramp3" parent="Ramps" index="2" instance=ExtResource( 17 )] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, -28 ) +[node name="Ramp3" parent="Ramps" index="2" instance=ExtResource("17")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, -28) -[node name="Ramp4" parent="Ramps" index="3" instance=ExtResource( 17 )] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, -28 ) +[node name="Ramp4" parent="Ramps" index="3" instance=ExtResource("17")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, -28) -[node name="Climbing" type="Spatial" parent="." index="6"] +[node name="Climbing" type="Node3D" parent="." index="6"] -[node name="ClimbingWall1" parent="Climbing" index="0" instance=ExtResource( 18 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 0, 0 ) +[node name="ClimbingWall1" parent="Climbing" index="0" instance=ExtResource("18")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 0, 0) -[node name="ClimbingWall2" parent="Climbing" index="1" instance=ExtResource( 18 )] -transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 48, 0, 0 ) +[node name="ClimbingWall2" parent="Climbing" index="1" instance=ExtResource("18")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 48, 0, 0) -[node name="ClimbingWall3" parent="Climbing" index="2" instance=ExtResource( 18 )] -transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 48 ) +[node name="ClimbingWall3" parent="Climbing" index="2" instance=ExtResource("18")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 48) -[node name="ClimbingWall4" parent="Climbing" index="3" instance=ExtResource( 18 )] -transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -48 ) +[node name="ClimbingWall4" parent="Climbing" index="3" instance=ExtResource("18")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -48) diff --git a/scenes/teleport_demo/objects/instructions_2d.tscn b/scenes/teleport_demo/objects/instructions_2d.tscn index 5c649e1d..dbad6bcb 100644 --- a/scenes/teleport_demo/objects/instructions_2d.tscn +++ b/scenes/teleport_demo/objects/instructions_2d.tscn @@ -1,22 +1,25 @@ -[gd_scene format=2] +[gd_scene format=3 uid="uid://l1rvno7fmj73"] [node name="Instructions" type="Control"] +layout_mode = 3 +anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -624.0 -margin_bottom = -350.0 -rect_pivot_offset = Vector2( -421, -85 ) [node name="ColorRect" type="ColorRect" parent="."] -margin_right = 400.0 -margin_bottom = 250.0 -color = Color( 0, 0, 0, 0.87451 ) +layout_mode = 0 +offset_right = 400.0 +offset_bottom = 250.0 +color = Color(0, 0, 0, 0.87451) [node name="Description" type="RichTextLabel" parent="."] -margin_left = 10.0 -margin_top = 10.0 -margin_right = 390.0 -margin_bottom = 240.0 +layout_mode = 0 +offset_left = 10.0 +offset_top = 10.0 +offset_right = 390.0 +offset_bottom = 240.0 +theme_override_constants/line_separation = -3 +theme_override_font_sizes/normal_font_size = 12 text = "Teleport Demo This scene demonstrates teleport movement and is configured with the following movement controls: diff --git a/scenes/teleport_demo/teleport movement demo.png.import b/scenes/teleport_demo/teleport movement demo.png.import index b25a599c..944f30ce 100644 --- a/scenes/teleport_demo/teleport movement demo.png.import +++ b/scenes/teleport_demo/teleport movement demo.png.import @@ -1,37 +1,36 @@ [remap] importer="texture" -type="StreamTexture" -path.s3tc="res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.stex" -path.etc="res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc.stex" +type="CompressedTexture2D" +uid="uid://c8qc5ja60n3u8" +path.s3tc="res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.ctex" +path.etc2="res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc2.ctex" metadata={ -"imported_formats": [ "s3tc", "etc" ], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://scenes/teleport_demo/teleport movement demo.png" -dest_files=[ "res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.stex", "res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc.stex" ] +dest_files=["res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.ctex", "res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc2.ctex"] [params] compress/mode=2 +compress/high_quality=false compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 +compress/hdr_compression=1 compress/normal_map=0 -flags/repeat=true -flags/filter=true -flags/mipmaps=true -flags/anisotropic=false -flags/srgb=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" process/fix_alpha_border=true process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false process/normal_map_invert_y=false -stream=false -size_limit=0 -detect_3d=false -svg/scale=1.0 +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/scenes/teleport_demo/teleport_demo.tscn b/scenes/teleport_demo/teleport_demo.tscn index c23d5395..1b376854 100644 --- a/scenes/teleport_demo/teleport_demo.tscn +++ b/scenes/teleport_demo/teleport_demo.tscn @@ -1,42 +1,38 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=12 format=3 uid="uid://7g6nh3s77jd7"] -[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1] -[ext_resource path="res://addons/godot-xr-tools/functions/function_teleport.tscn" type="PackedScene" id=2] -[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=3] -[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4] -[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=5] -[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=6] -[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=7] -[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=8] -[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=9] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=10] -[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=11] -[ext_resource path="res://scenes/teleport_demo/objects/instructions.tscn" type="PackedScene" id=12] +[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://fiul51tsyoop" path="res://addons/godot-xr-tools/functions/function_teleport.tscn" id="2"] +[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_sq0a2"] +[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="3"] +[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="5"] +[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="6"] +[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="8"] +[ext_resource type="PackedScene" path="res://scenes/teleport_demo/objects/instructions.tscn" id="8_s8lss"] +[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="9"] -[node name="TeleportDemo" instance=ExtResource( 1 )] +[node name="TeleportDemo" instance=ExtResource("1")] +script = ExtResource("2_sq0a2") -[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 11 )] +[node name="FunctionTeleport" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2")] -[node name="FunctionTeleport" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 2 )] +[node name="MovementTurn" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5")] -[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )] +[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("4")] -[node name="MovementTurn" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )] +[node name="BasicMap" parent="." index="1" instance=ExtResource("7")] -[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 4 )] - -[node name="BasicMap" parent="." index="1" instance=ExtResource( 7 )] - -[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 6 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7 ) +[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7) scene_base = NodePath("..") -title = ExtResource( 3 ) +title = ExtResource("3") -[node name="Instructions" parent="." index="3" instance=ExtResource( 12 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 ) +[node name="Instructions" parent="." index="3" instance=ExtResource("8_s8lss")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4) -[node name="Ramps" parent="." index="4" instance=ExtResource( 8 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8 ) +[node name="Ramps" parent="." index="4" instance=ExtResource("8")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8) -[node name="Mound" parent="." index="5" instance=ExtResource( 9 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8 ) +[node name="Mound" parent="." index="5" instance=ExtResource("9")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8)