diff --git a/assets/characters/animations/dasher-pack.res b/assets/characters/animations/dasher-pack.res new file mode 100644 index 0000000..bbbb2aa Binary files /dev/null and b/assets/characters/animations/dasher-pack.res differ diff --git a/assets/characters/animations/dasher-pack.tres b/assets/characters/animations/dasher-pack.tres new file mode 100644 index 0000000..b741777 --- /dev/null +++ b/assets/characters/animations/dasher-pack.tres @@ -0,0 +1,631 @@ +[gd_resource type="AnimationLibrary" format=3] + +[sub_resource type="Animation" id="Animation_pebao"] +length = 0.5 +tracks/0/type = "rotation_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0.34238845, 1.5708939e-07, -5.5968407e-08, 0.9395585, 0.033333335, 1, 0.3305442, 1.5623375e-07, -4.5335742e-08, 0.94379056, 0.06666667, 1, 0.301523, 1.5505638e-07, -1.9152363e-08, 0.9534589, 0.1, 1, 0.26518956, 1.5532987e-07, 1.39529295e-08, 0.9641963, 0.13333334, 1, 0.23179884, 1.5667713e-07, 4.533578e-08, 0.9727638, 0.16666667, 1, 0.21196172, 1.5609982e-07, 6.6536835e-08, 0.977278, 0.2, 1, 0.21154101, 1.4794188e-07, 7.5990435e-08, 0.9773691, 0.23333333, 1, 0.22426, 1.3351601e-07, 7.7956074e-08, 0.9745293, 0.26666668, 1, 0.2425952, 1.1952865e-07, 7.2984484e-08, 0.9701276, 0.3, 1, 0.25909162, 1.1277934e-07, 6.2371846e-08, 0.9658528, 0.33333334, 1, 0.27442306, 1.148871e-07, 4.4474916e-08, 0.96160907, 0.36666667, 1, 0.29247355, 1.2213901e-07, 1.9690756e-08, 0.9562736, 0.4, 1, 0.31072947, 1.326901e-07, -7.1720985e-09, 0.9504984, 0.43333334, 1, 0.32673204, 1.4408309e-07, -3.1553007e-08, 0.945117, 0.46666667, 1, 0.33807683, 1.5330711e-07, -4.9181153e-08, 0.9411185, 0.5, 1, 0.34238845, 1.5708939e-07, -5.5968407e-08, 0.9395585) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Spine1") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.31937256, 1.9802002e-07, -3.665855e-07, 0.9476293, 0.033333335, 1, -0.33358824, 0.0012690381, -0.0018437031, 0.94271624, 0.06666667, 1, -0.36740822, 0.004161775, -0.0065399446, 0.9300275, 0.1, 1, -0.40766144, 0.0073642395, -0.012770037, 0.9130142, 0.13333334, 1, -0.44178134, 0.009988794, -0.018933056, 0.89686733, 0.16666667, 1, -0.45800525, 0.011690596, -0.023166168, 0.88857067, 0.2, 1, -0.44634637, 0.012967478, -0.024879681, 0.8944204, 0.23333333, 1, -0.41446674, 0.014149548, -0.02495417, 0.90961224, 0.26666668, 1, -0.3776802, 0.014748214, -0.023739967, 0.9255142, 0.3, 1, -0.3522593, 0.014289263, -0.021660056, 0.93554264, 0.33333334, 1, -0.3399939, 0.012479725, -0.018391669, 0.940165, 0.36666667, 1, -0.33112267, 0.009629176, -0.013909034, 0.9434361, 0.4, 1, -0.32515508, 0.0063351113, -0.009029623, 0.9455964, 0.43333334, 1, -0.32157147, 0.003219309, -0.004552275, 0.9468689, 0.46666667, 1, -0.3198295, 0.00090443454, -0.0012739573, 0.9474738, 0.5, 1, -0.31937256, 1.9802002e-07, -3.665855e-07, 0.9476293) +tracks/2/type = "rotation_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:Head") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.17886406, -3.554911e-07, -2.4261183e-07, 0.98387384, 0.033333335, 1, -0.18172997, -8.714442e-05, -0.00012339467, 0.9833485, 0.06666667, 1, -0.18745717, -0.00026321414, -0.00036816578, 0.9822727, 0.1, 1, -0.19174813, -0.00039689787, -0.00055041583, 0.98144394, 0.13333334, 1, -0.19031827, -0.0003522195, -0.00048988627, 0.9817223, 0.16666667, 1, -0.17886408, -3.5629157e-07, -2.422548e-07, 0.98387384, 0.2, 1, -0.14348157, 0.0010094029, 0.0015552446, 0.98965126, 0.23333333, 1, -0.08865402, 0.0023420877, 0.004085629, 0.9960514, 0.26666668, 1, -0.038101744, 0.0033183873, 0.006534733, 0.999247, 0.3, 1, -0.015910111, 0.003669463, 0.0076415697, 0.9998375, 0.33333334, 1, -0.028050866, 0.003483296, 0.007033757, 0.9995757, 0.36666667, 1, -0.058380038, 0.002956091, 0.0055398243, 0.99827474, 0.4, 1, -0.09772128, 0.0021412498, 0.0036576986, 0.99520487, 0.43333334, 1, -0.13690743, 0.001184109, 0.0018512, 0.99058145, 0.46666667, 1, -0.16690645, 0.00035402534, 0.00051823625, 0.9859726, 0.5, 1, -0.17886406, -3.554911e-07, -2.4261183e-07, 0.98387384) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.033333335, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.06666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.1, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.13333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.16666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.2, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.23333333, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.26666668, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.3, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.33333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.36666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.4, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.43333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.46666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.5, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077) +tracks/4/type = "position_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, -0.0016287112, 0.14501561, 0.00025158125, 0.033333335, 1, -0.0014169419, 0.14814326, 0.0005686792, 0.06666667, 1, -0.00089517375, 0.15584946, 0.0013501979, 0.1, 1, -0.00023364913, 0.16561928, 0.0023408532, 0.13333334, 1, 0.0003972705, 0.17493771, 0.0032857032, 0.16666667, 1, 0.00082737766, 0.18128975, 0.003929783, 0.2, 1, 0.0010269169, 0.18423694, 0.0042286315, 0.23333333, 1, 0.0010866298, 0.18511865, 0.004318045, 0.26666668, 1, 0.0010166873, 0.18408589, 0.0042133117, 0.3, 1, 0.0008273692, 0.18128976, 0.0039298316, 0.33333334, 1, 0.0004748591, 0.17608373, 0.0034018615, 0.36666667, 1, -2.7718546e-05, 0.16866097, 0.0026492667, 0.4, 1, -0.00058487325, 0.16043212, 0.0018148312, 0.43333334, 1, -0.0011011158, 0.15280783, 0.001041744, 0.46666667, 1, -0.0014808996, 0.14719877, 0.0004730025, 0.5, 1, -0.0016287112, 0.14501561, 0.00025158125) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, -0.25816974, 0.70056593, -0.29189405, 0.59779066, 0.033333335, 1, -0.2696654, 0.67672503, -0.2821626, 0.624266, 0.06666667, 1, -0.27750358, 0.6097148, -0.27519694, 0.68956965, 0.1, 1, -0.24490495, 0.5193297, -0.30176663, 0.76108813, 0.13333334, 1, -0.17328225, 0.44258872, -0.3602416, 0.80269206, 0.16666667, 1, -0.10632605, 0.40261003, -0.41415966, 0.80936503, 0.2, 1, -0.07155382, 0.3885845, -0.4417803, 0.8054268, 0.23333333, 1, -0.060796093, 0.38500503, -0.45026466, 0.8033285, 0.26666668, 1, -0.073382966, 0.38922706, -0.4403348, 0.80574346, 0.3, 1, -0.10632607, 0.40261003, -0.41415972, 0.80936503, 0.33333334, 1, -0.16214292, 0.4344865, -0.36927068, 0.8053387, 0.36666667, 1, -0.22552416, 0.4925329, -0.31764525, 0.77823627, 0.4, 1, -0.2680392, 0.5671185, -0.28282684, 0.72563124, 0.43333334, 1, -0.27795827, 0.6372119, -0.27499014, 0.664139, 0.46666667, 1, -0.2666859, 0.68418556, -0.28469494, 0.6162123, 0.5, 1, -0.25816974, 0.70056593, -0.29189405, 0.59779066) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.033333335, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.06666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.1, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.13333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.16666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.2, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.23333333, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.26666668, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.3, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.33333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.36666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.4, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.43333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.46666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.5, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/7/interp = 0 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.033333335, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.06666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.1, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.13333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.16666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.2, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.23333333, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.26666668, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.3, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.33333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.36666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.4, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.43333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.46666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.5, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.26573053, -0.697032, 0.30054164, 0.59431344, 0.033333335, 1, -0.26514634, -0.7149297, 0.2971665, 0.5746869, 0.06666667, 1, -0.27849984, -0.75604916, 0.2730258, 0.5256277, 0.1, 1, -0.32284456, -0.79228413, 0.2130898, 0.47185802, 0.13333334, 1, -0.38520038, -0.80033016, 0.13477506, 0.43923572, 0.16666667, 1, -0.43050346, -0.7913746, 0.08032379, 0.42654556, 0.2, 1, -0.43999317, -0.79654443, 0.075375274, 0.40772733, 0.23333333, 1, -0.4221509, -0.81570446, 0.10790816, 0.38048744, 0.26666668, 1, -0.38773796, -0.8319144, 0.15990397, 0.36332962, 0.3, 1, -0.35406128, -0.8346237, 0.20647971, 0.36798105, 0.33333334, 1, -0.32361048, -0.8239212, 0.24414822, 0.39600748, 0.36666667, 1, -0.29427922, -0.8001748, 0.2781188, 0.4424591, 0.4, 1, -0.27420318, -0.76725876, 0.29920068, 0.49659392, 0.43333334, 1, -0.2655884, -0.73324066, 0.30566746, 0.5462494, 0.46666667, 1, -0.26483387, -0.70721585, 0.30311957, 0.5812292, 0.5, 1, -0.26573053, -0.697032, 0.30054164, 0.59431344) +tracks/9/type = "rotation_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.033333335, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.06666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.1, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.13333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.16666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.2, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.23333333, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.26666668, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.3, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.33333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.36666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.4, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.43333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.46666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.5, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightHand") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.054799054, -0.029264994, 0.022636186, 0.9978118, 0.033333335, 1, 0.09116625, -0.030299483, 0.017239934, 0.99522537, 0.06666667, 1, 0.1792024, -0.031148527, 0.0026243937, 0.9833155, 0.1, 1, 0.28657147, -0.028187746, -0.018351056, 0.9574683, 0.13333334, 1, 0.38179466, -0.019808618, -0.042242225, 0.9230688, 0.16666667, 1, 0.43715477, -0.008034734, -0.06635708, 0.89689904, 0.2, 1, 0.4413841, 0.008025636, -0.102265455, 0.8914356, 0.23333333, 1, 0.41133982, 0.024515117, -0.15049958, 0.898637, 0.26666668, 1, 0.36485913, 0.031785246, -0.19221742, 0.91045046, 0.3, 1, 0.32080913, 0.027082542, -0.20654342, 0.92395234, 0.33333334, 1, 0.27664217, 0.012455983, -0.18589148, 0.94273984, 0.36666667, 1, 0.22133993, -0.005549015, -0.14327416, 0.9645986, 0.4, 1, 0.16233869, -0.019880194, -0.08901763, 0.9825105, 0.43333334, 1, 0.1086173, -0.02742521, -0.035009094, 0.99308836, 0.46666667, 1, 0.06971694, -0.029351225, 0.0062599927, 0.9971153, 0.5, 1, 0.05479905, -0.029264992, 0.022636186, 0.99781173) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:LeftUpperLeg") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.940883, 0.002736509, -0.011184356, 0.33853605, 0.033333335, 1, 0.95359963, 0.0031790503, -0.011066673, 0.3008575, 0.06666667, 1, 0.97807544, 0.0042266664, -0.010710288, 0.20793241, 0.1, 1, 0.99572897, 0.005455532, -0.010139569, 0.09160368, 0.13333334, 1, -0.9998514, -0.006484103, 0.009514669, 0.01282902, 0.16666667, 1, -0.9975223, -0.007012268, 0.009132348, 0.06940254, 0.2, 1, -0.9984808, -0.006869409, 0.009240263, 0.053885274, 0.23333333, 1, 0.9998637, 0.006247379, -0.009671679, 0.011837006, 0.26666668, 1, 0.9955911, 0.005440297, -0.0101476265, 0.09309016, 0.3, 1, 0.98783773, 0.0047961557, -0.010467494, 0.15506156, 0.33333334, 1, 0.9802868, 0.0043432433, -0.010663417, 0.19724432, 0.36666667, 1, 0.9708555, 0.003878744, -0.01084106, 0.239389, 0.4, 1, 0.9605328, 0.0034431806, -0.010987218, 0.27792844, 0.43333334, 1, 0.95084333, 0.0030789094, -0.011095029, 0.30945826, 0.46666667, 1, 0.94365674, 0.002829119, -0.011161284, 0.3307257, 0.5, 1, 0.940883, 0.002736509, -0.011184356, 0.33853605) +tracks/12/type = "position_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightUpperLeg") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, -0.15831876, 0.04106916, 0.06262902, 0.033333335, 1, -0.15831876, 0.04181904, 0.06392613, 0.06666667, 1, -0.15831876, 0.043666687, 0.06712217, 0.1, 1, -0.15831876, 0.04600911, 0.071174026, 0.13333334, 1, -0.15831874, 0.048243314, 0.075038664, 0.16666667, 1, -0.15831874, 0.049766246, 0.077673055, 0.2, 1, -0.15831873, 0.050472874, 0.078895375, 0.23333333, 1, -0.15831874, 0.050684266, 0.07926103, 0.26666668, 1, -0.15831873, 0.050436653, 0.07883269, 0.3, 1, -0.15831873, 0.049766243, 0.07767304, 0.33333334, 1, -0.15831874, 0.04851806, 0.07551395, 0.36666667, 1, -0.15831874, 0.046738375, 0.07243548, 0.4, 1, -0.15831876, 0.04476542, 0.069022715, 0.43333334, 1, -0.15831877, 0.042937417, 0.065860696, 0.46666667, 1, -0.15831876, 0.041592598, 0.06353443, 0.5, 1, -0.15831876, 0.04106916, 0.06262902) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("GeneralSkeleton:RightUpperLeg") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, 0.9408831, -0.0027364467, 0.01118454, 0.33853588, 0.033333335, 1, 0.9295263, -0.0023758565, 0.0112666255, 0.36857602, 0.06666667, 1, 0.89747906, -0.0014777216, 0.011419137, 0.44090685, 0.1, 1, 0.8488037, -0.0003265249, 0.011509653, 0.52858275, 0.13333334, 1, 0.794415, 0.0007746947, 0.0114881275, 0.6072662, 0.16666667, 1, 0.753141, 0.001521891, 0.011413154, 0.6577584, 0.2, 1, 0.7328909, 0.0018665802, 0.011361854, 0.68024874, 0.23333333, 1, 0.72670186, 0.0019693715, 0.011344478, 0.6868565, 0.26666668, 1, 0.73394585, 0.0018489419, 0.011364738, 0.6791104, 0.3, 1, 0.753141, 0.0015218906, 0.011413154, 0.6577584, 0.33333334, 1, 0.7872135, 0.0009098337, 0.011478209, 0.61657304, 0.36666667, 1, 0.8318815, 3.3089607e-05, 0.011514217, 0.5548337, 0.4, 1, 0.8757436, -0.00093888794, 0.011475979, 0.48263916, 0.43333334, 1, 0.91081107, -0.0018336351, 0.011367436, 0.41266286, 0.46666667, 1, 0.9330573, -0.0024850215, 0.011243059, 0.35954335, 0.5, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("GeneralSkeleton:RightLowerLeg") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.0102453865, -0.009662866, -0.006262624, 0.9998812, 0.033333335, 1, 0.022396868, -0.009706593, -0.0061279926, 0.99968326, 0.06666667, 1, 0.052318934, -0.009833763, -0.005804949, 0.99856514, 0.1, 1, 0.090182155, -0.010034798, -0.0054152613, 0.99586, 0.13333334, 1, 0.12617503, -0.010266847, -0.005066629, 0.9919419, 0.16666667, 1, 0.15061763, -0.010446889, -0.0048431023, 0.98852503, 0.2, 1, 0.16192855, -0.010536185, -0.0047435127, 0.98673487, 0.23333333, 1, 0.16530792, -0.010563652, -0.0047142715, 0.98617417, 0.26666668, 1, 0.16134892, -0.010531581, -0.0047485135, 0.9868299, 0.3, 1, 0.15061763, -0.010446888, -0.004843102, 0.98852503, 0.33333334, 1, 0.13059099, -0.010297978, -0.0050254907, 0.99137014, 0.36666667, 1, 0.10194602, -0.0101064015, -0.005298909, 0.9947245, 0.4, 1, 0.07009181, -0.009922613, -0.0056192903, 0.9974754, 0.43333334, 1, 0.040512785, -0.009780071, -0.005930932, 0.99911356, 0.46666667, 1, 0.01872768, -0.009692917, -0.0061684684, 0.99975866, 0.5, 1, 0.0102453865, -0.009662866, -0.006262624, 0.9998812) + +[sub_resource type="Animation" id="Animation_p0uhi"] +length = 0.5 +tracks/0/type = "rotation_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 0.34238845, 1.5708939e-07, -5.5968407e-08, 0.9395585, 0.033333335, 1, 0.3305442, 1.5623375e-07, -4.5335742e-08, 0.94379056, 0.06666667, 1, 0.301523, 1.5505638e-07, -1.9152363e-08, 0.9534589, 0.1, 1, 0.26518956, 1.5532987e-07, 1.39529295e-08, 0.9641963, 0.13333334, 1, 0.23179884, 1.5667713e-07, 4.533578e-08, 0.9727638, 0.16666667, 1, 0.21196172, 1.5609982e-07, 6.6536835e-08, 0.977278, 0.2, 1, 0.21154101, 1.4794188e-07, 7.5990435e-08, 0.9773691, 0.23333333, 1, 0.22426, 1.3351601e-07, 7.7956074e-08, 0.9745293, 0.26666668, 1, 0.2425952, 1.1952865e-07, 7.2984484e-08, 0.9701276, 0.3, 1, 0.25909162, 1.1277934e-07, 6.2371846e-08, 0.9658528, 0.33333334, 1, 0.27442306, 1.148871e-07, 4.4474916e-08, 0.96160907, 0.36666667, 1, 0.29247355, 1.2213901e-07, 1.9690756e-08, 0.9562736, 0.4, 1, 0.31072947, 1.326901e-07, -7.1720985e-09, 0.9504984, 0.43333334, 1, 0.32673204, 1.4408309e-07, -3.1553007e-08, 0.945117, 0.46666667, 1, 0.33807683, 1.5330711e-07, -4.9181153e-08, 0.9411185, 0.5, 1, 0.34238845, 1.5708939e-07, -5.5968407e-08, 0.9395585) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Spine1") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.31937256, 1.9802002e-07, -3.665855e-07, 0.9476293, 0.033333335, 1, -0.33358824, 0.0012690381, -0.0018437031, 0.94271624, 0.06666667, 1, -0.36740822, 0.004161775, -0.0065399446, 0.9300275, 0.1, 1, -0.40766144, 0.0073642395, -0.012770037, 0.9130142, 0.13333334, 1, -0.44178134, 0.009988794, -0.018933056, 0.89686733, 0.16666667, 1, -0.45800525, 0.011690596, -0.023166168, 0.88857067, 0.2, 1, -0.44634637, 0.012967478, -0.024879681, 0.8944204, 0.23333333, 1, -0.41446674, 0.014149548, -0.02495417, 0.90961224, 0.26666668, 1, -0.3776802, 0.014748214, -0.023739967, 0.9255142, 0.3, 1, -0.3522593, 0.014289263, -0.021660056, 0.93554264, 0.33333334, 1, -0.3399939, 0.012479725, -0.018391669, 0.940165, 0.36666667, 1, -0.33112267, 0.009629176, -0.013909034, 0.9434361, 0.4, 1, -0.32515508, 0.0063351113, -0.009029623, 0.9455964, 0.43333334, 1, -0.32157147, 0.003219309, -0.004552275, 0.9468689, 0.46666667, 1, -0.3198295, 0.00090443454, -0.0012739573, 0.9474738, 0.5, 1, -0.31937256, 1.9802002e-07, -3.665855e-07, 0.9476293) +tracks/2/type = "rotation_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:Head") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.17886406, -3.554911e-07, -2.4261183e-07, 0.98387384, 0.033333335, 1, -0.18172997, -8.714442e-05, -0.00012339467, 0.9833485, 0.06666667, 1, -0.18745717, -0.00026321414, -0.00036816578, 0.9822727, 0.1, 1, -0.19174813, -0.00039689787, -0.00055041583, 0.98144394, 0.13333334, 1, -0.19031827, -0.0003522195, -0.00048988627, 0.9817223, 0.16666667, 1, -0.17886408, -3.5629157e-07, -2.422548e-07, 0.98387384, 0.2, 1, -0.14348157, 0.0010094029, 0.0015552446, 0.98965126, 0.23333333, 1, -0.08865402, 0.0023420877, 0.004085629, 0.9960514, 0.26666668, 1, -0.038101744, 0.0033183873, 0.006534733, 0.999247, 0.3, 1, -0.015910111, 0.003669463, 0.0076415697, 0.9998375, 0.33333334, 1, -0.028050866, 0.003483296, 0.007033757, 0.9995757, 0.36666667, 1, -0.058380038, 0.002956091, 0.0055398243, 0.99827474, 0.4, 1, -0.09772128, 0.0021412498, 0.0036576986, 0.99520487, 0.43333334, 1, -0.13690743, 0.001184109, 0.0018512, 0.99058145, 0.46666667, 1, -0.16690645, 0.00035402534, 0.00051823625, 0.9859726, 0.5, 1, -0.17886406, -3.554911e-07, -2.4261183e-07, 0.98387384) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.033333335, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.06666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.1, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.13333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.16666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.2, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.23333333, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.26666668, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.3, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.33333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.36666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.4, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.43333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.46666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.5, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077) +tracks/4/type = "position_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, -0.0016287112, 0.14501561, 0.00025158125, 0.033333335, 1, -0.0014169419, 0.14814326, 0.0005686792, 0.06666667, 1, -0.00089517375, 0.15584946, 0.0013501979, 0.1, 1, -0.00023364913, 0.16561928, 0.0023408532, 0.13333334, 1, 0.0003972705, 0.17493771, 0.0032857032, 0.16666667, 1, 0.00082737766, 0.18128975, 0.003929783, 0.2, 1, 0.0010269169, 0.18423694, 0.0042286315, 0.23333333, 1, 0.0010866298, 0.18511865, 0.004318045, 0.26666668, 1, 0.0010166873, 0.18408589, 0.0042133117, 0.3, 1, 0.0008273692, 0.18128976, 0.0039298316, 0.33333334, 1, 0.0004748591, 0.17608373, 0.0034018615, 0.36666667, 1, -2.7718546e-05, 0.16866097, 0.0026492667, 0.4, 1, -0.00058487325, 0.16043212, 0.0018148312, 0.43333334, 1, -0.0011011158, 0.15280783, 0.001041744, 0.46666667, 1, -0.0014808996, 0.14719877, 0.0004730025, 0.5, 1, -0.0016287112, 0.14501561, 0.00025158125) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, -0.25816974, 0.70056593, -0.29189405, 0.59779066, 0.033333335, 1, -0.2696654, 0.67672503, -0.2821626, 0.624266, 0.06666667, 1, -0.27750358, 0.6097148, -0.27519694, 0.68956965, 0.1, 1, -0.24490495, 0.5193297, -0.30176663, 0.76108813, 0.13333334, 1, -0.17328225, 0.44258872, -0.3602416, 0.80269206, 0.16666667, 1, -0.10632605, 0.40261003, -0.41415966, 0.80936503, 0.2, 1, -0.07155382, 0.3885845, -0.4417803, 0.8054268, 0.23333333, 1, -0.060796093, 0.38500503, -0.45026466, 0.8033285, 0.26666668, 1, -0.073382966, 0.38922706, -0.4403348, 0.80574346, 0.3, 1, -0.10632607, 0.40261003, -0.41415972, 0.80936503, 0.33333334, 1, -0.16214292, 0.4344865, -0.36927068, 0.8053387, 0.36666667, 1, -0.22552416, 0.4925329, -0.31764525, 0.77823627, 0.4, 1, -0.2680392, 0.5671185, -0.28282684, 0.72563124, 0.43333334, 1, -0.27795827, 0.6372119, -0.27499014, 0.664139, 0.46666667, 1, -0.2666859, 0.68418556, -0.28469494, 0.6162123, 0.5, 1, -0.25816974, 0.70056593, -0.29189405, 0.59779066) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.033333335, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.06666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.1, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.13333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.16666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.2, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.23333333, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.26666668, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.3, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.33333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.36666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.4, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.43333334, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.46666667, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543, 0.5, 1, 0.47699112, -0.057332963, -0.11453373, 0.86952543) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/7/interp = 0 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.033333335, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.06666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.1, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.13333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.16666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.2, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.23333333, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.26666668, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.3, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.33333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.36666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.4, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.43333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.46666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.5, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.26573053, -0.697032, 0.30054164, 0.59431344, 0.033333335, 1, -0.26514634, -0.7149297, 0.2971665, 0.5746869, 0.06666667, 1, -0.27849984, -0.75604916, 0.2730258, 0.5256277, 0.1, 1, -0.32284456, -0.79228413, 0.2130898, 0.47185802, 0.13333334, 1, -0.38520038, -0.80033016, 0.13477506, 0.43923572, 0.16666667, 1, -0.43050346, -0.7913746, 0.08032379, 0.42654556, 0.2, 1, -0.43999317, -0.79654443, 0.075375274, 0.40772733, 0.23333333, 1, -0.4221509, -0.81570446, 0.10790816, 0.38048744, 0.26666668, 1, -0.38773796, -0.8319144, 0.15990397, 0.36332962, 0.3, 1, -0.35406128, -0.8346237, 0.20647971, 0.36798105, 0.33333334, 1, -0.32361048, -0.8239212, 0.24414822, 0.39600748, 0.36666667, 1, -0.29427922, -0.8001748, 0.2781188, 0.4424591, 0.4, 1, -0.27420318, -0.76725876, 0.29920068, 0.49659392, 0.43333334, 1, -0.2655884, -0.73324066, 0.30566746, 0.5462494, 0.46666667, 1, -0.26483387, -0.70721585, 0.30311957, 0.5812292, 0.5, 1, -0.26573053, -0.697032, 0.30054164, 0.59431344) +tracks/9/type = "rotation_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.033333335, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.06666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.1, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.13333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.16666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.2, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.23333333, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.26666668, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.3, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.33333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.36666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.4, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.43333334, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.46666667, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483, 0.5, 1, 0.48328775, -0.0052842963, 0.021366991, 0.87518483) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightHand") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.054799054, -0.029264994, 0.022636186, 0.9978118, 0.033333335, 1, 0.09116625, -0.030299483, 0.017239934, 0.99522537, 0.06666667, 1, 0.1792024, -0.031148527, 0.0026243937, 0.9833155, 0.1, 1, 0.28657147, -0.028187746, -0.018351056, 0.9574683, 0.13333334, 1, 0.38179466, -0.019808618, -0.042242225, 0.9230688, 0.16666667, 1, 0.43715477, -0.008034734, -0.06635708, 0.89689904, 0.2, 1, 0.4413841, 0.008025636, -0.102265455, 0.8914356, 0.23333333, 1, 0.41133982, 0.024515117, -0.15049958, 0.898637, 0.26666668, 1, 0.36485913, 0.031785246, -0.19221742, 0.91045046, 0.3, 1, 0.32080913, 0.027082542, -0.20654342, 0.92395234, 0.33333334, 1, 0.27664217, 0.012455983, -0.18589148, 0.94273984, 0.36666667, 1, 0.22133993, -0.005549015, -0.14327416, 0.9645986, 0.4, 1, 0.16233869, -0.019880194, -0.08901763, 0.9825105, 0.43333334, 1, 0.1086173, -0.02742521, -0.035009094, 0.99308836, 0.46666667, 1, 0.06971694, -0.029351225, 0.0062599927, 0.9971153, 0.5, 1, 0.05479905, -0.029264992, 0.022636186, 0.99781173) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:LeftUpperLeg") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.940883, 0.002736509, -0.011184356, 0.33853605, 0.033333335, 1, 0.95359963, 0.0031790503, -0.011066673, 0.3008575, 0.06666667, 1, 0.97807544, 0.0042266664, -0.010710288, 0.20793241, 0.1, 1, 0.99572897, 0.005455532, -0.010139569, 0.09160368, 0.13333334, 1, -0.9998514, -0.006484103, 0.009514669, 0.01282902, 0.16666667, 1, -0.9975223, -0.007012268, 0.009132348, 0.06940254, 0.2, 1, -0.9984808, -0.006869409, 0.009240263, 0.053885274, 0.23333333, 1, 0.9998637, 0.006247379, -0.009671679, 0.011837006, 0.26666668, 1, 0.9955911, 0.005440297, -0.0101476265, 0.09309016, 0.3, 1, 0.98783773, 0.0047961557, -0.010467494, 0.15506156, 0.33333334, 1, 0.9802868, 0.0043432433, -0.010663417, 0.19724432, 0.36666667, 1, 0.9708555, 0.003878744, -0.01084106, 0.239389, 0.4, 1, 0.9605328, 0.0034431806, -0.010987218, 0.27792844, 0.43333334, 1, 0.95084333, 0.0030789094, -0.011095029, 0.30945826, 0.46666667, 1, 0.94365674, 0.002829119, -0.011161284, 0.3307257, 0.5, 1, 0.940883, 0.002736509, -0.011184356, 0.33853605) +tracks/12/type = "position_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightUpperLeg") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, -0.15831876, 0.04106916, 0.06262902, 0.033333335, 1, -0.15831876, 0.04181904, 0.06392613, 0.06666667, 1, -0.15831876, 0.043666687, 0.06712217, 0.1, 1, -0.15831876, 0.04600911, 0.071174026, 0.13333334, 1, -0.15831874, 0.048243314, 0.075038664, 0.16666667, 1, -0.15831874, 0.049766246, 0.077673055, 0.2, 1, -0.15831873, 0.050472874, 0.078895375, 0.23333333, 1, -0.15831874, 0.050684266, 0.07926103, 0.26666668, 1, -0.15831873, 0.050436653, 0.07883269, 0.3, 1, -0.15831873, 0.049766243, 0.07767304, 0.33333334, 1, -0.15831874, 0.04851806, 0.07551395, 0.36666667, 1, -0.15831874, 0.046738375, 0.07243548, 0.4, 1, -0.15831876, 0.04476542, 0.069022715, 0.43333334, 1, -0.15831877, 0.042937417, 0.065860696, 0.46666667, 1, -0.15831876, 0.041592598, 0.06353443, 0.5, 1, -0.15831876, 0.04106916, 0.06262902) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("GeneralSkeleton:RightUpperLeg") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, 0.9408831, -0.0027364467, 0.01118454, 0.33853588, 0.033333335, 1, 0.9295263, -0.0023758565, 0.0112666255, 0.36857602, 0.06666667, 1, 0.89747906, -0.0014777216, 0.011419137, 0.44090685, 0.1, 1, 0.8488037, -0.0003265249, 0.011509653, 0.52858275, 0.13333334, 1, 0.794415, 0.0007746947, 0.0114881275, 0.6072662, 0.16666667, 1, 0.753141, 0.001521891, 0.011413154, 0.6577584, 0.2, 1, 0.7328909, 0.0018665802, 0.011361854, 0.68024874, 0.23333333, 1, 0.72670186, 0.0019693715, 0.011344478, 0.6868565, 0.26666668, 1, 0.73394585, 0.0018489419, 0.011364738, 0.6791104, 0.3, 1, 0.753141, 0.0015218906, 0.011413154, 0.6577584, 0.33333334, 1, 0.7872135, 0.0009098337, 0.011478209, 0.61657304, 0.36666667, 1, 0.8318815, 3.3089607e-05, 0.011514217, 0.5548337, 0.4, 1, 0.8757436, -0.00093888794, 0.011475979, 0.48263916, 0.43333334, 1, 0.91081107, -0.0018336351, 0.011367436, 0.41266286, 0.46666667, 1, 0.9330573, -0.0024850215, 0.011243059, 0.35954335, 0.5, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("GeneralSkeleton:RightLowerLeg") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.0102453865, -0.009662866, -0.006262624, 0.9998812, 0.033333335, 1, 0.022396868, -0.009706593, -0.0061279926, 0.99968326, 0.06666667, 1, 0.052318934, -0.009833763, -0.005804949, 0.99856514, 0.1, 1, 0.090182155, -0.010034798, -0.0054152613, 0.99586, 0.13333334, 1, 0.12617503, -0.010266847, -0.005066629, 0.9919419, 0.16666667, 1, 0.15061763, -0.010446889, -0.0048431023, 0.98852503, 0.2, 1, 0.16192855, -0.010536185, -0.0047435127, 0.98673487, 0.23333333, 1, 0.16530792, -0.010563652, -0.0047142715, 0.98617417, 0.26666668, 1, 0.16134892, -0.010531581, -0.0047485135, 0.9868299, 0.3, 1, 0.15061763, -0.010446888, -0.004843102, 0.98852503, 0.33333334, 1, 0.13059099, -0.010297978, -0.0050254907, 0.99137014, 0.36666667, 1, 0.10194602, -0.0101064015, -0.005298909, 0.9947245, 0.4, 1, 0.07009181, -0.009922613, -0.0056192903, 0.9974754, 0.43333334, 1, 0.040512785, -0.009780071, -0.005930932, 0.99911356, 0.46666667, 1, 0.01872768, -0.009692917, -0.0061684684, 0.99975866, 0.5, 1, 0.0102453865, -0.009662866, -0.006262624, 0.9998812) + +[sub_resource type="Animation" id="Animation_xciuw"] +length = 0.53333336 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine1") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 3.953068e-15, 0.05906236, 4.1416266e-09, 0.033333335, 1, 3.953068e-15, 0.05906236, 4.1416266e-09, 0.06666667, 1, -1.9968326e-10, 0.058797363, 0.00022272498, 0.1, 1, -7.1775574e-10, 0.058109824, 0.0008005711, 0.13333334, 1, -1.4327217e-09, 0.057161, 0.0015980205, 0.16666667, 1, -2.2230955e-09, 0.056112114, 0.0024795649, 0.2, 1, -2.9673803e-09, 0.05512437, 0.0033097274, 0.23333333, 1, -3.5441032e-09, 0.05435902, 0.003952971, 0.26666668, 1, -3.831766e-09, 0.05397725, 0.004273831, 0.3, 1, -3.745699e-09, 0.054091476, 0.0041778344, 0.33333334, 1, -3.348519e-09, 0.05461856, 0.0037348378, 0.36666667, 1, -2.739646e-09, 0.055426586, 0.0030557234, 0.4, 1, -2.018518e-09, 0.056383602, 0.0022513932, 0.43333334, 1, -1.2845572e-09, 0.05735763, 0.0014327582, 0.46666667, 1, -6.37204e-10, 0.058216736, 0.00071071676, 0.5, 1, -1.7587007e-10, 0.058828965, 0.00019616645, 0.53333336, 1, 3.953068e-15, 0.05906236, 4.1416266e-09) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Spine1") +tracks/1/interp = 0 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.033333335, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.06666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.1, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.13333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.16666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.2, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.23333333, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.26666668, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.3, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.33333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.36666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.4, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.43333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.46666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.5, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.53333336, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262) +tracks/2/type = "position_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:Head") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -4.6746674e-14, 0.2846942, 4.029311e-08, 0.033333335, 1, -4.6746674e-14, 0.2846942, 4.029311e-08, 0.06666667, 1, 1.8372835e-11, 0.28409952, -4.25255e-05, 0.1, 1, 6.628614e-11, 0.28255674, -0.00015297998, 0.13333334, 1, 1.3236509e-10, 0.28042763, -0.00030540815, 0.16666667, 1, 2.0540808e-10, 0.2780739, -0.0004739114, 0.2, 1, 2.7420188e-10, 0.27585748, -0.0006325992, 0.23333333, 1, 3.274454e-10, 0.2741401, -0.00075552636, 0.26666668, 1, 3.5398307e-10, 0.2732835, -0.0008168635, 0.3, 1, 3.4606162e-10, 0.27353978, -0.00079850736, 0.33333334, 1, 3.0935515e-10, 0.2747225, -0.000713845, 0.36666667, 1, 2.5311647e-10, 0.2765357, -0.0005840312, 0.4, 1, 1.8652813e-10, 0.27868313, -0.0004302963, 0.43333334, 1, 1.1868731e-10, 0.2808688, -0.0002738157, 0.46666667, 1, 5.888155e-11, 0.28279662, -0.0001358146, 0.5, 1, 1.6273892e-11, 0.28417036, -3.7479695e-05, 0.53333336, 1, -4.6746674e-14, 0.2846942, 4.029311e-08) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:Head") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.033333335, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.06666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.1, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.13333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.16666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.2, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.23333333, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.26666668, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.3, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.33333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.36666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.4, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.43333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.46666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.5, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.53333336, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635) +tracks/4/type = "position_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/4/interp = 0 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, 0.09795613, 0.42777258, 0.016737785, 0.033333335, 1, 0.09795613, 0.42777258, 0.016737785, 0.06666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.1, 1, 0.09795613, 0.42777258, 0.016737785, 0.13333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.16666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.2, 1, 0.09795613, 0.42777258, 0.016737785, 0.23333333, 1, 0.09795613, 0.42777258, 0.016737785, 0.26666668, 1, 0.09795613, 0.42777258, 0.016737785, 0.3, 1, 0.09795613, 0.42777258, 0.016737785, 0.33333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.36666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.4, 1, 0.09795613, 0.42777258, 0.016737785, 0.43333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.46666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.5, 1, 0.09795613, 0.42777258, 0.016737785, 0.53333336, 1, 0.09795613, 0.42777258, 0.016737785) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/5/interp = 0 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.033333335, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.06666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.1, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.13333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.16666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.2, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.23333333, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.26666668, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.3, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.33333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.36666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.4, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.43333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.46666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.5, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.53333336, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432) +tracks/6/type = "position_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, -0.0016287166, 0.14501561, 0.00025157674, 0.033333335, 1, -0.0016287166, 0.14501561, 0.00025157674, 0.06666667, 1, -0.0017734149, 0.14506163, -0.0003335565, 0.1, 1, -0.0021488192, 0.14518102, -0.0018515008, 0.13333334, 1, -0.0026668992, 0.1453458, -0.0039463816, 0.16666667, 1, -0.0032396442, 0.14552797, -0.006262323, 0.2, 1, -0.0037789438, 0.1456995, -0.008443098, 0.23333333, 1, -0.004196892, 0.14583242, -0.010132994, 0.26666668, 1, -0.0044053355, 0.14589871, -0.010975973, 0.3, 1, -0.0043429704, 0.14587888, -0.0107237045, 0.33333334, 1, -0.0040551536, 0.14578734, -0.009559953, 0.36666667, 1, -0.0036139528, 0.14564702, -0.007775792, 0.4, 1, -0.003091374, 0.14548081, -0.0056629023, 0.43333334, 1, -0.0025595534, 0.14531165, -0.0035123436, 0.46666667, 1, -0.0020904627, 0.14516246, -0.0016155058, 0.5, 1, -0.0017561435, 0.14505613, -0.00026364537, 0.53333336, 1, -0.0016287166, 0.14501561, 0.00025157674) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/7/interp = 0 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.033333335, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.06666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.1, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.13333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.16666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.2, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.23333333, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.26666668, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.3, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.33333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.36666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.4, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.43333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.46666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.5, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.53333336, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428, 0.033333335, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428, 0.06666667, 1, 0.3333426, -0.33511743, -0.27944934, 0.8357554, 0.1, 1, 0.33441046, -0.3353484, -0.27935344, 0.8352681, 0.13333334, 1, 0.33588165, -0.3356686, -0.27922368, 0.8345923, 0.16666667, 1, 0.337504, -0.3360242, -0.27908355, 0.8338412, 0.2, 1, 0.3390282, -0.33636126, -0.27895495, 0.8331297, 0.23333333, 1, 0.34020686, -0.33662364, -0.27885735, 0.8325758, 0.26666668, 1, 0.34079418, -0.33675486, -0.2788096, 0.83229846, 0.3, 1, 0.3406185, -0.33671555, -0.2788239, 0.8323815, 0.33333334, 1, 0.33980745, -0.3365345, -0.27889028, 0.83276385, 0.36666667, 1, 0.33856225, -0.33625814, -0.27899405, 0.83334774, 0.4, 1, 0.33708444, -0.3359321, -0.27911958, 0.83403593, 0.43333334, 1, 0.33557707, -0.33560196, -0.2792504, 0.83473265, 0.46666667, 1, 0.3342446, -0.3353123, -0.27936825, 0.835344, 0.5, 1, 0.33329365, -0.33510682, -0.27945387, 0.8357777, 0.53333336, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428) +tracks/9/type = "position_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, -0.09795646, 0.42777103, 0.016737178, 0.033333335, 1, -0.09795646, 0.42777103, 0.016737178, 0.06666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.1, 1, -0.09795646, 0.42777103, 0.016737178, 0.13333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.16666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.2, 1, -0.09795646, 0.42777103, 0.016737178, 0.23333333, 1, -0.09795646, 0.42777103, 0.016737178, 0.26666668, 1, -0.09795646, 0.42777103, 0.016737178, 0.3, 1, -0.09795646, 0.42777103, 0.016737178, 0.33333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.36666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.4, 1, -0.09795646, 0.42777103, 0.016737178, 0.43333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.46666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.5, 1, -0.09795646, 0.42777103, 0.016737178, 0.53333336, 1, -0.09795646, 0.42777103, 0.016737178) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/10/interp = 0 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.033333335, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.06666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.1, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.13333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.16666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.2, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.23333333, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.26666668, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.3, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.33333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.36666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.4, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.43333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.46666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.5, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.53333336, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513) +tracks/11/type = "position_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.00162871, 0.14501564, 0.00025160934, 0.033333335, 1, 0.00162871, 0.14501564, 0.00025160934, 0.06666667, 1, 0.0017734237, 0.14506167, -0.00033363982, 0.1, 1, 0.0021488585, 0.14518107, -0.0018515768, 0.13333334, 1, 0.002666969, 0.14534588, -0.003946391, 0.16666667, 1, 0.0032397194, 0.14552808, -0.0062623858, 0.2, 1, 0.0037791107, 0.14569964, -0.008443264, 0.23333333, 1, 0.0041970327, 0.14583257, -0.010133039, 0.26666668, 1, 0.0044054757, 0.14589885, -0.010975776, 0.3, 1, 0.004343134, 0.14587903, -0.010723805, 0.33333334, 1, 0.0040552947, 0.14578746, -0.009559882, 0.36666667, 1, 0.0036140687, 0.14564712, -0.007775907, 0.4, 1, 0.003091463, 0.1454809, -0.005662904, 0.43333334, 1, 0.0025596116, 0.14531171, -0.003512355, 0.46666667, 1, 0.0020904616, 0.14516251, -0.0016154677, 0.5, 1, 0.001756152, 0.14505614, -0.00026373038, 0.53333336, 1, 0.00162871, 0.14501564, 0.00025160934) +tracks/12/type = "rotation_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/12/interp = 0 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.033333335, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.06666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.1, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.13333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.16666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.2, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.23333333, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.26666668, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.3, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.33333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.36666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.4, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.43333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.46666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.5, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.53333336, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.033333335, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.06666667, 1, 0.14572267, -0.0057624606, 0.26361868, 0.9535392, 0.1, 1, 0.14395136, -0.0061668158, 0.26394954, 0.9537142, 0.13333334, 1, 0.1415052, -0.0067227054, 0.26440892, 0.95394915, 0.16666667, 1, 0.1387989, -0.00733442, 0.26492098, 0.95420015, 0.2, 1, 0.13624829, -0.007907767, 0.2654071, 0.9544281, 0.23333333, 1, 0.13427058, -0.008350169, 0.2657863, 0.9545991, 0.26666668, 1, 0.13328372, -0.008570235, 0.26597643, 0.9546824, 0.3, 1, 0.133579, -0.008504472, 0.26591948, 0.9546577, 0.33333334, 1, 0.13494149, -0.008200373, 0.26565757, 0.95454156, 0.36666667, 1, 0.13702889, -0.007732628, 0.26525792, 0.95435923, 0.4, 1, 0.13949957, -0.007176376, 0.26478806, 0.95413613, 0.43333334, 1, 0.14201224, -0.006607715, 0.2643134, 0.9539011, 0.46666667, 1, 0.14422686, -0.0061040483, 0.26389793, 0.9536872, 0.5, 1, 0.14580408, -0.0057438863, 0.26360357, 0.95353097, 0.53333336, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("GeneralSkeleton:RightHand") +tracks/14/interp = 0 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.033333335, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.06666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.1, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.13333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.16666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.2, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.23333333, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.26666668, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.3, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.33333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.36666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.4, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.43333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.46666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.5, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.53333336, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404) + +[sub_resource type="Animation" id="Animation_3s20j"] +length = 0.53333336 +tracks/0/type = "rotation_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine1") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.033333335, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.06666667, 1, -0.36967796, 7.3622556e-07, -5.7895e-07, 0.92916, 0.1, 1, -0.3536466, 7.261619e-07, -5.915237e-07, 0.9353791, 0.13333334, 1, -0.3308425, 7.115929e-07, -6.0897213e-07, 0.94368595, 0.16666667, 1, -0.3045267, 6.5386905e-07, -5.016515e-07, 0.9525038, 0.2, 1, -0.27807885, 6.397511e-07, -5.1953555e-07, 0.96055824, 0.23333333, 1, -0.25499558, 5.93171e-07, -4.059512e-07, 0.96694225, 0.26666668, 1, -0.2388498, 5.863251e-07, -4.1577783e-07, 0.9710565, 0.3, 1, -0.22735487, 5.813696e-07, -4.2267945e-07, 0.973812, 0.33333334, 1, -0.21582797, 5.763327e-07, -4.295221e-07, 0.9764315, 0.36666667, 1, -0.20427102, 4.4086488e-07, -4.6350485e-07, 0.9789144, 0.4, 1, -0.19268551, 4.0969752e-07, -3.3802095e-07, 0.9812606, 0.43333334, 1, -0.2062531, 4.1433833e-07, -3.32316e-07, 0.9784987, 0.46666667, 1, -0.25086355, 3.002275e-07, -3.4639e-07, 0.9680225, 0.5, 1, -0.2977699, 3.1676177e-07, -3.3133762e-07, 0.95463765, 0.53333336, 1, -0.31937245, 3.2420442e-07, -3.240586e-07, 0.9476293) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Head") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.033333335, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.06666667, 1, -0.13616242, -3.6564734e-07, -2.2701663e-07, 0.99068654, 0.1, 1, -0.13362825, -3.6622666e-07, -2.2608072e-07, 0.9910315, 0.13333334, 1, -0.13035151, -3.669721e-07, -2.248688e-07, 0.99146783, 0.16666667, 1, -0.12710795, -3.6770567e-07, -2.2366741e-07, 0.9918889, 0.2, 1, -0.12467444, -3.6825315e-07, -2.2276468e-07, 0.9921977, 0.23333333, 1, -0.12382844, -3.6844298e-07, -2.2245058e-07, 0.99230367, 0.26666668, 1, -0.12534747, -3.6810195e-07, -2.2301448e-07, 0.9921129, 0.3, 1, -0.12830727, -3.6743478e-07, -2.2411179e-07, 0.99173445, 0.33333334, 1, -0.13126573, -3.6676465e-07, -2.2520717e-07, 0.9913472, 0.36666667, 1, -0.13422312, -3.660909e-07, -2.2630046e-07, 0.9909511, 0.4, 1, -0.1371792, -3.6541425e-07, -2.2739191e-07, 0.99054635, 0.43333334, 1, -0.14537111, -3.6351997e-07, -2.3040775e-07, 0.9893772, 0.46666667, 1, -0.1595296, -3.6018184e-07, -2.3559174e-07, 0.98719317, 0.5, 1, -0.17292085, -3.5694953e-07, -2.4046133e-07, 0.9849357, 0.53333336, 1, -0.17886382, -3.554912e-07, -2.4261178e-07, 0.9838739) +tracks/2/type = "position_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, 0.09795606, 0.42777258, 0.016737644, 0.033333335, 1, 0.09795606, 0.42777258, 0.016737644, 0.06666667, 1, 0.09795607, 0.42421684, 0.020088926, 0.1, 1, 0.097956106, 0.41464573, 0.028476259, 0.13333334, 1, 0.097956106, 0.4007034, 0.039399832, 0.16666667, 1, 0.097956136, 0.38403395, 0.050359886, 0.2, 1, 0.09795614, 0.36628148, 0.058856595, 0.23333333, 1, 0.097956166, 0.34909016, 0.06239014, 0.26666668, 1, 0.09795618, 0.33410403, 0.05846077, 0.3, 1, 0.09795617, 0.3207686, 0.049966685, 0.33333334, 1, 0.09795619, 0.30743313, 0.0414726, 0.36666667, 1, 0.097956195, 0.29409772, 0.032978475, 0.4, 1, 0.09795618, 0.2807622, 0.024484418, 0.43333334, 1, 0.09795621, 0.26867792, 0.005453726, 0.46666667, 1, 0.09795625, 0.25942847, -0.025371455, 0.5, 1, 0.097956285, 0.2535129, -0.05407312, 0.53333336, 1, 0.09795629, 0.2514301, -0.06673322) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.5634961, -0.5175467, -0.4692957, 0.4408844, 0.033333335, 1, -0.5634961, -0.5175467, -0.4692957, 0.4408844, 0.06666667, 1, -0.5618199, -0.5157629, -0.4712554, 0.4430185, 0.1, 1, -0.55747676, -0.5111468, -0.4762584, 0.4484715, 0.13333334, 1, -0.55148923, -0.5047953, -0.48298517, 0.45581424, 0.16666667, 1, -0.5449203, -0.49784282, -0.49014834, 0.46364757, 0.2, 1, -0.5389022, -0.49148715, -0.49652106, 0.47062904, 0.23333333, 1, -0.53463346, -0.4869863, -0.5009361, 0.47547287, 0.26666668, 1, -0.53334117, -0.48562515, -0.50225556, 0.47692227, 0.3, 1, -0.53394127, -0.48625684, -0.5016437, 0.47625047, 0.33333334, 1, -0.5345404, -0.48688808, -0.50103104, 0.4755781, 0.36666667, 1, -0.53513885, -0.4875184, -0.50041753, 0.47490478, 0.4, 1, -0.5357363, -0.48814803, -0.49980325, 0.47423083, 0.43333334, 1, -0.536072, -0.48850176, -0.49945736, 0.47385153, 0.46666667, 1, -0.53603464, -0.48846242, -0.4994959, 0.47389376, 0.5, 1, -0.5358482, -0.4882659, -0.499688, 0.47410452, 0.53333336, 1, -0.5357362, -0.4881478, -0.49980345, 0.47423097) +tracks/4/type = "rotation_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, 0.26007843, -0.25464654, -0.41803232, 0.8323241, 0.033333335, 1, 0.26007843, -0.25464654, -0.41803235, 0.83232415, 0.06666667, 1, 0.24971879, -0.20328517, -0.43762603, 0.8395232, 0.1, 1, 0.21116517, -0.07128535, -0.48414907, 0.8461249, 0.13333334, 1, 0.13162777, 0.10219297, -0.53379804, 0.8290298, 0.16666667, 1, 0.013870682, 0.2720369, -0.5621905, 0.780862, 0.2, 1, -0.11568749, 0.40197676, -0.55814457, 0.71659315, 0.23333333, 1, -0.21642955, 0.47949043, -0.5322373, 0.6633028, 0.26666668, 1, -0.24785833, 0.5131917, -0.5098564, 0.6443966, 0.3, 1, -0.23239258, 0.5287811, -0.49749705, 0.6472101, 0.33333334, 1, -0.21700865, 0.5440421, -0.48460624, 0.6496785, 0.36666667, 1, -0.20171244, 0.558955, -0.47119418, 0.6518109, 0.4, 1, -0.18650949, 0.5734997, -0.45727274, 0.6536161, 0.43333334, 1, -0.17619722, 0.60820436, -0.4277, 0.64506954, 0.46666667, 1, -0.17903416, 0.65429705, -0.37320814, 0.6328964, 0.5, 1, -0.18871939, 0.68050295, -0.31707093, 0.6330614, 0.53333336, 1, -0.1933885, 0.6864816, -0.29205528, 0.6372187) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, 0.33293042, -0.3350286, -0.27948675, 0.8359428, 0.033333335, 1, 0.33293042, -0.3350286, -0.27948675, 0.8359428, 0.06666667, 1, 0.33085424, -0.2879859, -0.2495471, 0.8633226, 0.1, 1, 0.33277813, -0.19278057, -0.1798883, 0.905392, 0.13333334, 1, 0.3414656, -0.1229935, -0.11785664, 0.9243288, 0.16666667, 1, 0.34658283, -0.13292721, -0.11471051, 0.9214403, 0.2, 1, 0.34295627, -0.19729088, -0.15663618, 0.90494335, 0.23333333, 1, 0.3315716, -0.2731308, -0.20802294, 0.8787413, 0.26666668, 1, 0.31103367, -0.3194728, -0.2388278, 0.8626451, 0.3, 1, 0.28403708, -0.33828527, -0.25181448, 0.8610897, 0.33333334, 1, 0.25837436, -0.3583114, -0.2628925, 0.85775477, 0.36666667, 1, 0.23416834, -0.37935832, -0.27195826, 0.8528137, 0.4, 1, 0.21152318, -0.4012257, -0.27892646, 0.846449, 0.43333334, 1, 0.21728747, -0.40819582, -0.28302902, 0.84027195, 0.46666667, 1, 0.2578459, -0.39516732, -0.28460988, 0.8344793, 0.5, 1, 0.30433705, -0.3782101, -0.28324544, 0.8271083, 0.53333336, 1, 0.32670256, -0.37022257, -0.28168663, 0.822711) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftHand") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 0.054798976, 0.029264985, -0.022636263, 0.9978118, 0.033333335, 1, 0.054798976, 0.029264985, -0.022636263, 0.9978118, 0.06666667, 1, 0.035692558, 0.036994714, -0.02514671, 0.99836123, 0.1, 1, -0.0025422238, 0.050300736, -0.030165289, 0.9982752, 0.13333334, 1, -0.031003604, 0.05497338, -0.032022428, 0.9974925, 0.16666667, 1, -0.028284498, 0.041944828, -0.025529142, 0.99839324, 0.2, 1, -0.0028360884, 0.019648211, -0.016126882, 0.99967295, 0.23333333, 1, 0.029949106, 0.0014368766, -0.011277324, 0.9994868, 0.26666668, 1, 0.055185083, 0.00177473, -0.015854234, 0.9983487, 0.3, 1, 0.07141648, 0.016476596, -0.02605073, 0.99697024, 0.33333334, 1, 0.08728358, 0.031500954, -0.03574671, 0.99504346, 0.36666667, 1, 0.102768786, 0.046826404, -0.04492779, 0.9925862, 0.4, 1, 0.117854774, 0.062430847, -0.053580325, 0.98961705, 0.43333334, 1, 0.114068925, 0.06436284, -0.06035373, 0.98954695, 0.46666667, 1, 0.08645135, 0.04792511, -0.06390355, 0.9930487, 0.5, 1, 0.05488873, 0.027503965, -0.06406692, 0.99605536, 0.53333336, 1, 0.039765034, 0.0175447, -0.06324014, 0.9970515) +tracks/7/type = "position_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.09795654, 0.427771, 0.016736992, 0.033333335, 1, -0.09795654, 0.427771, 0.016736992, 0.06666667, 1, -0.09795653, 0.4242153, 0.020088295, 0.1, 1, -0.09795649, 0.4146445, 0.028475666, 0.13333334, 1, -0.09795648, 0.40070233, 0.039399277, 0.16666667, 1, -0.097956434, 0.38403314, 0.05035938, 0.2, 1, -0.097956404, 0.36628097, 0.058856145, 0.23333333, 1, -0.09795639, 0.3490899, 0.062389754, 0.26666668, 1, -0.09795636, 0.33410388, 0.058460437, 0.3, 1, -0.09795634, 0.32076842, 0.049966346, 0.33333334, 1, -0.097956315, 0.30743298, 0.0414723, 0.36666667, 1, -0.097956285, 0.29409763, 0.032978233, 0.4, 1, -0.09795628, 0.2807622, 0.024484178, 0.43333334, 1, -0.09795624, 0.26867783, 0.0054535493, 0.46666667, 1, -0.097956195, 0.25942838, -0.02537162, 0.5, 1, -0.097956166, 0.25351283, -0.05407324, 0.53333336, 1, -0.09795614, 0.25142995, -0.06673332) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.56349707, 0.51754564, 0.46929502, 0.44088522, 0.033333335, 1, -0.56349707, 0.51754564, 0.46929502, 0.44088522, 0.06666667, 1, -0.56182086, 0.5157621, 0.47125453, 0.44301927, 0.1, 1, -0.55747765, 0.51114595, 0.47625732, 0.44847232, 0.13333334, 1, -0.5514903, 0.50479436, 0.4829841, 0.45581532, 0.16666667, 1, -0.5449211, 0.49784204, 0.49014723, 0.4636486, 0.2, 1, -0.53890306, 0.49148646, 0.49651986, 0.47063, 0.23333333, 1, -0.53463405, 0.4869857, 0.50093496, 0.47547415, 0.26666668, 1, -0.5333416, 0.4856247, 0.50225466, 0.47692326, 0.3, 1, -0.53394175, 0.48625645, 0.501643, 0.4762513, 0.33333334, 1, -0.53454065, 0.48688763, 0.5010305, 0.47557873, 0.36666667, 1, -0.53513896, 0.48751822, 0.50041705, 0.47490525, 0.4, 1, -0.53573626, 0.48814777, 0.49980304, 0.47423133, 0.43333334, 1, -0.5360719, 0.48850173, 0.49945736, 0.47385168, 0.46666667, 1, -0.5360345, 0.4884623, 0.49949577, 0.47389406, 0.5, 1, -0.5358481, 0.48826578, 0.49968788, 0.47410482, 0.53333336, 1, -0.53573644, 0.48814774, 0.49980313, 0.47423118) +tracks/9/type = "rotation_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 0.34200707, 0.44325665, 0.4187797, 0.71496737, 0.033333335, 1, 0.34200707, 0.44325665, 0.4187797, 0.71496737, 0.06666667, 1, 0.32266635, 0.40435496, 0.4252238, 0.74267644, 0.1, 1, 0.26417178, 0.3005553, 0.44319165, 0.8021602, 0.13333334, 1, 0.16661951, 0.15397716, 0.46914375, 0.85348296, 0.16666667, 1, 0.043385305, -0.006389546, 0.49589142, 0.86727655, 0.2, 1, -0.07779677, -0.1499918, 0.51495457, 0.84039986, 0.23333333, 1, -0.16532344, -0.25342304, 0.52268153, 0.797025, 0.26666668, 1, -0.19151108, -0.30252397, 0.52378297, 0.7729516, 0.3, 1, -0.17850281, -0.32083347, 0.5242831, 0.7683294, 0.33333334, 1, -0.16603486, -0.33918947, 0.52395576, 0.76344836, 0.36666667, 1, -0.15410993, -0.35755152, 0.5228025, 0.7583434, 0.4, 1, -0.14272915, -0.37587813, 0.52082676, 0.7530496, 0.43333334, 1, -0.14458878, -0.42246723, 0.49131805, 0.7478116, 0.46666667, 1, -0.1606452, -0.4975168, 0.42435122, 0.73932153, 0.5, 1, -0.17590855, -0.56358916, 0.3530673, 0.72578716, 0.53333336, 1, -0.18218514, -0.59135014, 0.31963477, 0.7175983) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.033333335, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.06666667, 1, 0.16711237, -0.092408836, 0.27905077, 0.9410976, 0.1, 1, 0.18883477, -0.25989813, 0.28400955, 0.90340084, 0.13333334, 1, 0.18760929, -0.37102276, 0.26770863, 0.86918175, 0.16666667, 1, 0.18746763, -0.34727156, 0.2757198, 0.87649125, 0.2, 1, 0.18395366, -0.22805114, 0.29191846, 0.91046, 0.23333333, 1, 0.16378748, -0.08490535, 0.28366727, 0.94100887, 0.26666668, 1, 0.14640523, -0.005606342, 0.2634918, 0.9534706, 0.3, 1, 0.14316308, 0.012822501, 0.25040475, 0.9574118, 0.33333334, 1, 0.13935933, 0.031166645, 0.23698667, 0.96096045, 0.36666667, 1, 0.1349994, 0.049406018, 0.2232496, 0.9641026, 0.4, 1, 0.13008946, 0.067520894, 0.20920633, 0.96682495, 0.43333334, 1, 0.1304123, 0.06639273, 0.2100928, 0.9666673, 0.46666667, 1, 0.13724855, 0.040300634, 0.2301574, 0.9625831, 0.5, 1, 0.14381385, 0.0093729785, 0.25288403, 0.95670235, 0.53333336, 1, 0.1464052, -0.005606346, 0.2634918, 0.9534706) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:RightHand") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.04333622, -0.010644132, -0.03354829, 0.9984404, 0.033333335, 1, 0.04333622, -0.010644132, -0.03354829, 0.9984404, 0.06666667, 1, 0.044219602, -0.009219363, -0.036498897, 0.99831235, 0.1, 1, 0.046446763, -0.0057345415, -0.043565124, 0.99795395, 0.13333334, 1, 0.04939583, -0.0013772314, -0.05206887, 0.99742025, 0.16666667, 1, 0.052507885, 0.002629281, -0.059351422, 0.99685174, 0.2, 1, 0.055298142, 0.0050138743, -0.062783554, 0.9964814, 0.23333333, 1, 0.05729863, 0.004474045, -0.05975459, 0.99655724, 0.26666668, 1, 0.05793665, -0.00028415132, -0.047641885, 0.99718285, 0.3, 1, 0.05751865, -0.0075615332, -0.030090205, 0.9978622, 0.33333334, 1, 0.056855816, -0.014821759, -0.012521596, 0.99819386, 0.36666667, 1, 0.055948958, -0.022058496, 0.005056339, 0.9981772, 0.4, 1, 0.054798845, -0.029264959, 0.022636168, 0.99781173, 0.43333334, 1, 0.07116226, -0.018269766, 0.037932504, 0.99657583, 0.46666667, 1, 0.109233595, 0.014599728, 0.05051025, 0.99262464, 0.5, 1, 0.14758325, 0.04861738, 0.061251696, 0.9859533, 0.53333336, 1, 0.16493511, 0.064204015, 0.06619427, 0.981984) +tracks/12/type = "rotation_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightUpperLeg") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588, 0.033333335, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588, 0.06666667, 1, 0.9408587, -0.0028563386, 0.012739576, 0.33854756, 0.1, 1, 0.94079083, -0.003154481, 0.016613804, 0.3385658, 0.13333334, 1, 0.9406875, -0.0035385666, 0.02162078, 0.33856624, 0.16666667, 1, 0.94056827, -0.0039171306, 0.0265743, 0.33854076, 0.2, 1, 0.94046783, -0.0042000404, 0.03028882, 0.3385045, 0.23333333, 1, 0.94043064, -0.0042981454, 0.031579543, 0.3384886, 0.26666668, 1, 0.9404966, -0.004121874, 0.029261455, 0.33851597, 0.3, 1, 0.94061434, -0.003777354, 0.024743179, 0.3385531, 0.33333334, 1, 0.9407181, -0.0034315728, 0.020224167, 0.33856866, 0.36666667, 1, 0.94080764, -0.0030845825, 0.015704568, 0.3385629, 0.4, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588, 0.43333334, 1, 0.9409193, -0.0025401327, 0.008641876, 0.33851126, 0.46666667, 1, 0.9409155, -0.002561962, 0.0089244, 0.3385142, 0.5, 1, 0.9408957, -0.0026710439, 0.010336994, 0.33852825, 0.53333336, 1, 0.94088304, -0.0027364467, 0.01118454, 0.33853588) + +[sub_resource type="Animation" id="Animation_58ei7"] +length = 0.5 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine1") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 3.953068e-15, 0.05906236, 4.1416266e-09, 0.033333335, 1, -1.4647608e-09, 0.057118475, 0.0016337278, 0.06666667, 1, -4.997991e-09, 0.05242952, 0.005574529, 0.1, 1, -9.3081205e-09, 0.046709538, 0.010381852, 0.13333334, 1, -1.31035645e-08, 0.04167261, 0.014615107, 0.16666667, 1, -1.5354924e-08, 0.038684823, 0.017126173, 0.2, 1, -1.6081481e-08, 0.037720617, 0.017936535, 0.23333333, 1, -1.5564696e-08, 0.038406435, 0.017360143, 0.26666668, 1, -1.40860195e-08, 0.040368788, 0.015710896, 0.3, 1, -1.192691e-08, 0.043234147, 0.013302729, 0.33333334, 1, -9.36883e-09, 0.046628986, 0.010449554, 0.36666667, 1, -6.6896706e-09, 0.0501845, 0.007461346, 0.4, 1, -4.1530988e-09, 0.053550776, 0.00463218, 0.43333334, 1, -2.0192281e-09, 0.05638263, 0.0022521617, 0.46666667, 1, -5.481533e-10, 0.058334902, 0.0006113926, 0.5, 1, 3.953068e-15, 0.05906236, 4.1416266e-09) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Spine1") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.15310273, 2.6419679e-07, -3.745965e-07, 0.9882103, 0.033333335, 1, -0.15298694, 2.6415293e-07, -3.7462746e-07, 0.98822826, 0.06666667, 1, -0.15279372, 2.437341e-07, -2.4308463e-07, 0.9882582, 0.1, 1, -0.15275522, 2.437245e-07, -2.43094e-07, 0.9882641, 0.13333334, 1, -0.15310273, 2.6419679e-07, -3.745965e-07, 0.9882103, 0.16666667, 1, -0.15398592, 2.6453148e-07, -3.7436016e-07, 0.98807305, 0.2, 1, -0.1552239, 2.6500035e-07, -3.7402836e-07, 0.98787934, 0.23333333, 1, -0.15655327, 2.6550353e-07, -3.7367147e-07, 0.9876695, 0.26666668, 1, -0.15771152, 2.6594165e-07, -3.7335977e-07, 0.98748523, 0.3, 1, -0.15843585, 3.9769162e-07, -3.5206764e-07, 0.9873693, 0.33333334, 1, -0.15846334, 3.9770137e-07, -3.520565e-07, 0.9873649, 0.36666667, 1, -0.15764487, 2.6591647e-07, -3.7337787e-07, 0.98749596, 0.4, 1, -0.1562831, 2.6540135e-07, -3.7374411e-07, 0.9877123, 0.43333334, 1, -0.15479425, 2.6483772e-07, -3.7414378e-07, 0.9879468, 0.46666667, 1, -0.15359506, 2.6438346e-07, -3.7446486e-07, 0.9881339, 0.5, 1, -0.15310273, 2.6419679e-07, -3.745965e-07, 0.9882103) +tracks/2/type = "rotation_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:Head") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -0.038782123, -3.8090184e-07, -3.2328833e-07, 0.9992478, 0.033333335, 1, -0.03733501, -3.813695e-07, -3.227365e-07, 0.9993028, 0.06666667, 1, -0.03384413, -2.494127e-07, -3.1689564e-07, 0.99942714, 0.1, 1, -0.029584767, -2.5076096e-07, -3.1583002e-07, 0.99956226, 0.13333334, 1, -0.025833834, -2.5194424e-07, -3.148867e-07, 0.9996663, 0.16666667, 1, -0.023608679, -2.526446e-07, -3.1432518e-07, 0.9997213, 0.2, 1, -0.022890637, -2.528702e-07, -3.141437e-07, 0.999738, 0.23333333, 1, -0.023401411, -2.5270973e-07, -3.1427277e-07, 0.99972624, 0.26666668, 1, -0.024862792, -2.5225006e-07, -3.1464185e-07, 0.9996909, 0.3, 1, -0.026996708, -2.5157775e-07, -3.1517962e-07, 0.9996355, 0.33333334, 1, -0.02952495, -2.5077983e-07, -3.158149e-07, 0.99956405, 0.36666667, 1, -0.032172438, -2.4994236e-07, -3.1647804e-07, 0.99948233, 0.4, 1, -0.03467895, -3.8222592e-07, -3.217217e-07, 0.9993985, 0.43333334, 1, -0.036787357, -3.8154624e-07, -3.225273e-07, 0.9993231, 0.46666667, 1, -0.038240682, -3.8107677e-07, -3.230818e-07, 0.9992686, 0.5, 1, -0.038782123, -3.8090184e-07, -3.2328833e-07, 0.9992478) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.033333335, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.06666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.1, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.13333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.16666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.2, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.23333333, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.26666668, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.3, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.33333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.36666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.4, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.43333334, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.46666667, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077, 0.5, 1, -0.5357364, -0.4881479, -0.4998033, 0.47423077) +tracks/4/type = "position_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, 0.109395266, 0.09644507, 0.09388505, 0.033333335, 1, 0.10873134, 0.09647804, 0.09365002, 0.06666667, 1, 0.107129805, 0.09655751, 0.09308313, 0.1, 1, 0.10517614, 0.0966545, 0.09239171, 0.13333334, 1, 0.10345574, 0.09673988, 0.09178278, 0.16666667, 1, 0.10243526, 0.09679054, 0.091421545, 0.2, 1, 0.102105945, 0.096806884, 0.09130508, 0.23333333, 1, 0.102340184, 0.096795246, 0.091387846, 0.26666668, 1, 0.10301048, 0.096761994, 0.091625154, 0.3, 1, 0.103989094, 0.096713394, 0.09197152, 0.33333334, 1, 0.1051486, 0.09665585, 0.09238194, 0.36666667, 1, 0.10636303, 0.096595585, 0.09281177, 0.4, 1, 0.10751275, 0.0965385, 0.093218796, 0.43333334, 1, 0.10847999, 0.0964905, 0.0935611, 0.46666667, 1, 0.10914679, 0.0964574, 0.09379704, 0.5, 1, 0.109395266, 0.09644507, 0.09388505) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/5/interp = 0 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.033333335, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.06666667, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.1, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.13333334, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.16666667, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.2, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.23333333, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.26666668, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.3, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.33333334, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.36666667, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.4, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.43333334, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.46666667, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989, 0.5, 1, 0.08012859, 0.7689236, -0.32719037, 0.5433989) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/6/interp = 0 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.033333335, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.06666667, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.1, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.13333334, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.16666667, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.2, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.23333333, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.26666668, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.3, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.33333334, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.36666667, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.4, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.43333334, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.46666667, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254, 0.5, 1, 0.4769912, -0.057332925, -0.1145337, 0.8695254) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:LeftHand") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.04124398, -0.014288548, -0.20468448, 0.9778543, 0.033333335, 1, -0.045763314, -0.015985224, -0.21295965, 0.9758578, 0.06666667, 1, -0.05654992, -0.020397484, -0.23280536, 0.9706636, 0.1, 1, -0.06946979, -0.026384218, -0.25677553, 0.96361, 0.13333334, 1, -0.08060926, -0.03219738, -0.27764395, 0.95675457, 0.16666667, 1, -0.087104075, -0.03588133, -0.2899084, 0.9524067, 0.2, 1, -0.089181215, -0.037107363, -0.2938473, 0.95095927, 0.23333333, 1, -0.08770474, -0.03623347, -0.29104644, 0.9519911, 0.26666668, 1, -0.08345422, -0.0337834, -0.28300682, 0.95488286, 0.3, 1, -0.0771809, -0.030341359, -0.2711996, 0.95894384, 0.33333334, 1, -0.06964965, -0.026473112, -0.25711116, 0.963505, 0.36666667, 1, -0.061653353, -0.022668604, -0.24224627, 0.96798855, 0.4, 1, -0.05398573, -0.019301528, -0.22807495, 0.97195417, 0.43333334, 1, -0.04746696, -0.016647873, -0.21608491, 0.975078, 0.46666667, 1, -0.042938363, -0.014914412, -0.20778432, 0.977118, 0.5, 1, -0.04124398, -0.014288548, -0.20468448, 0.9778543) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/8/interp = 0 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.033333335, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.06666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.1, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.13333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.16666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.2, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.23333333, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.26666668, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.3, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.33333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.36666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.4, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.43333334, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.46666667, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115, 0.5, 1, -0.5357364, 0.48814785, 0.499803, 0.47423115) +tracks/9/type = "position_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, -0.1550847, 0.13723695, 0.055721395, 0.033333335, 1, -0.1550847, 0.13723695, 0.055721395, 0.06666667, 1, -0.1550847, 0.13723695, 0.055721395, 0.1, 1, -0.1550847, 0.13723695, 0.055721395, 0.13333334, 1, -0.1550847, 0.13723695, 0.055721395, 0.16666667, 1, -0.1550847, 0.13723695, 0.055721395, 0.2, 1, -0.1550847, 0.13723695, 0.055721395, 0.23333333, 1, -0.1550847, 0.13723695, 0.055721395, 0.26666668, 1, -0.1550847, 0.13723695, 0.055721395, 0.3, 1, -0.1550847, 0.13723695, 0.055721395, 0.33333334, 1, -0.1550847, 0.13723695, 0.055721395, 0.36666667, 1, -0.1550847, 0.13723695, 0.055721395, 0.4, 1, -0.1550847, 0.13723695, 0.055721395, 0.43333334, 1, -0.1550847, 0.13723695, 0.055721395, 0.46666667, 1, -0.1550847, 0.13723695, 0.055721395, 0.5, 1, -0.1550847, 0.13723695, 0.055721395) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.24238195, -0.7944401, 0.4211927, 0.36429754, 0.033333335, 1, 0.24292542, -0.7972732, 0.41583258, 0.36390382, 0.06666667, 1, 0.24424846, -0.80393916, 0.40282777, 0.3629799, 0.1, 1, 0.24588719, -0.81174755, 0.38682398, 0.3619015, 0.13333334, 1, 0.24735492, -0.8183271, 0.3726105, 0.36099544, 0.16666667, 1, 0.24823706, -0.82209814, 0.36412847, 0.3604767, 0.2, 1, 0.24852364, -0.8232941, 0.3613835, 0.36031213, 0.23333333, 1, 0.24831973, -0.82244456, 0.36333653, 0.3604287, 0.26666668, 1, 0.24773856, -0.819985, 0.36891365, 0.36076728, 0.3, 1, 0.24689735, -0.81631726, 0.37702858, 0.36127177, 0.33333334, 1, 0.24591061, -0.8118549, 0.3865974, 0.36188677, 0.36666667, 1, 0.24488823, -0.8070464, 0.39656428, 0.36255026, 0.4, 1, 0.24393053, -0.80236673, 0.40594703, 0.3631977, 0.43333334, 1, 0.24313186, -0.798335, 0.41379878, 0.36375648, 0.46666667, 1, 0.24258497, -0.79550517, 0.4191889, 0.36414942, 0.5, 1, 0.24238195, -0.7944401, 0.4211927, 0.36429754) +tracks/11/type = "rotation_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/11/interp = 0 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.033333335, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.06666667, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.1, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.13333334, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.16666667, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.2, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.23333333, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.26666668, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.3, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.33333334, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.36666667, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.4, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.43333334, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.46666667, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495, 0.5, 1, 0.48328775, -0.005284329, 0.021367019, 0.87518495) +tracks/12/type = "rotation_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightHand") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, 0.06955129, 0.14858216, 0.32042038, 0.9329613, 0.033333335, 1, 0.074181356, 0.14804049, 0.3218476, 0.9321992, 0.06666667, 1, 0.08533331, 0.14669017, 0.32529262, 0.93026066, 0.1, 1, 0.098903455, 0.14495859, 0.32949924, 0.9277044, 0.13333334, 1, 0.11081992, 0.14335713, 0.33320582, 0.9252792, 0.16666667, 1, 0.117872715, 0.1423731, 0.3354051, 0.9237637, 0.2, 1, 0.1201462, 0.14205006, 0.33611473, 0.9232625, 0.23333333, 1, 0.11852922, 0.14228007, 0.33561, 0.92361957, 0.26666668, 1, 0.1138991, 0.1429309, 0.33416563, 0.92462486, 0.3, 1, 0.10712908, 0.14386135, 0.3320567, 0.9260484, 0.33333334, 1, 0.09909437, 0.14493366, 0.32955852, 0.92766684, 0.36666667, 1, 0.09066407, 0.14602166, 0.32694325, 0.9292824, 0.4, 1, 0.08266873, 0.14701869, 0.32446852, 0.93073714, 0.43333334, 1, 0.07593294, 0.1478327, 0.3223879, 0.9319044, 0.46666667, 1, 0.07128445, 0.1483807, 0.3209544, 0.93267894, 0.5, 1, 0.06955129, 0.14858216, 0.32042038, 0.9329613) + +[sub_resource type="Animation" id="Animation_stu12"] +length = 0.53333336 +tracks/0/type = "position_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("GeneralSkeleton:Spine1") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, 3.953068e-15, 0.05906236, 4.1416266e-09, 0.033333335, 1, 3.953068e-15, 0.05906236, 4.1416266e-09, 0.06666667, 1, -1.9968326e-10, 0.058797363, 0.00022272498, 0.1, 1, -7.1775574e-10, 0.058109824, 0.0008005711, 0.13333334, 1, -1.4327217e-09, 0.057161, 0.0015980205, 0.16666667, 1, -2.2230955e-09, 0.056112114, 0.0024795649, 0.2, 1, -2.9673803e-09, 0.05512437, 0.0033097274, 0.23333333, 1, -3.5441032e-09, 0.05435902, 0.003952971, 0.26666668, 1, -3.831766e-09, 0.05397725, 0.004273831, 0.3, 1, -3.745699e-09, 0.054091476, 0.0041778344, 0.33333334, 1, -3.348519e-09, 0.05461856, 0.0037348378, 0.36666667, 1, -2.739646e-09, 0.055426586, 0.0030557234, 0.4, 1, -2.018518e-09, 0.056383602, 0.0022513932, 0.43333334, 1, -1.2845572e-09, 0.05735763, 0.0014327582, 0.46666667, 1, -6.37204e-10, 0.058216736, 0.00071071676, 0.5, 1, -1.7587007e-10, 0.058828965, 0.00019616645, 0.53333336, 1, 3.953068e-15, 0.05906236, 4.1416266e-09) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("GeneralSkeleton:Spine1") +tracks/1/interp = 0 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.033333335, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.06666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.1, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.13333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.16666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.2, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.23333333, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.26666668, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.3, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.33333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.36666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.4, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.43333334, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.46666667, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.5, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262, 0.53333336, 1, -0.37573725, 7.399904e-07, -5.741303e-07, 0.9267262) +tracks/2/type = "position_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("GeneralSkeleton:Head") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, -4.6746674e-14, 0.2846942, 4.029311e-08, 0.033333335, 1, -4.6746674e-14, 0.2846942, 4.029311e-08, 0.06666667, 1, 1.8372835e-11, 0.28409952, -4.25255e-05, 0.1, 1, 6.628614e-11, 0.28255674, -0.00015297998, 0.13333334, 1, 1.3236509e-10, 0.28042763, -0.00030540815, 0.16666667, 1, 2.0540808e-10, 0.2780739, -0.0004739114, 0.2, 1, 2.7420188e-10, 0.27585748, -0.0006325992, 0.23333333, 1, 3.274454e-10, 0.2741401, -0.00075552636, 0.26666668, 1, 3.5398307e-10, 0.2732835, -0.0008168635, 0.3, 1, 3.4606162e-10, 0.27353978, -0.00079850736, 0.33333334, 1, 3.0935515e-10, 0.2747225, -0.000713845, 0.36666667, 1, 2.5311647e-10, 0.2765357, -0.0005840312, 0.4, 1, 1.8652813e-10, 0.27868313, -0.0004302963, 0.43333334, 1, 1.1868731e-10, 0.2808688, -0.0002738157, 0.46666667, 1, 5.888155e-11, 0.28279662, -0.0001358146, 0.5, 1, 1.6273892e-11, 0.28417036, -3.7479695e-05, 0.53333336, 1, -4.6746674e-14, 0.2846942, 4.029311e-08) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("GeneralSkeleton:Head") +tracks/3/interp = 0 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.033333335, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.06666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.1, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.13333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.16666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.2, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.23333333, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.26666668, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.3, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.33333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.36666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.4, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.43333334, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.46666667, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.5, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635, 0.53333336, 1, -0.1371792, -3.6541434e-07, -2.2739195e-07, 0.99054635) +tracks/4/type = "position_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/4/interp = 0 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, 0.09795613, 0.42777258, 0.016737785, 0.033333335, 1, 0.09795613, 0.42777258, 0.016737785, 0.06666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.1, 1, 0.09795613, 0.42777258, 0.016737785, 0.13333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.16666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.2, 1, 0.09795613, 0.42777258, 0.016737785, 0.23333333, 1, 0.09795613, 0.42777258, 0.016737785, 0.26666668, 1, 0.09795613, 0.42777258, 0.016737785, 0.3, 1, 0.09795613, 0.42777258, 0.016737785, 0.33333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.36666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.4, 1, 0.09795613, 0.42777258, 0.016737785, 0.43333334, 1, 0.09795613, 0.42777258, 0.016737785, 0.46666667, 1, 0.09795613, 0.42777258, 0.016737785, 0.5, 1, 0.09795613, 0.42777258, 0.016737785, 0.53333336, 1, 0.09795613, 0.42777258, 0.016737785) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("GeneralSkeleton:LeftShoulder") +tracks/5/interp = 0 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.033333335, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.06666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.1, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.13333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.16666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.2, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.23333333, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.26666668, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.3, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.33333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.36666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.4, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.43333334, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.46666667, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.5, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432, 0.53333336, 1, -0.5634963, -0.51754683, -0.46929562, 0.44088432) +tracks/6/type = "position_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, -0.0016287166, 0.14501561, 0.00025157674, 0.033333335, 1, -0.0016287166, 0.14501561, 0.00025157674, 0.06666667, 1, -0.0017734149, 0.14506163, -0.0003335565, 0.1, 1, -0.0021488192, 0.14518102, -0.0018515008, 0.13333334, 1, -0.0026668992, 0.1453458, -0.0039463816, 0.16666667, 1, -0.0032396442, 0.14552797, -0.006262323, 0.2, 1, -0.0037789438, 0.1456995, -0.008443098, 0.23333333, 1, -0.004196892, 0.14583242, -0.010132994, 0.26666668, 1, -0.0044053355, 0.14589871, -0.010975973, 0.3, 1, -0.0043429704, 0.14587888, -0.0107237045, 0.33333334, 1, -0.0040551536, 0.14578734, -0.009559953, 0.36666667, 1, -0.0036139528, 0.14564702, -0.007775792, 0.4, 1, -0.003091374, 0.14548081, -0.0056629023, 0.43333334, 1, -0.0025595534, 0.14531165, -0.0035123436, 0.46666667, 1, -0.0020904627, 0.14516246, -0.0016155058, 0.5, 1, -0.0017561435, 0.14505613, -0.00026364537, 0.53333336, 1, -0.0016287166, 0.14501561, 0.00025157674) +tracks/7/type = "rotation_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("GeneralSkeleton:LeftUpperArm") +tracks/7/interp = 0 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.033333335, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.06666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.1, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.13333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.16666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.2, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.23333333, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.26666668, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.3, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.33333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.36666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.4, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.43333334, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.46666667, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.5, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397, 0.53333336, 1, 0.26007834, -0.25464663, -0.41803253, 0.83232397) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("GeneralSkeleton:LeftLowerArm") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428, 0.033333335, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428, 0.06666667, 1, 0.3333426, -0.33511743, -0.27944934, 0.8357554, 0.1, 1, 0.33441046, -0.3353484, -0.27935344, 0.8352681, 0.13333334, 1, 0.33588165, -0.3356686, -0.27922368, 0.8345923, 0.16666667, 1, 0.337504, -0.3360242, -0.27908355, 0.8338412, 0.2, 1, 0.3390282, -0.33636126, -0.27895495, 0.8331297, 0.23333333, 1, 0.34020686, -0.33662364, -0.27885735, 0.8325758, 0.26666668, 1, 0.34079418, -0.33675486, -0.2788096, 0.83229846, 0.3, 1, 0.3406185, -0.33671555, -0.2788239, 0.8323815, 0.33333334, 1, 0.33980745, -0.3365345, -0.27889028, 0.83276385, 0.36666667, 1, 0.33856225, -0.33625814, -0.27899405, 0.83334774, 0.4, 1, 0.33708444, -0.3359321, -0.27911958, 0.83403593, 0.43333334, 1, 0.33557707, -0.33560196, -0.2792504, 0.83473265, 0.46666667, 1, 0.3342446, -0.3353123, -0.27936825, 0.835344, 0.5, 1, 0.33329365, -0.33510682, -0.27945387, 0.8357777, 0.53333336, 1, 0.33293048, -0.3350286, -0.27948672, 0.8359428) +tracks/9/type = "position_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/9/interp = 0 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, -0.09795646, 0.42777103, 0.016737178, 0.033333335, 1, -0.09795646, 0.42777103, 0.016737178, 0.06666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.1, 1, -0.09795646, 0.42777103, 0.016737178, 0.13333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.16666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.2, 1, -0.09795646, 0.42777103, 0.016737178, 0.23333333, 1, -0.09795646, 0.42777103, 0.016737178, 0.26666668, 1, -0.09795646, 0.42777103, 0.016737178, 0.3, 1, -0.09795646, 0.42777103, 0.016737178, 0.33333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.36666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.4, 1, -0.09795646, 0.42777103, 0.016737178, 0.43333334, 1, -0.09795646, 0.42777103, 0.016737178, 0.46666667, 1, -0.09795646, 0.42777103, 0.016737178, 0.5, 1, -0.09795646, 0.42777103, 0.016737178, 0.53333336, 1, -0.09795646, 0.42777103, 0.016737178) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("GeneralSkeleton:RightShoulder") +tracks/10/interp = 0 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.033333335, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.06666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.1, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.13333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.16666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.2, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.23333333, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.26666668, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.3, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.33333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.36666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.4, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.43333334, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.46666667, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.5, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513, 0.53333336, 1, -0.56349725, 0.5175456, 0.4692949, 0.44088513) +tracks/11/type = "position_3d" +tracks/11/imported = true +tracks/11/enabled = true +tracks/11/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = PackedFloat32Array(0, 1, 0.00162871, 0.14501564, 0.00025160934, 0.033333335, 1, 0.00162871, 0.14501564, 0.00025160934, 0.06666667, 1, 0.0017734237, 0.14506167, -0.00033363982, 0.1, 1, 0.0021488585, 0.14518107, -0.0018515768, 0.13333334, 1, 0.002666969, 0.14534588, -0.003946391, 0.16666667, 1, 0.0032397194, 0.14552808, -0.0062623858, 0.2, 1, 0.0037791107, 0.14569964, -0.008443264, 0.23333333, 1, 0.0041970327, 0.14583257, -0.010133039, 0.26666668, 1, 0.0044054757, 0.14589885, -0.010975776, 0.3, 1, 0.004343134, 0.14587903, -0.010723805, 0.33333334, 1, 0.0040552947, 0.14578746, -0.009559882, 0.36666667, 1, 0.0036140687, 0.14564712, -0.007775907, 0.4, 1, 0.003091463, 0.1454809, -0.005662904, 0.43333334, 1, 0.0025596116, 0.14531171, -0.003512355, 0.46666667, 1, 0.0020904616, 0.14516251, -0.0016154677, 0.5, 1, 0.001756152, 0.14505614, -0.00026373038, 0.53333336, 1, 0.00162871, 0.14501564, 0.00025160934) +tracks/12/type = "rotation_3d" +tracks/12/imported = true +tracks/12/enabled = true +tracks/12/path = NodePath("GeneralSkeleton:RightUpperArm") +tracks/12/interp = 0 +tracks/12/loop_wrap = true +tracks/12/keys = PackedFloat32Array(0, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.033333335, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.06666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.1, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.13333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.16666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.2, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.23333333, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.26666668, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.3, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.33333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.36666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.4, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.43333334, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.46666667, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.5, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673, 0.53333336, 1, 0.3420072, 0.44325665, 0.4187797, 0.7149673) +tracks/13/type = "rotation_3d" +tracks/13/imported = true +tracks/13/enabled = true +tracks/13/path = NodePath("GeneralSkeleton:RightLowerArm") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = PackedFloat32Array(0, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.033333335, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706, 0.06666667, 1, 0.14572267, -0.0057624606, 0.26361868, 0.9535392, 0.1, 1, 0.14395136, -0.0061668158, 0.26394954, 0.9537142, 0.13333334, 1, 0.1415052, -0.0067227054, 0.26440892, 0.95394915, 0.16666667, 1, 0.1387989, -0.00733442, 0.26492098, 0.95420015, 0.2, 1, 0.13624829, -0.007907767, 0.2654071, 0.9544281, 0.23333333, 1, 0.13427058, -0.008350169, 0.2657863, 0.9545991, 0.26666668, 1, 0.13328372, -0.008570235, 0.26597643, 0.9546824, 0.3, 1, 0.133579, -0.008504472, 0.26591948, 0.9546577, 0.33333334, 1, 0.13494149, -0.008200373, 0.26565757, 0.95454156, 0.36666667, 1, 0.13702889, -0.007732628, 0.26525792, 0.95435923, 0.4, 1, 0.13949957, -0.007176376, 0.26478806, 0.95413613, 0.43333334, 1, 0.14201224, -0.006607715, 0.2643134, 0.9539011, 0.46666667, 1, 0.14422686, -0.0061040483, 0.26389793, 0.9536872, 0.5, 1, 0.14580408, -0.0057438863, 0.26360357, 0.95353097, 0.53333336, 1, 0.1464052, -0.005606344, 0.26349184, 0.9534706) +tracks/14/type = "rotation_3d" +tracks/14/imported = true +tracks/14/enabled = true +tracks/14/path = NodePath("GeneralSkeleton:RightHand") +tracks/14/interp = 0 +tracks/14/loop_wrap = true +tracks/14/keys = PackedFloat32Array(0, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.033333335, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.06666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.1, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.13333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.16666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.2, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.23333333, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.26666668, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.3, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.33333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.36666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.4, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.43333334, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.46666667, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.5, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404, 0.53333336, 1, 0.04333621, -0.010644135, -0.03354829, 0.9984404) + +[resource] +_data = { +&"dasher_getting_hit": SubResource("Animation_pebao"), +&"dasher_hit": SubResource("Animation_p0uhi"), +&"dasher_hold": SubResource("Animation_xciuw"), +&"dasher_put": SubResource("Animation_3s20j"), +&"dasher_stun": SubResource("Animation_58ei7"), +&"dasher_take": SubResource("Animation_stu12") +} diff --git a/assets/characters/animations/dasher_getting_hit.res b/assets/characters/animations/dasher_getting_hit.res new file mode 100644 index 0000000..0b30d81 Binary files /dev/null and b/assets/characters/animations/dasher_getting_hit.res differ diff --git a/assets/characters/animations/dasher_hit.res b/assets/characters/animations/dasher_hit.res new file mode 100644 index 0000000..9c14020 Binary files /dev/null and b/assets/characters/animations/dasher_hit.res differ diff --git a/assets/characters/animations/dasher_hold.res b/assets/characters/animations/dasher_hold.res new file mode 100644 index 0000000..292951e Binary files /dev/null and b/assets/characters/animations/dasher_hold.res differ diff --git a/assets/characters/animations/dasher_put.res b/assets/characters/animations/dasher_put.res new file mode 100644 index 0000000..31ed975 Binary files /dev/null and b/assets/characters/animations/dasher_put.res differ diff --git a/assets/characters/animations/dasher_stun.res b/assets/characters/animations/dasher_stun.res new file mode 100644 index 0000000..3300037 Binary files /dev/null and b/assets/characters/animations/dasher_stun.res differ diff --git a/assets/characters/animations/dasher_take.res b/assets/characters/animations/dasher_take.res new file mode 100644 index 0000000..b451c3b Binary files /dev/null and b/assets/characters/animations/dasher_take.res differ diff --git a/assets/characters/tektons/ted_mesh.glb b/assets/characters/tektons/ted_mesh.glb new file mode 100644 index 0000000..4115d8e Binary files /dev/null and b/assets/characters/tektons/ted_mesh.glb differ diff --git a/assets/characters/tektons/ted_mesh.glb.import b/assets/characters/tektons/ted_mesh.glb.import new file mode 100644 index 0000000..05e9174 --- /dev/null +++ b/assets/characters/tektons/ted_mesh.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bhaoe16cwuhgn" +path="res://.godot/imported/ted_mesh.glb-3a244082b66ad864a2330884dc3cfef0.scn" + +[deps] + +source_file="res://assets/characters/tektons/ted_mesh.glb" +dest_files=["res://.godot/imported/ted_mesh.glb-3a244082b66ad864a2330884dc3cfef0.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/assets/characters/tektons/ted_mesh_Ted_tex.png b/assets/characters/tektons/ted_mesh_Ted_tex.png new file mode 100644 index 0000000..59387d0 Binary files /dev/null and b/assets/characters/tektons/ted_mesh_Ted_tex.png differ diff --git a/assets/characters/tektons/ted_mesh_Ted_tex.png.import b/assets/characters/tektons/ted_mesh_Ted_tex.png.import new file mode 100644 index 0000000..ba75bf0 --- /dev/null +++ b/assets/characters/tektons/ted_mesh_Ted_tex.png.import @@ -0,0 +1,45 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3pkw7elxf3uj" +path.s3tc="res://.godot/imported/ted_mesh_Ted_tex.png-4d174c9da5478cc8fa9a7dc133c769a9.s3tc.ctex" +path.etc2="res://.godot/imported/ted_mesh_Ted_tex.png-4d174c9da5478cc8fa9a7dc133c769a9.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "ad130a61dfc420142fb25fb3f8aa3c6f" +} + +[deps] + +source_file="res://assets/characters/tektons/ted_mesh_Ted_tex.png" +dest_files=["res://.godot/imported/ted_mesh_Ted_tex.png-4d174c9da5478cc8fa9a7dc133c769a9.s3tc.ctex", "res://.godot/imported/ted_mesh_Ted_tex.png-4d174c9da5478cc8fa9a7dc133c769a9.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/characters/tektons/tekton_chuck.glb b/assets/characters/tektons/tekton_chuck.glb new file mode 100644 index 0000000..064a35a Binary files /dev/null and b/assets/characters/tektons/tekton_chuck.glb differ diff --git a/assets/characters/tektons/tekton_chuck.glb.import b/assets/characters/tektons/tekton_chuck.glb.import new file mode 100644 index 0000000..a514bcb --- /dev/null +++ b/assets/characters/tektons/tekton_chuck.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://crj13iq2laas2" +path="res://.godot/imported/tekton_chuck.glb-635c14eb795891e496e379a5e8e8da76.scn" + +[deps] + +source_file="res://assets/characters/tektons/tekton_chuck.glb" +dest_files=["res://.godot/imported/tekton_chuck.glb-635c14eb795891e496e379a5e8e8da76.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/assets/characters/tektons/tekton_chuck_Chuck_Tex.png b/assets/characters/tektons/tekton_chuck_Chuck_Tex.png new file mode 100644 index 0000000..41eff60 Binary files /dev/null and b/assets/characters/tektons/tekton_chuck_Chuck_Tex.png differ diff --git a/assets/characters/tektons/tekton_chuck_Chuck_Tex.png.import b/assets/characters/tektons/tekton_chuck_Chuck_Tex.png.import new file mode 100644 index 0000000..ccb90ad --- /dev/null +++ b/assets/characters/tektons/tekton_chuck_Chuck_Tex.png.import @@ -0,0 +1,45 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuvid5ung2t00" +path.s3tc="res://.godot/imported/tekton_chuck_Chuck_Tex.png-e0045591d28f0268fdd766f2957b1ef1.s3tc.ctex" +path.etc2="res://.godot/imported/tekton_chuck_Chuck_Tex.png-e0045591d28f0268fdd766f2957b1ef1.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "73774d4b25b8bce2a6b7098b17cf4dc5" +} + +[deps] + +source_file="res://assets/characters/tektons/tekton_chuck_Chuck_Tex.png" +dest_files=["res://.godot/imported/tekton_chuck_Chuck_Tex.png-e0045591d28f0268fdd766f2957b1ef1.s3tc.ctex", "res://.godot/imported/tekton_chuck_Chuck_Tex.png-e0045591d28f0268fdd766f2957b1ef1.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/characters/tektons/tekton_nest.glb b/assets/characters/tektons/tekton_nest.glb new file mode 100644 index 0000000..fccb34d Binary files /dev/null and b/assets/characters/tektons/tekton_nest.glb differ diff --git a/assets/characters/tektons/tekton_nest.glb.import b/assets/characters/tektons/tekton_nest.glb.import new file mode 100644 index 0000000..0dae20d --- /dev/null +++ b/assets/characters/tektons/tekton_nest.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://fno6pom1orvl" +path="res://.godot/imported/tekton_nest.glb-36c2a8dfaddd466203be329bdc5cb237.scn" + +[deps] + +source_file="res://assets/characters/tektons/tekton_nest.glb" +dest_files=["res://.godot/imported/tekton_nest.glb-36c2a8dfaddd466203be329bdc5cb237.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/assets/characters/tektons/tekton_nest_Nest_Tex.png b/assets/characters/tektons/tekton_nest_Nest_Tex.png new file mode 100644 index 0000000..28b9251 Binary files /dev/null and b/assets/characters/tektons/tekton_nest_Nest_Tex.png differ diff --git a/assets/characters/tektons/tekton_nest_Nest_Tex.png.import b/assets/characters/tektons/tekton_nest_Nest_Tex.png.import new file mode 100644 index 0000000..83248c1 --- /dev/null +++ b/assets/characters/tektons/tekton_nest_Nest_Tex.png.import @@ -0,0 +1,45 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsidqfrr4rfbe" +path.s3tc="res://.godot/imported/tekton_nest_Nest_Tex.png-35ffaafebbf3b41a5eb925ccb6a1d73e.s3tc.ctex" +path.etc2="res://.godot/imported/tekton_nest_Nest_Tex.png-35ffaafebbf3b41a5eb925ccb6a1d73e.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} +generator_parameters={ +"md5": "a0e413b66e1f7568f7bc7e985cd740a2" +} + +[deps] + +source_file="res://assets/characters/tektons/tekton_nest_Nest_Tex.png" +dest_files=["res://.godot/imported/tekton_nest_Nest_Tex.png-35ffaafebbf3b41a5eb925ccb6a1d73e.s3tc.ctex", "res://.godot/imported/tekton_nest_Nest_Tex.png-35ffaafebbf3b41a5eb925ccb6a1d73e.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/characters/tektons/tekton_throwing_tiles.glb b/assets/characters/tektons/tekton_throwing_tiles.glb new file mode 100644 index 0000000..625e3e3 Binary files /dev/null and b/assets/characters/tektons/tekton_throwing_tiles.glb differ diff --git a/assets/characters/tektons/tekton_throwing_tiles.glb.import b/assets/characters/tektons/tekton_throwing_tiles.glb.import new file mode 100644 index 0000000..ea4fba2 --- /dev/null +++ b/assets/characters/tektons/tekton_throwing_tiles.glb.import @@ -0,0 +1,42 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://b7w0ygo6ar0g1" +path="res://.godot/imported/tekton_throwing_tiles.glb-ed040127419938b4e0975d9058b97819.scn" + +[deps] + +source_file="res://assets/characters/tektons/tekton_throwing_tiles.glb" +dest_files=["res://.godot/imported/tekton_throwing_tiles.glb-ed040127419938b4e0975d9058b97819.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/assets/graphics/vfx/playerboard_scatter.png b/assets/graphics/vfx/playerboard_scatter.png new file mode 100644 index 0000000..c2b595b Binary files /dev/null and b/assets/graphics/vfx/playerboard_scatter.png differ diff --git a/assets/graphics/vfx/playerboard_scatter.png.import b/assets/graphics/vfx/playerboard_scatter.png.import new file mode 100644 index 0000000..a17f11c --- /dev/null +++ b/assets/graphics/vfx/playerboard_scatter.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmoyhmh4jpep0" +path="res://.godot/imported/playerboard_scatter.png-56acbbf1272f9ca0a0f4c05748cbb311.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/vfx/playerboard_scatter.png" +dest_files=["res://.godot/imported/playerboard_scatter.png-56acbbf1272f9ca0a0f4c05748cbb311.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/graphics/vfx/spawn_baruu.png b/assets/graphics/vfx/spawn_baruu.png new file mode 100644 index 0000000..cae1137 Binary files /dev/null and b/assets/graphics/vfx/spawn_baruu.png differ diff --git a/assets/graphics/vfx/spawn_baruu.png.import b/assets/graphics/vfx/spawn_baruu.png.import new file mode 100644 index 0000000..a45b175 --- /dev/null +++ b/assets/graphics/vfx/spawn_baruu.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvv33rheu02jt" +path="res://.godot/imported/spawn_baruu.png-070f37821844382ed2de00e4868812a2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/vfx/spawn_baruu.png" +dest_files=["res://.godot/imported/spawn_baruu.png-070f37821844382ed2de00e4868812a2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/graphics/vfx/take_powerup.png b/assets/graphics/vfx/take_powerup.png new file mode 100644 index 0000000..4a43f67 Binary files /dev/null and b/assets/graphics/vfx/take_powerup.png differ diff --git a/assets/graphics/vfx/take_powerup.png.import b/assets/graphics/vfx/take_powerup.png.import new file mode 100644 index 0000000..d720524 --- /dev/null +++ b/assets/graphics/vfx/take_powerup.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwmqu5wsing63" +path="res://.godot/imported/take_powerup.png-9020da02d6cb4ea40dac3fd7cd66fcef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/graphics/vfx/take_powerup.png" +dest_files=["res://.godot/imported/take_powerup.png-9020da02d6cb4ea40dac3fd7cd66fcef.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/main.gd b/scenes/main.gd index 935c76b..2f148e9 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -1254,7 +1254,12 @@ func _create_tekton(pos: Vector2i, tekton_id: int, is_static: bool = false): var node_name = "Tekton_%d" % tekton_id if has_node(node_name): return - var tekton_scene = load("res://scenes/tekton.tscn") + var tekton_scene + if is_static: + tekton_scene = load("res://scenes/static_tekton.tscn") + else: + tekton_scene = load("res://scenes/tekton.tscn") + var tekton = tekton_scene.instantiate() tekton.name = node_name add_child(tekton) diff --git a/scenes/player.gd b/scenes/player.gd index f79f7a8..2373180 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -247,8 +247,10 @@ func _ready(): # Visible to all human players. Green for local player, Red for others. var pointer = get_node_or_null("CharacterPointer") - # === Dynamically load new Dasher animations === - _load_dasher_animations() + # === Dasher animations are loaded statically via player.tscn ext_resource === + # The dasher-pack.tres AnimationLibrary is referenced on the AnimationPlayer + # node as a second library ("dasher-pack"). See tools/convert_dasher_animations.gd + # and tools/build_dasher_pack.gd to regenerate the .tres from the source .glb files. if pointer: pointer.visible = true @@ -374,45 +376,10 @@ func _init_floor_spawn_anchor(): floor_spawn_top.reparent(floor_spawn_anchor, false) func _load_dasher_animations(): - """Dynamically loads dasher animations from GLB files and adds them to the AnimationPlayer.""" - if not anim_player: return - - var anim_library = anim_player.get_animation_library("animation-pack") - if not anim_library: - anim_library = AnimationLibrary.new() - anim_player.add_animation_library("animation-pack", anim_library) - - var dasher_files = [ - {"path": "res://assets/characters/dashers/dasher_getting_hit.glb", "name": "dasher_getting_hit"}, - {"path": "res://assets/characters/dashers/dasher_hit.glb", "name": "dasher_hit"}, - {"path": "res://assets/characters/dashers/dasher_hold.glb", "name": "dasher_hold"}, - {"path": "res://assets/characters/dashers/dasher_put.glb", "name": "dasher_put"}, - {"path": "res://assets/characters/dashers/dasher_stun.glb", "name": "dasher_stun"}, - {"path": "res://assets/characters/dashers/dasher_take.glb", "name": "dasher_take"} - ] - - for file_data in dasher_files: - var gltf_doc = GLTFDocument.new() - var gltf_state = GLTFState.new() - var error = gltf_doc.append_from_file(file_data.path, gltf_state) - - if error == OK: - var anim_player_node = gltf_state.get_animation_player(0) - # Godot's GLTF importer creates an AnimationPlayer inside the scene - var scene = gltf_doc.generate_scene(gltf_state) - if scene: - var scene_anim_player = scene.find_child("AnimationPlayer", true, false) - if scene_anim_player: - var libs = scene_anim_player.get_animation_library_list() - for lib_name in libs: - var temp_lib = scene_anim_player.get_animation_library(lib_name) - for anim_name in temp_lib.get_animation_list(): - var anim = temp_lib.get_animation(anim_name) - if not anim_library.has_animation(file_data.name): - anim_library.add_animation(file_data.name, anim) - scene.queue_free() - - print("[Player] Dasher animations loaded into 'animation-pack'.") + # Deprecated: dasher animations are now loaded statically via the + # dasher-pack.tres AnimationLibrary referenced on the AnimationPlayer node + # in player.tscn. Keep this stub for backward compatibility / no-op. + pass @onready var floor_spawn_bot: AnimatedSprite3D = $floor_spawn_bot @onready var floor_spawn_top: AnimatedSprite3D = $floor_spawn_top @@ -684,6 +651,8 @@ const ANIMATION_SPEED: float = 2.0 func play_walk_animation() -> void: """Play walking animation at increased speed.""" + if is_carrying_tekton and anim_player and anim_player.has_animation("dasher-pack/dasher_hold"): + return # Let dasher_hold keep playing if anim_player and anim_player.has_animation("animation-pack/walk_forward"): anim_player.play("animation-pack/walk_forward", -1, ANIMATION_SPEED) @@ -704,6 +673,8 @@ func play_special_animation() -> void: func play_idle_animation() -> void: """Play idle animation at normal speed.""" + if is_carrying_tekton and anim_player and anim_player.has_animation("dasher-pack/dasher_hold"): + return # Let dasher_hold keep playing if anim_player and anim_player.has_animation("animation-pack/idle"): anim_player.play("animation-pack/idle") @@ -1002,6 +973,10 @@ func apply_stagger(duration: float = 1.5): # Play knock VFX sequence on the receiver _play_knock_vfx() + if anim_player and anim_player.has_animation("dasher-pack/dasher_getting_hit"): + anim_player.play("dasher-pack/dasher_getting_hit") + if anim_player.has_animation("dasher-pack/dasher_stun"): + anim_player.queue("dasher-pack/dasher_stun") # Set immunity (3 seconds as requested) immunity_timer = 3.0 @@ -1019,6 +994,7 @@ func apply_stagger(duration: float = 1.5): is_frozen = false _refresh_player_visuals() + play_idle_animation() func _play_knock_vfx() -> void: """Plays the three knock receiver VFX concurrently. @@ -2439,7 +2415,10 @@ func sync_snatch_tekton(carrier_path: NodePath, tekton_path: NodePath): is_charged_strike = false SfxManager.play("pick_up_tekton_roaming") - play_pickup_animation() + if anim_player and anim_player.has_animation("dasher-pack/dasher_take"): + anim_player.play("dasher-pack/dasher_take") + if anim_player.has_animation("dasher-pack/dasher_hold"): + anim_player.queue("dasher-pack/dasher_hold") # Visual feedback for the victim if carrier.has_method("sync_bump"): @@ -2452,6 +2431,11 @@ func sync_snatch_tekton(carrier_path: NodePath, tekton_path: NodePath): func sync_grab_tekton(tekton_path: NodePath): var tekton = get_node_or_null(tekton_path) if tekton: + if anim_player and anim_player.has_animation("dasher-pack/dasher_take"): + anim_player.play("dasher-pack/dasher_take") + if anim_player.has_animation("dasher-pack/dasher_hold"): + anim_player.queue("dasher-pack/dasher_hold") + carried_tekton = tekton self.is_carrying_tekton = true tekton.set_carried(true, self ) @@ -2461,7 +2445,6 @@ func sync_grab_tekton(tekton_path: NodePath): is_charged_strike = false SfxManager.play("pick_up_tekton_roaming") - play_pickup_animation() print("[Player %s] Grabbed Tekton %s" % [name, tekton.name]) func throw_tekton(): @@ -2499,6 +2482,8 @@ func throw_tekton(): @rpc("any_peer", "call_local", "reliable") func sync_throw_tekton(target_pos: Vector2i): + if anim_player and anim_player.has_animation("dasher-pack/dasher_put"): + anim_player.play("dasher-pack/dasher_put") if carried_tekton: var tekton = carried_tekton carried_tekton = null @@ -2582,6 +2567,8 @@ func drop_tekton(): @rpc("any_peer", "call_local", "reliable") func sync_drop_tekton(): + if anim_player and anim_player.has_animation("dasher-pack/dasher_put"): + anim_player.play("dasher-pack/dasher_put") if carried_tekton: var tekton = carried_tekton carried_tekton = null @@ -2619,6 +2606,8 @@ func update_active_player_indicator(): @rpc("any_peer", "call_local", "unreliable") func sync_bump(target_pos: Vector2i, is_soft: bool = false): """Visual attack 'bump' or collision animation.""" + if not is_soft and anim_player and anim_player.has_animation("dasher-pack/dasher_hit"): + anim_player.play("dasher-pack/dasher_hit") # Always return to LOGICAL position to prevent character drift! var original_pos = grid_to_world(current_position) var target_world = grid_to_world(target_pos) @@ -2650,7 +2639,7 @@ func knock_tekton(): # Consume Boost if we haven't already (or just consume it now if we are in mode) if powerup_manager: powerup_manager.consume_boost(100.0) - + if is_multiplayer_authority(): rpc("sync_knock_tekton", tekton.get_path()) @@ -2665,6 +2654,8 @@ func knock_tekton(): @rpc("any_peer", "call_local", "reliable") func sync_knock_tekton(tekton_path: NodePath): + if anim_player and anim_player.has_animation("dasher-pack/dasher_hit"): + anim_player.play("dasher-pack/dasher_hit") var tekton = get_node_or_null(tekton_path) if tekton: # Intensity 2.0 for knock (drops 200% tiles) + Shrink/Recover diff --git a/scenes/player.tscn b/scenes/player.tscn index 1203192..e5e4e5e 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -6,6 +6,7 @@ [ext_resource type="PackedScene" uid="uid://1vk0mjnwkngi" path="res://assets/characters/Masbro.glb" id="2_mjsl8"] [ext_resource type="PackedScene" uid="uid://d4cul3w3wem5w" path="res://assets/characters/Gatot.glb" id="4_3tlf6"] [ext_resource type="PackedScene" uid="uid://bmln7v6v5kvxg" path="res://assets/characters/Oldpop.glb" id="5_alfd1"] +[ext_resource type="AnimationLibrary" uid="uid://nsko4grplr5m" path="res://assets/characters/animations/dasher-pack.res" id="6a_dashp"] [ext_resource type="AnimationLibrary" uid="uid://c3pyopnwibckj" path="res://assets/characters/animations/animation-pack.res" id="6_5oq5w"] [ext_resource type="Script" uid="uid://cwwwixc07jc86" path="res://scripts/bot_controller.gd" id="7_botctrl"] [ext_resource type="FontFile" uid="uid://xnjx058n4tsw" path="res://assets/fonts/Nougat-ExtraBlack.ttf" id="8_y4r1p"] @@ -50,8 +51,9 @@ visible = false transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.485, 0) [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1085499957] -root_node = NodePath("../Masbro") +root_node = NodePath("../Oldpop") libraries/animation-pack = ExtResource("6_5oq5w") +libraries/dasher-pack = ExtResource("6a_dashp") [node name="CharacterPointer" type="MeshInstance3D" parent="." unique_id=1262762501] transform = Transform3D(0.3535534, 0, 0.35355335, 0, 0.5, 0, -0.35355335, 0, 0.3535534, 0, -0.468462, 0) @@ -85,7 +87,6 @@ billboard = 1 no_depth_test = true render_priority = 2 outline_render_priority = 1 -modulate = Color(0.32, 0.614667, 1, 1) text = "1st" font = ExtResource("8_y4r1p") font_size = 62 diff --git a/scenes/static_tekton.tscn b/scenes/static_tekton.tscn new file mode 100644 index 0000000..4b91ab8 --- /dev/null +++ b/scenes/static_tekton.tscn @@ -0,0 +1,61 @@ +[gd_scene format=3 uid="uid://d4mjd3tkf21xe"] + +[ext_resource type="Script" uid="uid://dyovwailce5tf" path="res://scripts/tekton.gd" id="1_tekton"] +[ext_resource type="Script" uid="uid://c67yq846u8y68" path="res://scripts/tekton_controller.gd" id="2_controller"] +[ext_resource type="PackedScene" uid="uid://statictektonmesh001" path="res://scenes/static_tekton_mesh.tscn" id="3_d2kpk"] +[ext_resource type="Texture2D" uid="uid://biun2yvglxgij" path="res://assets/graphics/touch_control/grab_tekton.png" id="4_grab_icon"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_tekton"] +size = Vector3(0.8, 1, 0.8) + +[node name="Tekton" type="Node3D" unique_id=119914767 groups=["Tektons"]] +script = ExtResource("1_tekton") + +[node name="TektonController" type="Node" parent="." unique_id=1658331083] +script = ExtResource("2_controller") + +[node name="Visuals" type="Node3D" parent="." unique_id=1698719440] + +[node name="tekton" parent="Visuals" unique_id=2052742928 instance=ExtResource("3_d2kpk")] + +[node name="HitArea" type="Area3D" parent="." unique_id=2139590311] +collision_layer = 4 +collision_mask = 2 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="HitArea" unique_id=818146069] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) +shape = SubResource("BoxShape3D_tekton") + +[node name="InteractionPrompt" type="Node3D" parent="." unique_id=855764577] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4, 0) + +[node name="PromptIcon" type="Sprite3D" parent="InteractionPrompt" unique_id=11135903] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3731489, 0) +pixel_size = 0.002 +billboard = 1 +no_depth_test = true +render_priority = 1 +texture = ExtResource("4_grab_icon") + +[node name="KeyLabel" type="Label3D" parent="InteractionPrompt" unique_id=1816493043] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.30466843, 0) +pixel_size = 0.01 +billboard = 1 +no_depth_test = true +render_priority = 2 +outline_render_priority = 1 +modulate = Color(0.1, 1, 0.2, 1) +text = "[ G ]" +font_size = 48 +outline_size = 18 + +[node name="ActionLabel" type="Label3D" parent="InteractionPrompt" unique_id=848495007] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.79176676, 0) +pixel_size = 0.01 +billboard = 1 +no_depth_test = true +render_priority = 2 +outline_render_priority = 1 +text = "LIFT TEKTON" +font_size = 38 +outline_size = 10 diff --git a/scenes/static_tekton_mesh.tscn b/scenes/static_tekton_mesh.tscn new file mode 100644 index 0000000..1a98444 --- /dev/null +++ b/scenes/static_tekton_mesh.tscn @@ -0,0 +1,272 @@ +[gd_scene format=4 uid="uid://df7h7y7y7y7y7"] + +[ext_resource type="Texture2D" uid="uid://d3pkw7elxf3uj" path="res://assets/characters/tektons/ted_mesh_Ted_tex.png" id="1_barsp"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bqd0q"] +resource_name = "Ted_tex" +cull_mode = 2 +albedo_texture = ExtResource("1_barsp") +roughness = 0.5 + +[sub_resource type="ArrayMesh" id="ArrayMesh_affu0"] +resource_name = "ted_mesh_Circle_025" +_surfaces = [{ +"aabb": AABB(1.2622788, 1.0931545, -0.28013828, 1.4706059, 0.6381501, 0.6278372), +"attribute_data": PackedByteArray("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"), +"bone_aabbs": [AABB(0, 0, 0, -1, -1, -1), AABB(0, 0, 0, -1, -1, -1), AABB(0, 0, 0, -1, -1, -1), AABB(1.2622788, 1.0931545, -0.28013828, 0.40269637, 0.6358049, 0.6278372), AABB(1.2622788, 1.0931545, -0.28013828, 1.3815842, 0.6381501, 0.6278372), AABB(1.4144204, 1.09791, -0.27264196, 1.3184643, 0.6333946, 0.61284447)], +"format": 34359745559, +"index_count": 1392, +"index_data": PackedByteArray("jAAZAFAAjACNABkAjQAnABkAjQCOACcAjwCMAFAAjwBQACsAkACNAIwAkQCOAI0AkACRAI0AkQCSAI4AkwCQAIwAkwCMAI8ATwCRAJAAJgCSAJEATwAmAJEAJgAsAJIALgBPAJAALgCQAJMALwAmAE8AlAAsACYALwCUACYAlACVACwAlgAvAE8AlgBPAC4AUgCUAC8AlwCVAJQAUgCXAJQAlwCYAJUAmQBSAC8AmQAvAJYAmgCXAFIAUQCYAJcAmgBRAJcAUQAtAJgAMACaAFIAMABSAJkAmwBRAJoAFQAtAFEAmwAVAFEAFQCcAC0AnQCbAJoAnQCaADAAngAVAJsAnwCcABUAngCfABUAnwCgAJwAoQCeAJsAoQCbAJ0AogCfAJ4AIgCgAJ8AogAiAJ8AIgAFAKAAMQCiAJ4AMQCeAKEAowAiAKIAUwAFACIAowBTACIAUwCkAAUAVACjAKIAVACiADEAVgBTAKMApQCkAFMAVgClAFMApQCmAKQApwBWAKMApwCjAFQAFgClAFYAqACmAKUAFgCoAKUAqACpAKYAqgAWAFYAqgBWAKcAqwCoABYAVQCpAKgAqwBVAKgAVQAyAKkANgCrABYANgAWAKoArABVAKsArQAyAFUArACtAFUArQCuADIArwCsAKsArwCrADYANACtAKwAWACuAK0ANABYAK0AWABZAK4AFwBZAFgAFwAhAFkAWgAXAFgAWgBYADQANQBaADQAsAA0AKwANQA0ALAAsACsAK8AWwA1ALAAWwCwADcANwCwAK8ACwBbADcANwCvAF0ACwA3AFwAXAA3AF0AXQCvADYAOwALAFwAXQA2AF4AXgA2AKoAXABdAF8AXwBdAF4AOwBcAGAAYABcAF8AsQA7AGAAXgCqADgAOACqAKcAXwBeACAAIABeADgAYABfAGEAYQBfACAAsQBgAB8AHwBgAGEAsgCxAB8AOACnABQAFACnAFQAIAA4AGYAZgA4ABQAsgAfALMAZAAgAGYAYQAgAGQAHgCyALMAHwBhAGMAYwBhAGQAswAfAGMAHgCzAGIAtAAeAGIAswBjALUAYgCzALUAYwBkADwAtQBjADwAPABkAGcAZABmAGcAtABiALYADQC0ALYADQC2AAwAtgBiAB0AYgC1AB0ADAC2ALcAtgAdALcADAC3AAgAHQC1ALgAtQA8ALgAtwAdAGUAHQC4AGUACAC3ALkAtwBlALkACAC5AAcAuAA8AGgAPABnAGgAZQC4ALoAuABoALoAuQBlABsAZQC6ABsABwC5ALsAuQAbALsABwC7AAYABgC7ALwABgC8AAMAuwAbAG0AuwBtALwAGwC6AL0AGwC9AG0AugBqAL0AugBoAGoAAwC8AL4AAwC+AAQAvABtAG4AvABuAL4AbQC9AL8AbQC/AG4AvQA9AL8AvQBqAD0ABAC+AHAABABwAAEAvgBuABoAvgAaAHAAbgC/AMAAbgDAABoAvwA+AMAAvwA9AD4AAQBwAHMAAQBzAAAAcAAaAD8AcAA/AHMAGgDAAMEAGgDBAD8AwAByAMEAwAA+AHIAAABzAMIAAADCAAIAcwA/AEAAcwBAAMIAPwDBAMMAPwDDAEAAwQB0AMMAwQByAHQAAgDCAMQAAgDEAAoAwgBAAHYAwgB2AMQAQADDAMUAQADFAHYAwwB1AMUAwwB0AHUACgDEAMYACgDGAAkAxAB2ACUAxAAlAMYAdgDFAMcAdgDHACUAxQBCAMcAxQB1AEIACQDGAMgACQDIAA8AxgAlAHgAxgB4AMgAJQDHAMkAJQDJAHgAxwBEAMkAxwBCAEQADwDIAMoADwDKABAAyAB4AHoAyAB6AMoAeADJAMsAeADLAHoAyQBGAMsAyQBEAEYAEADKAMwAEADMABEAygB6AEUAygBFAMwAegDLAM0AegDNAEUAywApAM0AywBGACkAEQDMAM4AEQDOABIAEgDOAM8AEgDPABMAzgAqAM8AzAB9AM4AzgB9ACoAzABFAH0AfQDQACoARQDRAH0AfQDRANAARQDNANEA0QDSANAAzQB+ANEA0QB+ANIAzQApAH4AfgBIANIAfgB/AEgAKQB/AH4AfwAOAEgAKQB8AH8AfwCAAA4AfACAAH8AgACBAA4ARgB8ACkAgACCAIEAggArAIEAggCPACsAKACCAIAAfAAoAIAARwCPAIIAKABHAIIARwCTAI8ARgB7AHwAewAoAHwARAB7AEYAgwBHACgAewCDACgAhACTAEcAgwCEAEcAhAAuAJMARAB5AHsAeQCDAHsAQgB5AEQAQwCEAIMAeQBDAIMAGAAuAIQAQwAYAIQAGACWAC4AQgB3AHkAdwBDAHkAdQB3AEIAhQAYAEMAdwCFAEMAMwCWABgAhQAzABgAMwCZAJYAdQBBAHcAQQCFAHcAdABBAHUAJAAzAIUAQQAkAIUAhgCZADMAJACGADMAhgAwAJkAdADTAEEA0wAkAEEAcgDTAHQAhwCGACQA0wCHACQAiAAwAIYAhwCIAIYAiACdADAAcgAjANMAIwCHANMAPgAjAHIAcQCIAIcAIwBxAIcA1ACdAIgAcQDUAIgA1AChAJ0APgBvACMAbwBxACMAPQBvAD4AbADUAHEAbwBsAHEAVwChANQAbABXANQAVwAxAKEAPQBrAG8AawBsAG8AagBrAD0AOgBXAGwAawA6AGwAaQAxAFcAOgBpAFcAaQBUADEAFABUAGkAagAcAGsAHAA6AGsAaAAcAGoAaABnABwAHAA5ADoAOQBpADoAZwA5ABwAOQAUAGkAZwBmADkAZgAUADkA1QDWANcA1wDWAEoA1wBKAEsA1QDYANYA2QDYANUASwBKANoASwDaANsA2QDcANgASQDcANkA2ADdANYASQDeANwA3wDeAEkA3ADgANgA2ADgAN0A3gDhANwA3ADhAOAA3wDiAN4AiwDiAN8A3gDjAOEA4gDjAN4AiwDkAOIATQDkAIsA4gDlAOMA5ADlAOIATQDmAOQA5wDmAE0A5ADoAOUA5gDoAOQA5wDpAOYA6gDpAOcA5gDrAOgA6QDrAOYA6gDsAOkATgDsAOoA6QDtAOsA7ADtAOkATgDuAOwA7wDuAE4A7ADwAO0A7gDwAOwA7wDxAO4A8gDxAO8A7gDzAPAA8QDzAO4A8gD0APEATAD0APIA8QCJAPMA9ACJAPEATAD1APQA9gD1AEwA9AD3AIkA9QD3APQA9gD4APUA2wD4APYA2wDaAPgA+AD5APUA9QD5APcA2gD6APgA+AD6APkA2gD7APoASgD7ANoA+gD8APkASgCKAPsA1gCKAEoA1gDdAIoA+wD9APoA+gD9APwAigD+APsA+wD+AP0A3QD/AIoAigD/AP4A3QAAAf8A4AAAAd0A/wABAf4A/gABAf0AAAEBAf8A/QABAfwA4AACAQABAgEBAQAB4QACAeAA4QADAQIBAwEBAQIB4wADAeEA4wAEAQMBBAEBAQMB5QAEAeMA5QAFAQQBBQEBAQQB6AAFAeUA6AAGAQUBBgEBAQUB6wAGAegA6wAHAQYBBwEBAQYB7QAHAesA7QAIAQcBCAEBAQcB8AAIAe0A8AAJAQgBCQEBAQgB8wAJAfAA8wAKAQkBCgEBAQkBiQAKAfMAiQALAQoBCwEBAQoB9wALAYkADAEBAQsB9wAMAQsB/AABAQwB+QAMAfcA+QD8AAwB"), +"lods": [0.045890294, PackedByteArray("TwAZAFAALgBPAFAALgBQACsATwAmABkAJgAnABkAJgAsACcAJgAtACwALwAmAE8ALwBPAC4AUQAtACYAUgAmAC8AUgBRACYAMABRAFIAFQAtAFEAMAAVAFEAIgAtABUAIgAFAC0AMQAiABUAMQAVADAAUwAFACIAVAAiADEAVABTACIAVQAFAFMAVQAyAAUAVgBTAFQAVwAxADAAFgBTAFYAFgBVAFMAWAAyAFUAWABZADIAFwBZAFgAFwAhAFkAWgAXAFgAWgBYADQANABYAFUANQBaADQANABVADYANQA0ADYANgBVABYANwA1ADYAWwA1ADcACwBbADcACwA3AFwAOwALAFwANwA2AF0AXAA3AF0AXgA2ABYAXQA2AF4AXABdAF8AXwBdAF4AOwBcAGAAYABcAF8AOwBgAB8AHgA7AB8AYABfAGEAHwBgAGEAXwBeACAAYQBfACAAXgAWADgAIABeADgAOAAWAFYAHgAfAGIADQAeAGIADQBiAAwAYgAfAGMAHwBhAGMADABiAB0AYgBjAB0ADAAdAAgAYwBhAGQAYQAgAGQAHQBjADwAYwBkADwACAAdAGUAHQA8AGUACABlAAcAZAAgAGYAIAA4AGYAPABkAGcAZABmAGcAZQA8AGgAPABnAGgABwBlABsAZQBoABsABwAbAAYAZgA4ABQAOABWABQAFABWAFQAZgAUADkAZwBmADkAFABUAGkAOQAUAGkAaQBUADEAaQAxAFcAOQBpADoAOgBpAFcAZwA5ABwAHAA5ADoAaABnABwAaAAcAGoAGwBoAGoAHAA6AGsAagAcAGsAOgBXAGwAawA6AGwAGwBqAG0ABgAbAG0ABgBtAAMAbQBqAD0AagBrAD0AAwBtAG4AbQA9AG4AAwBuAAQAPQBrAG8AawBsAG8AbgA9AD4APQBvAD4ABABuAHAABABwAAEAbgA+ABoAbgAaAHAAbwBsAHEAbABXAHEAPgBvACMAbwBxACMAGgA+AHIAPgAjAHIAcAAaAD8AGgByAD8AAQBwAHMAcAA/AHMAAQBzAAAAAABzAEAAcwA/AEAAAABAAAIAPwByAHQAPwB0AEAAcgBBAHQAcgAjAEEAQAB0AHUAdABBAHUAAgBAAHYAQAB1AHYAAgB2AAoACgB2ACUACgAlAAkAdgB1AEIAdgBCACUAdQB3AEIAdQBBAHcACQAlAHgACQB4AA8AJQBCAEQAJQBEAHgAQgB3AHkAQgB5AEQADwB4AHoADwB6ABAAeABEAEYAeABGAHoARAB5AHsARAB7AEYAEAB6AEUAEABFABEAegBGACkAegApAEUARgB7AHwARgB8ACkAEQBFAH0AEQB9ABIAEgB9ABMAfQAqABMAfQBIACoARQB+AH0AfQB+AEgARQApAH4AfgB/AEgAKQB/AH4AKQB8AH8AfwAOAEgAfwCAAA4AfACAAH8AgACBAA4AfAAoAIAAewAoAHwAgACCAIEAKACCAIAAggArAIEARwArAIIAKABHAIIARwAuACsAewCDACgAgwBHACgAeQCDAHsAhAAuAEcAgwCEAEcAeQBDAIMAQwCEAIMAdwBDAHkAGAAuAIQAQwAYAIQAGAAvAC4AdwCFAEMAhQAYAEMAQQCFAHcAMwAvABgAhQAzABgAMwBSAC8AQQAkAIUAJAAzAIUAhgBSADMAJACGADMAhgAwAFIAQQCHACQAhwCGACQAIwCHAEEAIwBxAIcAhwCIAIYAiAAwAIYAcQCIAIcAVwAwAIgAcQBXAIgASQBKAEsASwBKAEwATABKAE4ASgCJAE4ATgCJAE0ASQCKAEoAigCJAEoAiQCKAE0AiwCKAEkATQCKAIsA"), 0.073155515, PackedByteArray("JgAZACsAJgAnABkAJgAsACcAJgAtACwALgAmACsAFQAtACYALwAmAC4ALwAVACYAIgAtABUAIgAFAC0AMAAVAC8AMQAiABUAMQAVADAAFgAFACIAFgAiADEAFgAyAAUAMwAwAC8AFwAhADIAFwAyABYAMwAvABgAGAAvAC4AJAAwADMAJAAzABgANAAXABYANQAXADQANAAWADYANQA0ADYANwA1ADYACwA1ADcAOAA2ABYANwA2ADgAOAAWABQAFAAWADEAIAA3ADgACwA3ACAAOQA4ABQAIAA4ADkAOgAUADEAOQAUADoAHwALACAAOwALAB8AHgA7AB8AHwAgADwAPAAgADkAHgAfAB0AHQAfADwADQAeAAwADAAeAB0ADAAdAAgACAAdAAcAPAA5ABwAHQA8ABwAHAA5ADoABwAdABsAHQAcABsABwAbAAYABgAbAAMAGwAcAD0AHAA6AD0AAwAbABoAGwA9ABoAAwAaAAQAPQA6AD4AGgA9AD4ABAAaAAEAPgA6ACMAGgA+ACMAOgAxACMAIwAxADAAAQAaAD8AGgAjAD8AAQA/AAAAIwAwACQAAAA/AEAAPwAjAEAAAABAAAIAIwAkAEEAQAAjAEEAAgBAAAoAQQAkAEIAQABBAEIAQgAkAEMACgBAACUAQABCACUACgAlAAkACQAlAA8AJAAYAEMAJQBCAEQAQgBDAEQADwAlAEUADwBFABAAJQBEAEYARABDAEYAJQBGAEUAEABFABEAQwAYAEcAGAAuAEcARwAuACsAQwBHACgAKABHACsARgBDACgAKAArAA4ASAAoAA4ARgAoACkAKQAoAEgARQBGACkAKgApAEgARQApACoAEQBFACoAEQAqABIAEgAqABMASQBKAEsASwBKAEwATQBKAEkATABKAE4ATgBKAE0A"), 0.1498249, PackedByteArray("AAAaAAIAAQAaAAAABAAaAAEAAwAaAAQAAwAbABoABgAbAAMABwAbAAYAGwAcABoABwAdABsAHQAcABsACAAdAAcADAAdAAgAHAAUABoAHQAUABwADAAeAB0ADQAeAAwAHgAfAB0AHgALAB8AHwAgAB0AHwALACAAHQAgABQACwAWACAAIAAWABQACwAXABYAFwAhABYAFgAhAAUAFAAWACIAFgAFACIAFAAiACMAGgAUACMAGgAjAAIAIwAiABUAIgAFABUAAgAjACQAIwAVACQAAgAkACUACgACACUACgAlAAkACQAlAA8AFQAFACYAJgAFACcAJgAnABkAJAAVABgAGAAVACYAJQAkABgAKAAmABkAGAAmACgAKAAZAA4AJQAYACkAKQAYACgADwAlACkAKQAoAA4ADwApABAAKgApAA4AEAApABEAEQApACoAEQAqABIAEgAqABMA"), 0.40520647, PackedByteArray("AAABAAIAAwABAAQAAwAUAAEAAQAUAAIABgAUAAMABwAUAAYABwAIABQACgACAAkAFAAVAAIAAgAVAAkACAAWABQAFAAWABUACwAWAAgADAALAAgADQALAAwACwAXABYAFgAXAAUAFgAFABUAFQAFABgACQAVABgAGAAFABkADwAJABgADwAYABAAGAAZAA4AEAAYABEAEQAYAA4AEQAOABIAEgAOABMA"), 0.9885834, PackedByteArray("AAABAAIAAwABAAQAAwAFAAEAAQAFAAIABgAFAAMABwAFAAYABwAIAAUAAgAFAAkACgACAAkACwAFAAgADAALAAgADQALAAwACQAFAA4ADwAJAA4ADwAOABAAEAAOABEAEQAOABIAEgAOABMA")], +"material": SubResource("StandardMaterial3D_bqd0q"), +"name": "Ted_tex", +"primitive": 3, +"skin_data": PackedByteArray("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BQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAAFAAAAAAAAAP//AAAAAAAABQAAAAAAAAD//wAAAAAAAAUAAAAAAAAA//8AAAAAAAA="), +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 269, +"vertex_data": PackedByteArray("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") +}] +blend_shape_mode = 0 + +[sub_resource type="Skin" id="Skin_ewtsp"] +resource_name = "Skin" +bind_count = 9 +bind/0/name = &"lower_body" +bind/0/bone = -1 +bind/0/pose = Transform3D(1.0902416, -3.7603198e-07, 0.03812415, 0.012671592, 1.0288897, -0.3623611, -0.035956662, 0.3625827, 1.0282611, 0.04333322, 0.07185825, -0.20390995) +bind/1/name = &"chest" +bind/1/bone = -1 +bind/1/pose = Transform3D(1.0902416, -2.8988316e-07, 0.038124397, 0.002598407, 1.0883718, -0.07429823, -0.03803574, 0.07434385, 1.0877069, 0.043333173, -1.023439, 0.07230808) +bind/2/name = &"head" +bind/2/bone = -1 +bind/2/pose = Transform3D(1.0902416, -2.2005727e-07, 0.03812414, -0.01034356, 1.0499877, 0.2958023, -0.036694158, -0.2959829, 1.0493462, 0.04333297, -2.1602616, 0.8481545) +bind/3/name = &"shoulder_L" +bind/3/bone = -1 +bind/3/pose = Transform3D(0.49951065, -0.90923536, 0.33743185, 0.9692421, 0.48122507, -0.13810115, -0.033746436, 0.3630337, 1.0281768, 0.78763115, -1.093374, -0.43560624) +bind/4/name = &"arm_L" +bind/4/bone = -1 +bind/4/pose = Transform3D(-0.151515, -0.9447666, 0.5239648, 1.0802878, -0.13744554, 0.06455765, 0.01010599, 0.52783036, 0.9546587, 1.6968693, -1.1755157, -0.75263786) +bind/5/name = &"hand_L" +bind/5/bone = -1 +bind/5/pose = Transform3D(-0.47766215, -0.84577286, 0.49657536, 0.9632152, -0.5085879, 0.06029562, 0.18475975, 0.46485117, 0.9694625, 2.298681, -1.4708458, -1.060761) +bind/6/name = &"shoulder_R" +bind/6/bone = -1 +bind/6/pose = Transform3D(0.5068774, 0.9055686, 0.33630496, -0.9658744, 0.48122558, 0.15996496, -0.015564425, -0.37208524, 1.0253732, -0.7712078, -1.1029298, 0.46038276) +bind/7/name = &"arm_R" +bind/7/bone = -1 +bind/7/pose = Transform3D(-0.13972743, 0.9462678, 0.5245321, -1.0814705, -0.13744491, -0.040133767, 0.031273883, -0.5251346, 0.95568573, -1.6920105, -1.1898795, 0.76416624) +bind/8/name = &"hand_R" +bind/8/bone = -1 +bind/8/pose = Transform3D(-0.46847263, 0.85062623, 0.49703982, -0.9643315, -0.50858754, -0.03851829, 0.20168853, -0.45590994, 0.9703335, -2.3073595, -1.4836996, 1.0552424) + +[sub_resource type="ArrayMesh" id="ArrayMesh_lxhkc"] +resource_name = "ted_mesh_Sphere_002" +_surfaces = [{ +"aabb": AABB(-1.8916123, -0.016640062, -1.6425025, 3.778391, 3.1846683, 3.2418594), +"attribute_data": PackedByteArray("6LByPbAQWT9gmiE9qtzmPnS41z1ong0/n1GcPswN5j6c0eQ9bLdPPkhFMD0A9Dc90LH0PSIhMT/1WcA+qQFAP34NBT7V+ls/qM7RPdbOsD71WcA+5DgHPtAn7D0gyPU8JNEyPuiaFz9xfaM+saMbP2V+ij5IFDU/iPZGPdwbJz/82QY+YPrlPl9rpD5M/ZA+ILs6PRRqST6mVIk+xIg6PhQ/AT8g7JQ+tX/QPl44tT7emOA+/CZIPu+Trj4eaIQ+O58KP0oTLj/vk64+B6sYP4BQAT+yRQc/3XjJPg7HMz8MuD0+cmouP8pcdT628wg/stxUPgQ9SD+Yr4E9uTtMPwDP7z1yCiY/AO0nPfgSDT/w7NA9hY4AP+BlGz0EwZg+HsNxPsag5T5Q+Cw+9oSzPgC8dz74AqI+FAgzPso+gz6ssO49yIzEPc50CT8OjyI/Ah4OPyElGT/ZU8M+XEAHP9hb3T7GyDc/Hw/bPmpGgD40xDc+xDojP9T5fz5upx4/iAVjPXBRMz8MZvs9wHg9P3RxAz4wnUs/J7ahPpLFTD+FGZ4+ZUgHP15Scj7yFc8+xDKfPoLpuz6U2Qc+QkAAP1a4Cj6TKA0/0PrhPTwkGj8Ius097lPmPtb3Kz4QfMw+nDnOPeBgyz4+XC8+RiWbPrjI2D1yLZc+RNyzPYwsfD4zkK0+LGZQPmpTOD4ktFg+RCcWPhAfID7u6ZE+bHUIPjsinz6gLak95PRLPsiD2T3oxt4+3W4zP5/7Aj8IujQ/1JL9PnQ1Cz//7u4+9PYjP4nYuT6y7iE/DYvaPgTRBz8V2/A+GuuuPlzB4z666JM+BzPAPhy0VD7a5bQ+qDGjPsSXzT4+v5M+3I95PkbXEz8aVqc+0nMlPwpahD4Csik/QOhyPqLp+z7GTy8+rLELPx52FD4IOSU/RpEYPoQqMD/k7w4+0HsZP9C4wT2+iiY/4C12PVKOPz+cDLM9Tl4aPzDSMz1wAxo/lH+oPVqtDT8w+SE92yoAP4yELT6eFP8+XhwsPhi65T62YIo+KOvPPsjHBj6AVcs+LiZ0PgaGuD6wHBo99kjNPgoyCD68L7E+KtB9PuaGiz5pYYM+RM9pPvL/Cj6W+5c+OA0PPtSyfz7gmqE97hqxPujTFz3gJbM+nJmoPRAllz7oZ+M9fFl9PghAJj1MxHs+pJ8RPsCoUj6Yrec9iMUcPjD+RT3k7RY+qppAPuxPJj6IqEo9+EfFPf5QJD7AOPU82EMdPnCJyj0SMHw+MH7zPflKBj9KrCo/yoEOP+gLJD+abfA+A3UzP+KI8j7G0Dc/kSkJP265GT8OfQk/awgPP9JrBT+WgxE/kqTWPmoqHD9U7O0+GmUXP4C27T4aEgM/RTTOPsoXMD/jO8E+nvIpPx3puT4qZyw/+QqxPsLJIj+IqN4+gvYOP907yj53OQs/C6y4PrZnGT9tUrQ+l/QOP4B51z4aEgM/KnPzPqr+kT4s9uc+ZIGiPu+G0z64OqY+AEIBP+YNhT6wU/A+OP9UPvcZ0T6EDYI+UbO9PlJkhz4c8ZM+16NAP6UktT5Q8Tc/EtIxPo5/Wz8YOHE+4NE3P44pRz6mgzo/CAcoPoCCSj8kzh4+mFg8P+/V/z4fDyY/7f8BPy6tID9UzgE/ptMaP66q/j60YhU/MQr1PsInHz+10/Q+vjYcPxz78j5Y3yE/M9/lPgKqHT9mU/I+9nwZP9Pf9T4iNBE/25XsPhrNBz9InOo+aPIOP81I6D6sQxY/Z0niPuZCFj/929M+djgRPx0cvj7ieRE/VdncPnRjFz8azcs+KloVP4nD2D56dBk/5JvHPpywGj9I+sc+jo8gP/vc1j5BHh8/3/vMPvYBJj/hX9k+gNohP5XK1T5qLyo/78vdPrDzIz+0DeE+jnMsP+1z4z7eFiU/5QrtPgx2LD9jNgA/gnEwP4Tf9z6iLyo/8XjpPs0XJT+Ollc+oDIVPzypXT6dayA/zpNTPuvlCT8kUcY9Lt4xPyBXyj1cNj4/eMahPTaPAD/wvoI9P1AaP6jscz3UdQ0/CKhpPXtpAD/UrY894/MmP7xnmD2wsTI/4BeePVD2Pj+096Q9pCxMP8SsnD1BDVo/oITSPZMCTD90eM09rEVbP9SEZz7sMVg/joxlPobHKz8tRoE+upREP+PQjT5yuVI/udGkPv5oPD/7JLI+x21GP7sBrT488y4/d3ObPhclMj9TN5U+sLUnP5XfkD6iRh0/BQWhPlp/ET/4rY0+/s8SPwCTiz6EOwg/sSGcPoZp+j6/Voo+uET7PinriT6wyeU+C06dPsYl0T5kQ1E+utz8PiAXUD4mlOU+0ZuLPgrluT5dLKI++mOmPrpbUD4uHs4+076NPgreoz50yVE+nrm2PmWtkD44/40+bCGoPoyheD7S7VQ+KIKfPjkLlT6krnA+wBybPgTVRD63V7U+fPwpPmwkWj4CS4g+SeGjPhCtGD4J6LA+6DbbPZzpYT6gbGI+3iNtPjxyMD5jyIk+UNB2PUJbXD6QtyY9IJu4PZCPwz1M9K090AkMPWDwtD2swBo+fOa0PeSYTT7op4k9eDTEPVBNeD1QiCQ9bC6HPRSdGD7seoU9WCdLPohrgD3kfns+aIVuPV66lz7Yt2Q9PvyxPkA4Yj0Acsw+0HKePY6/yz5wuJ49VoLmPtCHZj2IsuY+abzlPvBQjz7Fmtg+LruMPtMY4D5QZJc+FWjvPlJamz7BY/w+5oqjPmVW8z5iyoc+Vzj8Pkw8bD43UNs+Wj6ZPs8r3j66WqY+xXjhPrIxtT40L+8+1KJ8PtGr5T7wT4o+po3nPpQZbj7RmuM+YrKFPtXf3z4CLII+8aLdPvxSZj6hms8+/CZIPsr80j7kBWY+q+LVPq40gD6PLsk+fLVtPrOrtD78jWs+NbvBPtQJfD7Vcc0+LomFPsmarj7SQZQ+c3jLPvogij5l1r0+vpiRPpWKyz7mII8+EfvBPk4Tmz5NxMA+oNWuPjWYyT4SX6I+ZVDRPtZIlz6aItY+Di+ZPg=="), +"bone_aabbs": [AABB(-1.8916123, -0.016640062, -1.6425025, 3.778391, 2.271048, 3.2418594), AABB(-1.8916123, -0.002933561, -1.6425025, 3.778391, 2.8261187, 3.2418594), AABB(-1.8916123, 0.93586147, -1.6425025, 3.778391, 2.2321668, 3.2418594), AABB(0, 0, 0, -1, -1, -1), AABB(0.565634, 2.8101559, -0.67456603, 0.32302618, 0.20164943, 0.92703104), AABB(0, 0, 0, -1, -1, -1), AABB(0, 0, 0, -1, -1, -1), AABB(-0.61454034, 3.0030186, -0.07324176, 0.046695292, 0.00014925003, 0.22416306)], +"format": 34359745559, +"index_count": 1440, +"index_data": PackedByteArray("mAApAHcAdwApAHgAKQAqAHgAdwB4ABgAKQB7ACoAewB8ACoAmQB7ACkAmACZACkAewB9AHwAfQAaAHwAmQCaAHsAmgB9AHsAfQBIABoASACAABoAmgCbAH0AmwBIAH0AnACaAJkAnQCbAJoAnACdAJoAngCcAJkAngCZAJgAnwCdAJwAnwCcAJ4AnQCgAJsAnwCgAJ0AmwChAEgAoAChAJsASACiAIAAoQCiAEgAogCJAIAAoAB/AKEAnwB/AKAAoQCjAKIAfwCjAKEAogBLAIkAowBLAKIASwArAIkAfwCkAKMAnwCkAH8AowCFAEsApACFAKMASwCGACsAhQCGAEsAhgCIACsApAClAIUAnwClAKQAhQCmAIYApQCmAIUAhgCnAIgApgCnAIYApwAZAIgApQCoAKYAnwCoAKUApgCpAKcAqACpAKYApwCHABkAqQCHAKcAhwCEABkAqACqAKkAnwCqAKgAqQCrAIcAqgCrAKkAhwBKAIQAqwBKAIcASgCDAIQAqgB+AKsAnwB+AKoAqwCsAEoAfgCsAKsASgCCAIMArACCAEoAggAbAIMAfgCtAKwAnwCtAH4ArACuAIIArQCuAKwAggCBABsArgCBAIIAgQAsABsArQCvAK4AnwCvAK0ArgCwAIEArwCwAK4AgQBGACwAsABGAIEARgB6ACwArwCxALAAnwCxAK8AsACyAEYAsQCyALAARgB5AHoAsgB5AEYAeQBHAHoAsQCzALIAnwCzALEAsgC0AHkAswC0ALIAeQC1AEcAtAC1AHkAtQAYAEcAtQB3ABgAtgB3ALUAtAC2ALUAtgCYAHcAswC3ALQAtwC2ALQAnwC3ALMASQCYALYAtwBJALYAnwBJALcASQCeAJgAnwCeAEkALgC4ALkAuQC4AFEALgAMALgAHAAuALkADAC6ALgAVgAMAC4AuAC6AB0AuAAdAFEADABVALoAVwAuABwAVwBWAC4AVgBYAAwAWABVAAwABgBWAFcAIABYAFYABgAgAFYAIAA5AFgAWAA4AFUAOQA4AFgAOABfAFUAWQA5ACAAuwAgAAYAuwBZACAAvAC7AAYAWQBbADkAOQACADgAWwACADkAAgA3ADgAOAA3AF8AWwBdAAIAAgAiADcAXQAiAAIANwBgAF8AIgAQADcANwAQAGAAIgA6ABAAXQC9ACIAvQA6ACIAvgBdAFsAvwC9AF0AvgC/AF0AXAC/AL4AXAAhAL8ADwBcAL4AIQDAAL8AvwDAAL0AIQBeAMAAwQC+AFsADwC+AMEAwQBbAFkAMAAPAMEAwgDBAFkAMADBAMIAwgBZALsAWgAwAMIAwwDCALsAWgDCAMMAHwBaAMMAwwC7ALwAHwDDAMQAxADDALwAAAAfAMQAAADEAMUAxQDEAMYAxAC8AMYAxQDGAMcAxgC8ADEAvAAGADEAMQAGAFcAxwDGADIAxgAxADIAxwAyAAgAMQBXAJcAMgAxAJcAlwBXABwACAAyAJYAMgCXAJYACACWAJMAlwAcAJUAlgCXAJUAkwCWAB4AlgCVAB4AkwAeAMgAlQAcAMkAHAC5AMkAHgCVAJQAlQDJAJQAyAAeAMoAHgCUAMoAyADKAMsAyQC5AC8AuQBRAC8AlADJAFMAyQAvAFMAygCUAA4AlABTAA4AywDKAJEAygAOAJEAywCRADMAMwCRAMwAMwDMAM0AzQDMAJIAzQCSAAcAzADOAJIAkQDPAMwAzADPAM4AkQAOAM8AzwBSAM4ADgDQAM8AzwDQAFIADgBTANAA0AANAFIAUwDRANAA0ADRAA0AUwAvANEA0QDSAA0ALwDTANEA0QDTANIALwBRANMA0wA0ANIAUQDUANMA0wDUADQAUQAdANQA1ADVADQA1ADWANUAHQDWANQA1gADANUAHQBUANYA1gDXAAMAVADXANYA1wDYAAMAugBUAB0A1wBhANgAYQA2ANgAVAAkANcAJABhANcAugDZAFQA2QAkAFQAVQDZALoAVQBfANkAXwDaANkA2QDaACQAXwBgANoAJAA1AGEA2gA1ACQAYQDbADYANQDbAGEA2wDcADYA2gDdADUAYADdANoANQBjANsA3QBjADUA2wDeANwAYwDeANsA3gARANwAYAA7AN0AEAA7AGAA3QDfAGMAOwDfAN0AYwAmAN4A3wAmAGMA3gDgABEAJgDgAN4A4ADhABEAEABiADsAOgBiABAAOwAlAN8AYgAlADsA3wDiACYAJQDiAN8AJgBmAOAA4gBmACYA4ADjAOEAZgDjAOAA4wBAAOEA4wDkAEAA5ADlAEAAZgBnAOMAZwDkAOMA4gDmAGYA5gBnAGYAPQDmAOIAJQA9AOIA5ADnAOUA5wAKAOUA5wDoAAoAEwDnAOQAZwATAOQAQwDoAOcAEwBDAOcAQwBEAOgA6QATAGcA5gDpAGcA6gBDABMA6QDqABMAdgBEAEMA6gB2AEMAdgDrAEQAJwDpAOYAPQAnAOYAQQDqAOkAJwBBAOkAcgB2AOoAQQByAOoARQDrAHYAcgBFAHYARQDsAOsAdQDsAEUAdQB0AOwAQgBFAHIAQgB1AEUAbwByAEEAbwBCAHIAaQBvAEEAaQBBACcAKAB0AHUAKAALAHQAcAB1AEIAcAAoAHUABABCAG8ABABwAEIAbQBvAGkAbQAEAG8A7QALACgA7QDuAAsA7wAoAHAA7wDtACgA8ABwAAQA8ADvAHAAPwAEAG0APwDwAAQA8QDuAO0A8QDyAO4AcwDyAPEAcwAFAPIAcQBzAPEA8wDxAO0AcQDxAPMA8wDtAO8AEgBxAPMA9ADzAO8AEgDzAPQA9ADvAPAAbgASAPQA9QD0APAAbgD0APUA9QDwAD8AIwBuAPUAIwD1APYA9gD1AD8AawAjAPYA9gA/AGwAawD2APcA9wD2AGwAbAA/AG0AZABrAPcAbABtAD4APgBtAGkA9wBsAGoAagBsAD4AZAD3APgA+AD3AGoAAQBkAPgAPgBpAGgAaABpACcAaAAnAD0ACQA+AGgAagA+AAkAZQBoAD0ACQBoAGUAZQA9ACUAYgBlACUAPABlAGIAPAAJAGUAOgA8AGIA+QBqAAkA+QAJADwA+ABqAPkA+gA8ADoA+gD5ADwAvQD6ADoAwAD6AL0A+wD5APoAwAD7APoA+wD4APkAXgD7AMAAAQD4APsAXgABAPsA/ABNAP0AigBNAPwATQD+AP0A/wD+AE0AigD/AE0AFAD/AIoAFAAAAf8AjQAUAIoAAAGLAP8A/wCLAP4AAAFMAIsAjQCKAAEBAQGKAPwAAgGNAAEBiwADAf4A/gADAf0ATAAEAYsAiwAEAQMBTAAFAQQBAgEBAQYBjgACAQYBAQH8AAcBBgEBAQcBBwH8AP0AjgAGAQgBBgEHAQkBCAEGAQkBCQEHAf0AFgCOAAgBCAEJAQoBCgEJAf0AFgAIAQsBCwEIAQoBDAEWAAsBCwEKAS0ALQAKAf0ADAELAQ0BDQELAS0ATgAMAQ0BDQEtAA4BDgEtAP0ATgANAQ8BDwENAQ4BEAFOAA8BDwEOAY8AjwAOAf0AEAEPAREBEQEPAY8AFwAQAREBEQGPABIBEgGPAP0AFwARAZAAkAARARIBEwEXAJAAkAASARQBFAESAf0AEwGQABUBFQGQABQBTwATARUBFQEUARYBFgEUAf0ATwAVARcBFwEVARYBGAFPABcBUAAWAf0AFwEWAVAAGAEXARkBGQEXAVAAFQAYARkBGgFQAP0AGQFQABoBFQAZAYwAjAAZARoBBQEVAIwABQGMAAQBjAAaARsBGwEaAf0ABAGMABsBAwEbAf0ABAEbAQMB"), +"lods": [0.15981269, PackedByteArray("LgBRAC8ALwBRAA0AUQA0AA0AUgAvAA0AUQAdADQAUwAvAFIADAAdAFEALgAMAFEAHQBUADQAVAADADQADABVAB0AVQBUAB0AHAAuAC8AHAAvAFMAVgAMAC4AVwAuABwAVwBWAC4AWABVAAwAVgBYAAwABgBWAFcAIABYAFYABgAgAFYAWAA4AFUAIAA5AFgAOQA4AFgAWQA5ACAABgBZACAAMABZAAYAMAAPAFkAWgAwAAYADwBbAFkAWQBbADkADwBcAFsAWgAGADEAMQAGAFcAHwBaADEAXABdAFsAXAAhAF0AWwACADkAWwBdAAIAOQACADgAIQAiAF0AXQAiAAIAIQBeACIAAgA3ADgAAgAiADcAOAA3AF8AOABfAFUAVQBfAFQAXgA6ACIAXgABADoAIgAQADcAIgA6ABAANwBgAF8ANwAQAGAAXwAkAFQAXwBgACQAVAAkAAMAJABhAAMAYQA2AAMAJAA1AGEANQA2AGEAYAA1ACQAEAA7AGAAYAA7ADUAEABiADsAOgBiABAAOwBjADUANQBjADYAOgA8AGIAAQA8ADoAAQBkADwAOwAlAGMAYgAlADsAYwAmADYAJQAmAGMAJgARADYAYgBlACUAPABlAGIAJQA9ACYAZQA9ACUAJgBmABEAPQBmACYAZgBnABEAZwBAABEAPQAnAGYAJwBnAGYAZQBoAD0AaAAnAD0ACQBoAGUAPAAJAGUAaABpACcAPABqAAkAZABqADwAZABrAGoACQA+AGgAagA+AAkAPgBpAGgAawBsAGoAagBsAD4AawAjAGwAPgBtAGkAbABtAD4AIwA/AGwAbAA/AG0AIwBuAD8AbgAEAD8APwAEAG0AbgASAAQAbQBvAGkAbQAEAG8AaQBvAEEAaQBBACcAJwBBAGcAEgBwAAQAEgBxAHAABABCAG8ABABwAEIAbwByAEEAbwBCAHIAQQATAGcAQQByABMAZwATAEAAcQAoAHAAcQBzACgAcwALACgAcwAFAAsAKAALAHQAcAAoAHUAKAB0AHUAcAB1AEIAdQB0AEUAQgB1AEUAQgBFAHIARQB0AEQAcgBFAHYARQBEAHYAcgB2ABMAdgBEAEMAEwB2AEMAQwBEAAoAEwBDAEAAQwAKAEAAdwB4ABgAdwAYAEcAdwApAHgAeQB3AEcAeQApAHcAeQBHAHoAKQAqAHgAKQB7ACoAewB8ACoAewB9AHwAKQB9AHsAfQAaAHwASQApAHkASQB9ACkARgB5AHoARgB6ACwAfgBJAHkAfgB5AEYASQB/AH0AfwBJAH4AfQBIABoAfwBIAH0ASACAABoAgQBGACwAfgBGAIEAgQAsABsAggCBABsAggAbAIMASgCBAIIASgCCAIMAfgCBAEoASgCDAIQAfwB+AIUAfwCFAEgAfgBKAIYAhQB+AIYAhwBKAIQAhgBKAIcAhwCEABkAhwAZAIgAhgCHAIgAhgCIACsASACFAEsAhQCGAEsASwCGACsASABLAIAASwArAIkASwCJAIAAigCLAE0AiwCMAE0AFACLAIoAFABMAIsATACMAIsAjQAUAIoAjgCNAIoAjgCKABYAigBNAC0AFgCKAC0ATQCMAC0ATgAWAC0ATAAVAIwATgAtAI8AjABQAC0AUACPAC0AFQCQAIwAjACQAFAAkACPAFAAkABOAI8AFQBPAJAAFwBOAJAATwAXAJAAMwCRAAcABwCRAJIAkwCRADMAkQAOAJIADgBSAJIADgBTAFIAkQCUAA4AlABTAA4AkwAeAJEAHgCUAJEAlQBTAJQAHgCVAJQAlQAcAFMAkwCWAB4AlgCVAB4ACACWAJMAlwAcAJUAlgCXAJUAlwBXABwAMQBXAJcAMgCXAJYAMgAxAJcACAAyAJYAHwAxADIAAAAyAAgAAAAfADIA"), 0.27565452, PackedByteArray("LgAMAC8AHAAuAC8AIAAMAC4ABgAuABwABgAgAC4AMAAgAAYAMAAPACAAHwAwAAYAHwAGADEAMQAGABwAHwAxADIAMgAxABwAAAAfADIAAAAyAAgACAAyAB4AMgAcAB4ACAAeADMAHgAcAA4AHgAOADMAMwAOAAcAHAAvAA4ADgANAAcADgAvAA0ALwA0AA0ALwAdADQAHQADADQADAAdAC8AHQAkAAMAJAA1AAMANQA2AAMANwAkAB0ADAA4AB0AOAA3AB0AOQA4AAwAIAA5AAwADwA5ACAAOQACADgADwACADkAAgA3ADgADwAhAAIANwAQACQAEAA1ACQAAgAiADcAIQAiAAIAIgAQADcAIQABACIAIgA6ABAAAQA6ACIAEAA7ADUAOgA8ABAAEAA8ADsAAQA8ADoAOwAlADUAPAAlADsAAQAJADwAPAAJACUAAQAjAAkAJQAmADUANQAmADYAJgARADYAJQA9ACYACQA+ACUAJQA+AD0AIwA+AAkAPQAnACYAPgAnAD0AJgATABEAJwATACYAPgA/ACcAIwA/AD4AEwBAABEAIwAEAD8APwAEACcAJwBBABMAJwAEAEEAIwASAAQAQQBCABMABABCAEEAEwBDAEAAQgBDABMAQwAKAEAAQwBEAAoAEgAoAAQABAAoAEIAEgAFACgABQALACgARQBEAEMAQgBFAEMARQALAEQAQgAoAEUAKAALAEUAKQAqABgARgApABgARgAYAEcARgBHACwARgAsABsAKQBIACoAKgBIABoASQApAEYASQBIACkASgBGABsASgBJAEYASgAbABkASQBLAEgASQBKAEsASABLABoASwBKABkASwArABoASwAZACsAFABMAE0AFgAUAE0ATAAVAE0AFgBNAC0ATQAVAC0ATgAWAC0AFwBOAC0AFQBPABcAFwAtAFAAFQBQAC0AFQAXAFAA"), 0.5083941, PackedByteArray("HAAMAA0ADAAdAA0AHAANAA4ADgANAAcAHgAOAAcAHgAcAA4ACAAeAAcACAAcAB4AHQADAA0AAAAfAAgAHwAGAAgACAAGABwAHwAPAAYABgAgABwADwAgAAYAIAAMABwADwACACAAIAACAAwADAACAB0ADwAhAAIAIQAiAAIAIQABACIAAgAQAB0AAgAiABAAAQAJACIAIgAJABAAAQAjAAkAEAAkAB0AHQAkAAMAEAAJACUAEAAlACQAIwAEAAkAIwASAAQAJAAmAAMAJQAmACQAJgARAAMACQAnACUAJQAnACYACQAEACcAJgATABEAJwATACYAJwAEABMAEwAKABEABAAoABMAKAAKABMAEgAoAAQAKAALAAoAEgAFACgABQALACgAKQAqABgAKQAaACoAKQArABoALAApABgAKQAZACsAGQApACwAGQAsABsAFAAVAC0AFQAXAC0AFgAUAC0AFwAWAC0A"), 1.0391154, PackedByteArray("BgAMAA0ADAADAA0ABgANAA4ADgANAAcACAAOAAcACAAGAA4AAAAGAAgAAAAPAAYAEAADAAwADwACAAYABgACAAwAAgAQAAwADwABAAIAEAAJAAMAAgAJABAAAQAJAAIACQARAAMAAQASAAkACQAEABEAEgAEAAkABAATABEAEwAKABEAEgALAAQACwAKABMABAALABMAEgAFAAsAFAAVABYAFQAXABYAGAAZABoAGQAYABsA"), 1.9217728, PackedByteArray("BgACAAcACAAGAAcAAAAGAAgAAAACAAYAAgADAAcAAAABAAIAAQAJAAIAAgAJAAMAAQAFAAkACQAEAAMABQAEAAkABAAKAAMABQALAAQACwAKAAQA"), 3.4232225, PackedByteArray("AAABAAIAAAACAAMAAgABAAMAAQAEAAMABQADAAQABQAEAAEA")], +"material": SubResource("StandardMaterial3D_bqd0q"), +"name": "Ted_tex", +"primitive": 3, +"skin_data": PackedByteArray("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"), +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 284, +"vertex_data": PackedByteArray("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") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_q805l"] +resource_name = "ted_mesh_Sphere_003" +_surfaces = [{ +"aabb": AABB(-1.3124703, 2.522211, -1.3124813, 2.6249428, 0.7838025, 3.1112366), +"attribute_data": PackedByteArray("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"), +"bone_aabbs": [AABB(0, 0, 0, -1, -1, -1), AABB(-1.2125642, 2.522211, -0.059206564, 2.5250368, 0.584435, 1.8579619), AABB(-1.3124703, 2.522211, -1.3124813, 2.6249428, 0.7838025, 3.1112366)], +"format": 34359745559, +"index_count": 1728, +"index_data": PackedByteArray("QgBxAHIAcQDBAHIAcwBCAHIAQgB0AHEAcwByAHUAdgBCAHMAcgDBAMIAcgDCAHUAcQDDAMEAdwB0AEIAdgB3AEIAdACWAHEAlgDDAHEAdwDEAHQAdACXAJYAxACXAHQAlwBDAJYAlgDFAMMAQwDFAJYAxQDGAMMAlwCZAEMAxADHAJcAxwCZAJcAyADHAMQAmQCaAEMAQwDJAMUAmgDJAEMAyQCUAMUAxQCUAMYAmgDKAMkAyQDLAJQAygDLAMkAlADMAMYAywDNAJQAlADNAMwAywDOAM0AygCVAMsAlQDOAMsAnQDKAJoAzwCVAMoAnQDPAMoAnACdAJoAmQCcAJoAoADPAJ0A0ACcAJkAxwDQAJkAnACfAJ0AnwCgAJ0A0ADRAJwA0QCfAJwAmADQAMcAmwDRANAAmACbANAAyACYAMcARACbAJgALgBEAJgALgCYAMgARABFAJsAeQAuAMgARQCeAJsAmwCeANEARQAyAJ4AeQDIANIA0gDIAMQAeAB5ANIA0gDEAHcAeADSANMA0wDSAHcANAB4ANMA0wB3AHYANADTANQA1ADTAHYAewA0ANQA1AB2AHoAewDUANUA1QDUAHoAegB2AHMARwB7ANUAegBzAEYARgBzAHUA1QB6AHwAfAB6AEYARwDVANYA1gDVAHwAfgBHANYAfgDWANcALQB+ANcA1gB8AH0A1wDWAH0AfABGAH8AfQB8AH8AfwBGAIAARgB1AIAALQDXANgAhQAtANgA1wB9AIMA2ADXAIMAfQB/AIIAgwB9AIIAggB/AIEAfwCAAIEAhQDYANkASgCFANkA2ACDAIQA2QDYAIQAgwCCAEgAhACDAEgASACCAIYAggCBAIYASgDZANoALwBKANoA2QCEAIgA2gDZAIgAhABIAIcAiACEAIcAhwBIAEsASACGAEsALwDaANsAMAAvANsA2gCIANwA2wDaANwAiACHAEkA3ACIAEkASQCHAIsAhwBLAIsAMADbAKMATwAwAKMA2wDcAN0AowDbAN0A3ABJAIoA3QDcAIoAigBJAIwASQCLAIwATwCjAKEAMgBPAKEAMgChAJ4AoQCjAN4AowDdAN4AngChAN8AoQDeAN8AngDfANEA0QDfAJ8A3wCiAJ8A3wDeAKIAnwCiAKAA3gDdAKQA3gCkAKIA3QCKAKQAogBOAKAAogCkAE4ApACKAJEApACRAE4AigCMAJEATgDgAKAAoADgAM8AkQDhAE4ATgDhAOAAjADiAJEAkQDiAOEAjADjAOIAiwDjAIwA4ADkAM8AzwDkAJUA4QAxAOAA4AAxAOQA4gDlAOEA4QDlADEA4wCQAOIA4gCQAOUA5ADmAJUAlQDmAM4AMQDnAOQA5ADnAOYA5QCPADEAMQCPAOcAkADoAOUA5QDoAI8AkADpAOgA5wDqAOYAjwDrAOcA5wDrAOoA6ADsAI8AjwDsAOsA6ADtAOwA6QDtAOgA5gDqAO4A5gDuAM4A6wDvAOoA7ADwAOsA6wDwAO8A7QDxAOwA7ADxAPAA6gDyAO4A6gDvAPIAzgDuAJIAzgCSAM0A7gDyAPMA7gDzAJIA7wD0APIA8gD1APMA8gD0APUA7wD2APQA8AD2AO8A9AD3APUA9gD3APQA8AD4APYA+AD3APYA8QD4APAA8wD1APkA9QD3APkA8wD5APoAkgDzAPoA8QD7APgA+wD3APgA/AD7APEA7QD8APEA/AD9APsA/QD3APsA/gD8AO0A6QD+AO0A/wD9APwA/gD/APwA/wAAAf0AAAH3AP0AAQH/AP4AAgEAAf8AAQECAf8AAgEDAQABAwH3AAABjQACAQEBBAEDAQIBjQAEAQIBBAEFAQMBBQH3AAMBBgEEAY0ABwEFAQQBBgEHAQQBBwEIAQUBCAH3AAUBCQEHAQYBCgEIAQcBCQEKAQcBCgELAQgBCwH3AAgBDAEKAQkBDQELAQoBDAENAQoBDQEOAQsBDgH3AAsBjgANAQwBDwEOAQ0BjgAPAQ0BDwEQAQ4BEAH3AA4BEQEPAY4AEgEQAQ8BEQESAQ8BEgETARABEwH3ABABFAESAREBFQH3ABMB+QD3ABUB+gD5ABUBFgEVARMBFgETARIB+gAVARYBFAEWARIBFwH6ABYBFwEWARQBkgD6ABcBzQCSABcBzQAXAcwAzAAXARQBzAAUAZMAkwAUAREBxgDMAJMAkwARARgBxgCTADMAMwCTABgBwwDGADMAGAERAY4AwwAzAMEAwQAzABkBMwAYARkBwQAZAcIAGAGOABoBGQEYARoBGgGOAAwBwgAZAUwAGQEaAUwAGgEMARsBTAAaARsBGwEMAQkBwgBMABwBdQDCABwBdQAcAYAAHAFMAB0BTAAbAR0BgAAcAR4BHAEdAR4BgAAeAYEAGwEJAR8BHQEbAR8BHwEJAQYBHgEdAYkAHQEfAYkAgQAeASABHgGJACABgQAgAYYAHwEGASEBiQAfASEBIQEGAY0AIAGJACIBiQAhASIBhgAgASMBIAEiASMBhgAjAUsAIQGNACQBIgEhASQBJAGNAAEBIwEiAU0AIgEkAU0ASwAjASUBIwFNACUBSwAlAYsAiwAlAeMAJAEBASYBTQAkASYBJgEBAf4AJgH+AOkAJQEnAeMAJQFNACcBTQAmAScBJwEmAekA4wAnAZAAJwHpAJAAKAG6ALsAKAEpAboAKQERALoAKQEqAREAKwEoAbsAKwG7AD0ALAEpASgBLQEqASkBLAEtASkBLQG5ACoBLgEsASgBLgEoASsBPAAtASwBDwC5AC0BPAAPAC0BDwBjALkAZgA8ACwBZgAsAS4BZQAPADwAZABjAA8AZQBkAA8AZAAQAGMAZAASABAAZAATABIAZQATAGQAZQAUABMAFQBlADwAFQAUAGUAFQA8AGYAFQAWABQAZwAWABUAZwAVAGYAZwAXABYAZwBmAD4APgBmAC4BGAAXAGcAGABnAD4AGAAZABcAPgAuAS8BLwEuASsBGAA+AGkAaQA+AC8BagAZABgAagAYAGkAagAaABkALwErATABMAErAT0AMAE9ALwAMQEvATABaQAvATEBMgEwAbwAMQEwATIBMgG8AGgAPwBpADEBagBpAD8AMwExATIBPwAxATMBNAEyAWgAMwEyATQBNAFoAL0AQAAaAGoAQABqAD8AQAAcABoAawA/ADMBQAA/AGsAbAAcAEAAbABAAGsAbAAeABwANQEzATQBawAzATUBNgE0Ab0ANQE0ATYBNgG9ABsAHQBrADUBbABrAB0ANwE1ATYBHQA1ATcBOAE2ARsANwE2ATgBOAEbAL4AQQAeAGwAQQBsAB0AQQAgAB4AbgAdADcBQQAdAG4AIQAgAEEAIQBBAG4AIQAiACAAIwAiACEAIwAkACIAwAAkACMAwAAlACQAJgAlAMAAJgAnACUAcAAnACYAcAAoACcAKQAoAHAAKQAqACgAKwAqACkAKwAsACoAIQBuAG8AbwBuADkBbgA3ATkBbwA5Ab8AOQE3ATgBvwA5AToBOQE4AToBOgE4Ab4AvwA6ATsBOgG+AG0AOwE6AW0AOwFtAB8APAFQAD0BPQFQAAsAPAE7AFAAPgE7ADwBPgENADsADgA+ATwBDgA8AQwADAA8AT0BDAA9AaUAPQELAD8BpQA9AT8BPwELAFEApQA/AQcAPwFRAEABBwA/AUABQAFRAFMABwBAAVIAQAFTAEEBUgBAAUEBQQFTAAgAUgBBAQkAQQEIAEIBCQBBAUIBCQBCAQoAVABVAKYAVgBUAKYANQBUAFYAVgCmADcANQBbAFQAXABbADUAWwBaAFQAVABaAFUAXABeAFsAXwBeAFwAWwA5AFoAXgA5AFsAXwCnAF4AAACnAF8AXgBgADkApwBgAF4AAACoAKcAQwGoAAAApwA6AGAAqAA6AKcAQwFEAagAqABFAToARAFFAagAqQBEAUMBqgA6AEUBRAGqAEUBqQBGAUQBRgGqAEQBYgBGAakAqgCrADoAqwBgADoARgFHAaoARwGrAKoAYgBIAUYBSAFHAUYBBgBIAWIABgBJAUgBSQGsAEgBSAGsAEcBSQEFAKwARwFKAasArABKAUcBBQCtAKwArACtAEoBBQBhAK0AqwCuAGAASgGuAKsArgA5AGAArQBLAUoBSgFLAa4AYQCvAK0ArQCvAEsBYQBdAK8ArgCwADkASwGwAK4AsABaADkArwBMAUsBSwFMAbAAXQCxAK8ArwCxAEwBXQAEALEAsACyAFoATAGyALAAsgBVAFoAsQBNAUwBTAFNAbIABACzALEAsQCzAE0BBABZALMAsgC0AFUATQG0ALIAtAC2AFUApgBVALYATQFOAbQAswBOAU0BWQC1ALMAswC1AE4BWQA4ALUApgC2ALgANwCmALgANwC4AAIAuAC2AFcAtABXALYATgFXALQAAgC4AE8BuABXAE8BAgBPAVABTgFRAVcATwFXAFEBtQBRAU4BUAFPAVIBTwFRAVIBUAFSAbcAtQA2AFEBUgFRATYAOAA2ALUAOAABADYAUgE2AFMBtwBSAVMBUwE2AAEAtwBTAVgAUwEBAFQBWABTAVQBWABUAQMA"), +"lods": [0.1006785, PackedByteArray("QgBxAHIAcQAzAHIAcwBCAHIAQgB0AHEAcwByAHUAcgAzAHUAdgBCAHMARgBzAHUAdgB3AEIAdwB0AEIAeAB3AHYAeAB5AHcANAB4AHYAeQAuAHcAdwAuAHQANAB2AHoAegB2AHMAegBzAEYAewA0AHoAewB6AHwAfAB6AEYARwB7AHwARwB8AH0AfgBHAH0AfABGAH8AfQB8AH8AfwBGAIAARgB1AIAAdQBMAIAAfwCAAIEAgABMAIEAfQB/AIIAggB/AIEAfgB9AIMAgwB9AIIALQB+AIMAdQAzAEwALQCDAIQAhQAtAIQAgwCCAEgAhACDAEgASACCAIYAggCBAIYAhABIAIcAhQCEAIgAiACEAIcASgCFAIgAgQCJAIYAgQBMAIkASACGAEsAhwBIAEsAhgCJAEsASgCIAIoAiACHAEkAigCIAEkALwBKAIoASQCHAIsAhwBLAIsASwCJAE0ASwBNAIsASQCLAIwAigBJAIwAiwBNAIwAiQCNAE0ATACNAIkATACOAI0AMwCOAEwATQCNAI8AjABNAJAATQCPAJAAjACQAJEAigCMAJEAjgCSAI0AjQCSAI8AMwCTAI4AkwCSAI4AlACTADMAMQCPAJIAkACPADEAlQCSAJMAlQCTAJQAMQCSAJUAcQCUADMATgCQADEAkQCQAE4AlgCUAHEAdACWAHEAQwCUAJYAQwCVAJQAdACXAJYAlwBDAJYALgCXAHQALgCYAJcALgBEAJgAlwCZAEMAmACZAJcAmgCVAEMAmQCaAEMARACbAJgAmACbAJkARABFAJsAmQCcAJoAmwCcAJkAnQCVAJoAnACdAJoAnQAxAJUARQCeAJsAmwCeAJwARQAyAJ4AnACfAJ0AngCfAJwAoAAxAJ0AnwCgAJ0ATgAxAKAAMgChAJ4AngChAJ8AMgBPAKEAnwCiAKAAogBOAKAAoQCiAJ8ATwCjAKEAoQCjAKIATwAwAKMAMAAvAKMAowCkAKIAogCkAE4AowAvAKQApACRAE4ALwCKAKQApACKAJEADABQAKUApQBQAAsADAA7AFAADgA7AAwADgANADsApQALAAcABwALAFEABwBRAFIAUgBRAFMAUgBTAAkACQBTAAgACQAIAAoAVABVAKYAVgBUAKYANQBUAFYAVgCmADcANQBbAFQAXABbADUAWwBaAFQAVABaAFUAXABeAFsAXwBeAFwAWwA5AFoAXgA5AFsAXwCnAF4AAACnAF8AXgBgADkApwBgAF4AAACoAKcAqQCoAAAApwA6AGAAqAA6AKcAqQCqAKgAqACqADoAYgCqAKkAqwBgADoAqgCrADoAYgCsAKoArACrAKoABgCsAGIABgAFAKwABQCtAKwArACtAKsABQBhAK0AqwCuAGAArQCuAKsArgA5AGAAYQCvAK0ArQCvAK4AYQBdAK8ArgCwADkArwCwAK4AsABaADkAXQCxAK8ArwCxALAAXQAEALEAsACyAFoAsQCyALAAsgBVAFoABACzALEAsQCzALIABABZALMAsgC0AFUAswC0ALIAWQC1ALMAswC1ALQAWQA4ALUAtAC2AFUApgBVALYAtQBXALQAtABXALYAOAA2ALUAtQA2AFcAOAABADYAWAA2AAEAWAABAAMAtwA2AFgAtwBXADYAuAC2AFcAuABXALcApgC2ALgAAgC4ALcANwCmALgANwC4AAIADwC5ALoAugC5ABEADwBjALkAPAAPALoAPAC6ALsAZABjAA8AZAAQAGMAZAASABAAZAATABIAZQBkAA8AZQATAGQAZQAPADwAZQAUABMAFQAUAGUAFQBlADwAFQAWABQAZgA8ALsAFQA8AGYAZgC7AD0AZwAWABUAZwAVAGYAZwAXABYAPgBmAD0AZwBmAD4APgA9ALwAGAAXAGcAGABnAD4AGAAZABcAaQA+ALwAGAA+AGkAaQC8AGgAagAZABgAagAYAGkAagAaABkAPwBpAGgAagBpAD8APwBoAL0AQAAaAGoAQABqAD8AQAAcABoAawA/AL0AQAA/AGsAawC9ABsAbAAcAEAAbABAAGsAbAAeABwAHQBrABsAbABrAB0AHQAbAL4AQQAeAGwAQQBsAB0AQQAgAB4AbgAdAL4AQQAdAG4AbgC+AG0AIQAgAEEAIQBBAG4AIQAiACAAIQBuAG8AbwBuAG0AIwAiACEAbwBtAL8AvwBtAB8AIwAkACIAwAAkACMAwAAlACQAJgAlAMAAJgAnACUAcAAnACYAcAAoACcAKQAoAHAAKQAqACgAKwAqACkAKwAsACoA"), 0.33754364, PackedByteArray("QgAuAEMALgBEAEMARABFAEMANAAuAEIARQAyAEMANABCAEYARwA0AEYAQwAzAEIARwBGAEgALQBHAEgALQBIAEkASgAtAEkASQBIAEsASgBJAEsASABGAEsAQgBMAEYAQgAzAEwARgBMAEsASwBMAE0ATAAzADEATQBMADEAQwAxADMASwBNAE4ATgBNADEATgAxAEMASgBLAE4AMgBOAEMALwBKAE4AMgBPAE4AMAAvAE4ATwAwAE4ADAA7AFAADABQAAsADgA7AAwADgANADsADAALAAcABwALAFEABwBRAFIAUgBRAFMAUgBTAAkACQBTAAgACQAIAAoAVABVADcAVgBUADcANQBUAFYANwBVAFcANwBXAAIAOABXAFUAAgBXADYAOAA2AFcAAgA2AFgAOAABADYAWAA2AAEAWAABAAMAWQA4AFUAWQBVAFoAVABaAFUABABZAFoANQBbAFQAWwBaAFQAXABbADUABABaADkAWwA5AFoAXQAEADkAXABeAFsAXgA5AFsAXwBeAFwAXQA5AGAAXgBgADkAXwBgAF4AYQBdAGAAXwA6AGAAYQBgADoAAAA6AF8ABQBhADoAYgA6AAAAYgAFADoABgAFAGIADwBjABEAZABjAA8AZAAQAGMAZAASABAAZAATABIAZQATAGQAZQBkAA8AZQAUABMAPAAPABEAZQAPADwAPAARAD0AFQAUAGUAFQBlADwAFQAWABQAZgA8AD0AFQA8AGYAZwAWABUAZwAVAGYAZwAXABYAPgBmAD0AZwBmAD4APgA9AGgAGAAXAGcAGABnAD4AGAAZABcAaQA+AGgAGAA+AGkAagAZABgAagAYAGkAagAaABkAPwBpAGgAagBpAD8APwBoABsAQAAaAGoAQABqAD8AQAAcABoAawA/ABsAQAA/AGsAbAAcAEAAbABAAGsAbAAeABwAHQBrABsAbABrAB0AHQAbAG0AQQAeAGwAQQBsAB0AQQAgAB4AbgAdAG0AQQAdAG4AbwBuAG0AbwBtAB8AIQBuAG8AIQBBAG4AIQAgAEEAIQAiACAAIwAiACEAIwAkACIAIwAlACQAJgAlACMAJgAnACUAcAAnACYAcAAoACcAKQAoAHAAKQAqACgAKwAqACkAKwAsACoA"), 0.76260936, PackedByteArray("LwAtADAALQAxADAAMAAxADIALQAzADEAMgAxADMANAAzAC0AMgAzAC4ALgAzADQANQA2ADcANwA2AAIAAgA2AAMAAwA2AAEAOAABADYAOAA2ADkANQA5ADYABAA4ADkANQA6ADkABAA5ADoAAAA6ADUABQAEADoABgA6AAAABgAFADoABwAIAAkACQAIAAoABwALAAgADAALAAcADAA7AAsADgA7AAwADgANADsADwAQABEADwASABAADwATABIAPAAPABEAPAATAA8APAAUABMAPAARAD0AFQAUADwAFQA8AD0AFQAWABQAPgAWABUAPgAVAD0APgAXABYAGAAXAD4AGAA+AD0AGAAZABcAPwAYAD0APwAZABgAPwA9ABsAPwAaABkAQAAaAD8AQAA/ABsAQAAcABoAHQBAABsAHQAcAEAAHQAbAB8AHQAeABwAQQAdAB8AQQAeAB0AIQBBAB8AQQAgAB4AIQAgAEEAIQAiACAAIwAiACEAIwAkACIAIwAlACQAJgAlACMAJgAnACUAJgAoACcAKQAoACYAKQAqACgAKwAqACkAKwAsACoA"), 2.9509826, PackedByteArray("AAABAAIAAgABAAMAAAAEAAEAAAAFAAQABgAFAAAABwAIAAkACQAIAAoABwALAAgADAALAAcADAANAAsADgANAAwADwAQABEADwASABAADwATABIADwAUABMAFQAUAA8AFQAPABEAFQAWABQAFQAXABYAGAAXABUAGAAVABEAGAAZABcAGgAZABgAGgAYABEAGgARABsAHAAaABsAHQAcABsAHQAeABwAHQAbAB8AHQAgAB4AIQAdAB8AIQAgAB0AIQAiACAAIwAiACEAIwAkACIAIwAlACQAJgAlACMAJgAnACUAJgAoACcAKQAoACYAKQAqACgAKwAqACkAKwAsACoALQAuAC8A")], +"material": SubResource("StandardMaterial3D_bqd0q"), +"name": "Ted_tex", +"primitive": 3, +"skin_data": PackedByteArray("AgABAAAAAABC8rwNAAAAAAIAAQAAAAAANevJFAAAAAACAAEAAAAAAKX1WQoAAAAAAgABAAAAAADd9SEKAAAAAAIAAQAAAAAASuK0HQAAAAACAAEAAAAAAJLpbBYAAAAAAgABAAAAAABW8qgNAAAAAAIAAQAAAAAADujwFwAAAAACAAEAAAAAAJLpbBYAAAAAAgABAAAAAACR7G0TAAAAAAIAAQAAAAAAVvKoDQAAAAACAAEAAAAAAEritB0AAAAAAgABAAAAAAB27ogRAAAAAAIAAQAAAAAANevJFAAAAAACAAEAAAAAAN31IQoAAAAAAgABAAAAAAAu/tABAAAAAAIAAQAAAAAAVvKoDQAAAAACAAEAAAAAAELyvA0AAAAAAgABAAAAAABt8pENAAAAAAIAAQAAAAAAZv2YAgAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAApfVZCgAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAADd9SEKAAAAAAIAAQAAAAAAz/UvCgAAAAACAAEAAAAAAHbuiBEAAAAAAgABAAAAAAC57kURAAAAAAIAAQAAAAAAQuq8FQAAAAACAAEAAAAAAA7o8BcAAAAAAgABAAAAAAB66IQXAAAAAAIAAQAAAAAAS+mzFgAAAAACAAEAAAAAAJHsbRMAAAAAAgABAAAAAADi7BwTAAAAAAIAAQAAAAAAVvKoDQAAAAACAAEAAAAAAG3ykQ0AAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAAQvK8DQAAAAACAAEAAAAAAKX1WQoAAAAAAgABAAAAAAAl7tkRAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAABvg4x8AAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAABvg4x8AAAAAAgABAAAAAAC/6j8VAAAAAAIAAQAAAAAAJe7ZEQAAAAACAAEAAAAAAJjmZhkAAAAAAgABAAAAAACW32ggAAAAAAIAAQAAAAAAIeTdGwAAAAACAAEAAAAAAJjmZhkAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAAp+5XEQAAAAACAAEAAAAAAI7rcBQAAAAAAgABAAAAAACE43ocAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAAAc/eICAAAAAAIAAQAAAAAA8eMNHAAAAAACAAEAAAAAAF3joRwAAAAAAgABAAAAAADG4jgdAAAAAAIAAQAAAAAA3+gfFwAAAAACAAEAAAAAAI3lcRoAAAAAAgABAAAAAADK3zQgAAAAAAIAAQAAAAAAw+Q7GwAAAAACAAEAAAAAAPHjDRwAAAAAAgABAAAAAAD96QEWAAAAAAIAAQAAAAAAx/c3CAAAAAACAAEAAAAAAF3joRwAAAAAAgABAAAAAAAV4ekeAAAAAAIAAQAAAAAAuNxGIwAAAAACAAEAAAAAAITjehwAAAAAAgABAAAAAADG4jgdAAAAAAIAAQAAAAAANODKHwAAAAACAAEAAAAAAI7rcBQAAAAAAgABAAAAAAAB4P0fAAAAAAIAAQAAAAAAjeVxGgAAAAACAAEAAAAAAGfzlwwAAAAAAgABAAAAAABn85cMAAAAAAIAAQAAAAAA/P0CAgAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAADH9zcIAAAAAAIAAQAAAAAA3+gfFwAAAAACAAEAAAAAAL/5PwYAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAAA718AoAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAAPP/CwAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAAWP+mAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAACZ8mUNAAAAAAIAAQAAAAAA2O4mEQAAAAACAAEAAAAAAE7ssBMAAAAAAgABAAAAAADc6CIXAAAAAAIAAQAAAAAAMe3NEgAAAAACAAEAAAAAALnkRRsAAAAAAgABAAAAAABq5pQZAAAAAAIAAQAAAAAAW++jEAAAAAACAAEAAAAAAIbheB4AAAAAAgABAAAAAAB06YoWAAAAAAIAAQAAAAAAm/RjCwAAAAACAAEAAAAAADHlzRoAAAAAAgABAAAAAADw8A4PAAAAAAIAAQAAAAAAy+4zEQAAAAACAAEAAAAAADf5xwYAAAAAAgABAAAAAADb6SMWAAAAAAIAAQAAAAAAAuz8EwAAAAACAAEAAAAAAC/pzxYAAAAAAgABAAAAAACK7nQRAAAAAAIAAQAAAAAAePOGDAAAAAACAAEAAAAAADDozhcAAAAAAgABAAAAAADC4jwdAAAAAAIAAQAAAAAAF+nnFgAAAAACAAEAAAAAAA/k7xsAAAAAAgABAAAAAADj3xsgAAAAAAIAAQAAAAAAaOGWHgAAAAACAAEAAAAAAJrfZCAAAAAAAgABAAAAAAAE4foeAAAAAAIAAQAAAAAAleBpHwAAAAACAAEAAAAAAPzhAh4AAAAAAgABAAAAAAB544UcAAAAAAIAAQAAAAAA5OQaGwAAAAACAAEAAAAAAHHqjRUAAAAAAgABAAAAAADb9yMIAAAAAAIAAQAAAAAAxPE6DgAAAAACAAEAAAAAAHjzhgwAAAAAAgABAAAAAABY/6YAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAANv3IwgAAAAAAgABAAAAAADb6SMWAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAAuvNEDAAAAAACAAEAAAAAAJr7ZAQAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAAuu1EEgAAAAACAAEAAAAAANPyKw0AAAAAAgABAAAAAAD09woIAAAAAAIAAQAAAAAA8/YLCQAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAAA8+cIGAAAAAAIAAQAAAAAADefxGAAAAAACAAEAAAAAAEfktxsAAAAAAgABAAAAAACF/3kAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAACT9msJAAAAAAIAAAAAAAAA//8AAAAAAAACAAEAAAAAAA/47wcAAAAAAgABAAAAAAD+7wAQAAAAAAIAAQAAAAAAmedlGAAAAAACAAEAAAAAAO39EQIAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAAA//78AAAAAAAIAAQAAAAAAavOUDAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAQAAAAAA5/4XAQAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgAAAAAAAAD//wAAAAAAAAIAAAAAAAAA//8AAAAAAAACAAAAAAAAAP//AAAAAAAAAgABAAAAAACy90wIAAAAAAIAAQAAAAAAwOw+EwAAAAACAAEAAAAAAJDobhcAAAAAAgABAAAAAADh8R0OAAAAAAIAAQAAAAAABef5GAAAAAACAAEAAAAAALfnRxgAAAAAAgABAAAAAAAP6+8UAAAAAAIAAQAAAAAAVu+oEAAAAAACAAEAAAAAAGrzlAwAAAAAAgABAAAAAAB374cQAAAAAAIAAQAAAAAAiOh2FwAAAAACAAEAAAAAAMLvPBAAAAAAAgABAAAAAAB36IcXAAAAAAIAAQAAAAAAOvDEDwAAAAACAAEAAAAAAFbvqBAAAAAAAgABAAAAAADq4hQdAAAAAAIAAQAAAAAAIuDcHwAAAAACAAEAAAAAANDfLiAAAAAAAgABAAAAAADJ4DUfAAAAAAIAAQAAAAAAqeNVHAAAAAACAAEAAAAAAOPyGw0AAAAAAgABAAAAAACy90wIAAAAAAIAAQAAAAAAOerFFQAAAAACAAEAAAAAAPLyDA0AAAAAAgABAAAAAAD28ggNAAAAAAIAAQAAAAAA4fEdDgAAAAA="), +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 341, +"vertex_data": PackedByteArray("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") +}] +blend_shape_mode = 0 + +[sub_resource type="Animation" id="Animation_rqi2f"] +resource_name = "ted_bones_001|Tekton Throwing Tiles|Anima_Layer" +length = 0.5 +tracks/0/type = "rotation_3d" +tracks/0/imported = true +tracks/0/enabled = true +tracks/0/path = NodePath("Throwing Tiles/Skeleton3D:lower_body") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = PackedFloat32Array(0, 1, -0.16859752, 1.1750283e-07, -2.0098398e-08, 0.985685, 0.033333335, 1, -0.16859752, 1.1750283e-07, -2.0098398e-08, 0.985685, 0.1, 1, -0.17779222, -2.9779094e-05, 0.0003246367, 0.98406804, 0.13333334, 1, -0.16859752, 1.17502836e-07, -2.0098398e-08, 0.98568505, 0.16666667, 1, -0.13770278, 0.0001443085, -0.0010824696, 0.99047303, 0.2, 1, -0.10116127, 0.0004005261, -0.0023433608, 0.99486727, 0.23333333, 1, -0.077170864, 0.0006184681, -0.0031585877, 0.99701273, 0.26666668, 1, -0.06728778, 0.0007195853, -0.0034912466, 0.9977273, 0.3, 1, -0.0688109, 0.00070357154, -0.0034401035, 0.99762356, 0.33333334, 1, -0.07900305, 0.0006004456, -0.0030967065, 0.9968694, 0.36666667, 1, -0.09511289, 0.00045178234, -0.0025498879, 0.9954632, 0.4, 1, -0.11438662, 0.00029716492, -0.0018895235, 0.9934345, 0.43333334, 1, -0.1340804, 0.00016556936, -0.0012083023, 0.9909698, 0.46666667, 1, -0.15147236, 7.1594e-05, -0.00060170115, 0.9884613, 0.5, 1, -0.16859752, 1.1750283e-07, -2.0098398e-08, 0.985685) +tracks/1/type = "rotation_3d" +tracks/1/imported = true +tracks/1/enabled = true +tracks/1/path = NodePath("Throwing Tiles/Skeleton3D:chest") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = PackedFloat32Array(0, 1, 0.13489334, -1.18119765e-07, 1.6080538e-08, 0.9908601, 0.033333335, 1, 0.13489334, -1.18119765e-07, 1.6080538e-08, 0.9908601, 0.1, 1, 0.14784272, 0.00014006873, -0.00043481425, 0.9890108, 0.13333334, 1, 0.13489334, -1.18119765e-07, 1.6080538e-08, 0.9908601, 0.16666667, 1, 0.09137026, -0.00038599275, 0.0014801559, 0.9958158, 0.2, 1, 0.039911635, -0.000673043, 0.0032617399, 0.99919766, 0.23333333, 1, 0.00616947, -0.00076162996, 0.004444146, 0.9999708, 0.26666668, 1, -0.0077158497, -0.00077509054, 0.0049332287, 0.9999578, 0.3, 1, -0.005576475, -0.0007738924, 0.004857793, 0.99997234, 0.33333334, 1, 0.008744779, -0.00075765775, 0.0043535824, 0.999952, 0.36666667, 1, 0.03140058, -0.0007028422, 0.0035590788, 0.99950033, 0.4, 1, 0.058529664, -0.0005903527, 0.0026137608, 0.9982821, 0.43333334, 1, 0.086267024, -0.000422647, 0.001655447, 0.9962706, 0.46666667, 1, 0.11076911, -0.00023020655, 0.0008170123, 0.9938458, 0.5, 1, 0.13489334, -1.18119765e-07, 1.6080538e-08, 0.9908601) +tracks/2/type = "position_3d" +tracks/2/imported = true +tracks/2/enabled = true +tracks/2/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_L") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = PackedFloat32Array(0, 1, 0.6412779, 1.2800816, 0.22995761, 0.033333335, 1, 0.6412779, 1.2800816, 0.22995761, 0.06666667, 1, 0.636356, 1.2072377, 0.25027686, 0.1, 1, 0.62614375, 1.0716487, 0.29810256, 0.13333334, 1, 0.6174709, 0.9977286, 0.3537361, 0.16666667, 1, 0.61535144, 1.069508, 0.4000593, 0.2, 1, 0.6175336, 1.2094887, 0.43027604, 0.23333333, 1, 0.62060994, 1.3206432, 0.44148126, 0.26666668, 1, 0.6238136, 1.3893588, 0.43601337, 0.3, 1, 0.62703866, 1.4228747, 0.4175218, 0.33333334, 1, 0.6301787, 1.4284317, 0.38965574, 0.36666667, 1, 0.6331271, 1.4132698, 0.3560645, 0.4, 1, 0.63577795, 1.3846292, 0.32039753, 0.43333334, 1, 0.63802475, 1.3497498, 0.28630403, 0.46666667, 1, 0.6397612, 1.3158718, 0.2574333, 0.5, 1, 0.6412779, 1.2800816, 0.22995761) +tracks/3/type = "rotation_3d" +tracks/3/imported = true +tracks/3/enabled = true +tracks/3/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_L") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = PackedFloat32Array(0, 1, -0.0007093907, 0.00075314264, -0.5155499, 0.8568589, 0.033333335, 1, -0.0007093907, 0.00075314264, -0.5155499, 0.8568589, 0.06666667, 1, 0.0396047, 0.025416115, -0.5163149, 0.855105, 0.1, 1, 0.111992866, 0.07014515, -0.5146904, 0.8471311, 0.13333334, 1, 0.14478019, 0.09059351, -0.5126513, 0.8414393, 0.16666667, 1, 0.09147953, 0.057411887, -0.51554805, 0.8500269, 0.2, 1, -0.0007094055, 0.0007531404, -0.5155499, 0.85685897, 0.23333333, 1, -0.07149016, -0.042121336, -0.5113811, 0.85533875, 0.26666668, 1, -0.112479284, -0.066698834, -0.5073305, 0.85177195, 0.3, 1, -0.1290044, -0.07655488, -0.5053576, 0.8497711, 0.33333334, 1, -0.12639734, -0.07500208, -0.50568193, 0.8501083, 0.36666667, 1, -0.109867245, -0.06513826, -0.5076246, 0.8520584, 0.4, 1, -0.08458529, -0.04999354, -0.51021725, 0.85441464, 0.43333334, 1, -0.055765167, -0.0326434, -0.5126165, 0.8561829, 0.46666667, 1, -0.028670346, -0.01624918, -0.5143313, 0.85695827, 0.5, 1, -0.0007093907, 0.00075314264, -0.5155499, 0.8568589) +tracks/4/type = "scale_3d" +tracks/4/imported = true +tracks/4/enabled = true +tracks/4/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_L") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = PackedFloat32Array(0, 1, 0.99999994, 0.99999994, 1, 0.033333335, 1, 0.99999994, 0.99999994, 1, 0.06666667, 1, 0.99512553, 0.99054176, 0.9996708, 0.1, 1, 0.9850069, 0.9709078, 0.9989871, 0.13333334, 1, 0.9764017, 0.9542103, 0.9984059, 0.2, 1, 0.9764017, 0.9542102, 0.9984058, 0.23333333, 1, 0.97942907, 0.9600844, 0.99861, 0.3, 1, 0.9857939, 0.97243446, 0.9990403, 0.33333334, 1, 0.9889153, 0.97849184, 0.999251, 0.36666667, 1, 0.9918529, 0.9841917, 0.99944955, 0.4, 1, 0.9944982, 0.9893243, 0.9996283, 0.43333334, 1, 0.9967435, 0.993681, 0.99978, 0.46666667, 1, 0.9984808, 0.9970521, 0.9998975, 0.5, 1, 0.99999994, 0.99999994, 1) +tracks/5/type = "rotation_3d" +tracks/5/imported = true +tracks/5/enabled = true +tracks/5/path = NodePath("Throwing Tiles/Skeleton3D:arm_L") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = PackedFloat32Array(0, 1, -0.18391737, -0.050263263, -0.605197, 0.7729066, 0.033333335, 1, -0.18391737, -0.050263267, -0.605197, 0.77290666, 0.06666667, 1, -0.25101575, -0.27920738, -0.68344986, 0.6260437, 0.1, 1, -0.15390356, -0.7047797, -0.59796363, 0.3493407, 0.13333334, 1, 0.07791741, -0.8806135, -0.38580692, 0.26382157, 0.16666667, 1, 0.15455914, -0.88425887, -0.37145582, 0.23710413, 0.2, 1, 0.10701545, -0.8467944, -0.48522326, 0.18985602, 0.23333333, 1, 0.01860636, -0.7746194, -0.60530245, 0.18228447, 0.3, 1, -0.14852953, -0.5612505, -0.7583212, 0.29645526, 0.33333334, 1, -0.20041895, -0.44031706, -0.78211546, 0.39274496, 0.36666667, 1, -0.22598822, -0.32544973, -0.77351516, 0.4946576, 0.4, 1, -0.22943497, -0.22606474, -0.74099404, 0.5892217, 0.43333334, 1, -0.21863951, -0.14788878, -0.69610167, 0.6676587, 0.46666667, 1, -0.20255463, -0.09296865, -0.6512514, 0.7253966, 0.5, 1, -0.18391737, -0.050263263, -0.605197, 0.7729066) +tracks/6/type = "rotation_3d" +tracks/6/imported = true +tracks/6/enabled = true +tracks/6/path = NodePath("Throwing Tiles/Skeleton3D:hand_L") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = PackedFloat32Array(0, 1, -0.085278615, 0.0038400204, -0.15667483, 0.9839542, 0.033333335, 1, -0.085278615, 0.0038400204, -0.15667483, 0.9839542, 0.1, 1, -0.08150827, 0.0065017887, -0.15247221, 0.9849195, 0.13333334, 1, -0.08527862, 0.0038400416, -0.15667485, 0.9839542, 0.16666667, 1, -0.097735316, -0.005304949, -0.17058602, 0.9804693, 0.2, 1, -0.11205439, -0.016515331, -0.18662956, 0.9758793, 0.23333333, 1, -0.12121487, -0.024104178, -0.19692577, 0.97259766, 0.26666668, 1, -0.12493389, -0.027282625, -0.2011136, 0.9711851, 0.3, 1, -0.12436274, -0.02679077, -0.20047027, 0.9714051, 0.33333334, 1, -0.12052188, -0.02351822, -0.19614595, 0.9728557, 0.36666667, 1, -0.11438163, -0.018411554, -0.18924291, 0.9750718, 0.4, 1, -0.10692328, -0.012409108, -0.18087366, 0.9775982, 0.43333334, 1, -0.099174716, -0.0063972687, -0.1721961, 0.98003674, 0.5, 1, -0.085278615, 0.0038400204, -0.15667483, 0.9839542) +tracks/7/type = "position_3d" +tracks/7/imported = true +tracks/7/enabled = true +tracks/7/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_R") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = PackedFloat32Array(0, 1, -0.56907296, 1.2865571, 0.2115818, 0.033333335, 1, -0.56907296, 1.2865571, 0.2115818, 0.06666667, 1, -0.5610983, 1.2189357, 0.23431867, 0.1, 1, -0.54454905, 1.0928274, 0.28640062, 0.13333334, 1, -0.5304871, 1.0233657, 0.34363505, 0.16666667, 1, -0.52703416, 1.0884058, 0.38596123, 0.2, 1, -0.53055036, 1.2166876, 0.40984654, 0.23333333, 1, -0.5355228, 1.3188597, 0.41633546, 0.26666668, 1, -0.54071, 1.3823193, 0.4082536, 0.3, 1, -0.54593784, 1.4136523, 0.3888723, 0.33333334, 1, -0.5510328, 1.4194428, 0.36146224, 0.36666667, 1, -0.55582076, 1.406276, 0.32929474, 0.4, 1, -0.5601281, 1.3807372, 0.29564092, 0.43333334, 1, -0.56378067, 1.3494107, 0.26377162, 0.46666667, 1, -0.5666051, 1.3188821, 0.23695807, 0.5, 1, -0.56907296, 1.2865571, 0.2115818) +tracks/8/type = "rotation_3d" +tracks/8/imported = true +tracks/8/enabled = true +tracks/8/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_R") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = PackedFloat32Array(0, 1, 0.29369026, -0.16497773, 0.48499343, 0.80703765, 0.033333335, 1, 0.29369026, -0.16497773, 0.48499346, 0.8070377, 0.06666667, 1, 0.33140066, -0.18790011, 0.47525558, 0.79309475, 0.1, 1, 0.39783654, -0.22790185, 0.4549289, 0.7634308, 0.13333334, 1, 0.42737505, -0.2455181, 0.44450262, 0.7479899, 0.16666667, 1, 0.37917864, -0.21671937, 0.46106267, 0.772449, 0.2, 1, 0.29369026, -0.16497773, 0.48499337, 0.80703765, 0.23333333, 1, 0.22626819, -0.12363698, 0.4993673, 0.827133, 0.26666668, 1, 0.18651673, -0.0990613, 0.5060936, 0.8362223, 0.3, 1, 0.1703426, -0.08902134, 0.5084695, 0.83935535, 0.33333334, 1, 0.17289989, -0.090610296, 0.5081077, 0.83888143, 0.36666667, 1, 0.18906549, -0.10064137, 0.50570035, 0.835699, 0.4, 1, 0.21362509, -0.11583626, 0.5016445, 0.8302404, 0.43333334, 1, 0.2413803, -0.13294145, 0.49647444, 0.82314956, 0.46666667, 1, 0.26724043, -0.14881274, 0.49108666, 0.8156416, 0.5, 1, 0.29369026, -0.16497773, 0.48499343, 0.80703765) +tracks/9/type = "scale_3d" +tracks/9/imported = true +tracks/9/enabled = true +tracks/9/path = NodePath("Throwing Tiles/Skeleton3D:shoulder_R") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = PackedFloat32Array(0, 1, 0.9999999, 1, 0.9999999, 0.033333335, 1, 0.9999999, 1, 0.9999999, 0.06666667, 1, 0.9950536, 0.99057454, 0.99984795, 0.1, 1, 0.98478585, 0.9710091, 0.9995328, 0.13333334, 1, 0.9760537, 0.9543694, 0.9992647, 0.2, 1, 0.97605354, 0.95436937, 0.9992645, 0.23333333, 1, 0.97912574, 0.9602233, 0.9993592, 0.3, 1, 0.9855844, 0.9725304, 0.9995573, 0.33333334, 1, 0.988752, 0.9785666, 0.9996546, 0.36666667, 1, 0.99173284, 0.98424655, 0.99974597, 0.4, 1, 0.9944171, 0.98936146, 0.9998285, 0.43333334, 1, 0.9966954, 0.99370295, 0.9998986, 0.46666667, 1, 0.9984584, 0.9970623, 0.9999527, 0.5, 1, 0.9999999, 1, 0.9999999) +tracks/10/type = "rotation_3d" +tracks/10/imported = true +tracks/10/enabled = true +tracks/10/path = NodePath("Throwing Tiles/Skeleton3D:arm_R") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = PackedFloat32Array(0, 1, 0.18597732, -0.0365675, 0.60732764, 0.7715105, 0.033333335, 1, 0.18597732, -0.0365675, 0.60732764, 0.7715105, 0.06666667, 1, 0.2590596, 0.1834768, 0.53504395, 0.7829128, 0.1, 1, 0.28464195, 0.6221244, 0.2995853, 0.6649729, 0.13333334, 1, 0.23588473, 0.885469, 0.09811325, 0.38817114, 0.16666667, 1, 0.29884297, 0.9166564, 0.09912228, 0.24618842, 0.2, 1, 0.42850408, 0.8470622, 0.20417002, 0.23913297, 0.23333333, 1, 0.5250677, 0.7422307, 0.31888396, 0.2677885, 0.26666668, 1, 0.5723176, 0.62676096, 0.42283285, 0.3175463, 0.3, 1, 0.57507217, 0.5082457, 0.5118782, 0.38595223, 0.33333334, 1, 0.5401418, 0.39212245, 0.58017963, 0.46677446, 0.36666667, 1, 0.47737324, 0.2823634, 0.62361765, 0.5508963, 0.4, 1, 0.39926335, 0.1822337, 0.642206, 0.6284514, 0.43333334, 1, 0.31941926, 0.0952647, 0.640796, 0.69157535, 0.46666667, 1, 0.25060254, 0.025987754, 0.62795573, 0.7363387, 0.5, 1, 0.18597732, -0.0365675, 0.60732764, 0.7715105) + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_6yikr"] +_data = { +&"ted_bones_001|Tekton Throwing Tiles|Anima_Layer": SubResource("Animation_rqi2f") +} + +[node name="ted_mesh" type="Node3D" unique_id=1849786869] +transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0) + +[node name="Throwing Tiles" type="Node3D" parent="." unique_id=1204344089] +transform = Transform3D(0.9161078, 0, -0.032035157, 0, 0.91666764, 0, 0.032035157, 0, 0.9161078, -0.046623886, 0, 0.19667524) + +[node name="Skeleton3D" type="Skeleton3D" parent="Throwing Tiles" unique_id=2031925097] +bones/0/name = "lower_body" +bones/0/parent = -1 +bones/0/rest = Transform3D(0.9999999, -6.797336e-10, 2.3809599e-07, -7.849442e-08, 0.94314975, 0.3323681, -2.2478608e-07, -0.33236814, 0.9431497, 9.313226e-10, -6.217249e-15, 7.3341653e-09) +bones/0/enabled = true +bones/0/position = Vector3(9.313226e-10, -6.217249e-15, 7.3341653e-09) +bones/0/rotation = Quaternion(-0.16859752, 1.1750283e-07, -2.0098398e-08, 0.985685) +bones/0/scale = Vector3(0.9999999, 1, 0.99999994) +bones/1/name = "chest" +bones/1/parent = 0 +bones/1/rest = Transform3D(1, -6.288758e-08, -2.2774904e-07, -2.8313352e-10, 0.9636076, -0.26732087, 2.3627186e-07, 0.2673209, 0.96360755, 7.836491e-09, 1.0773814, -3.0267984e-09) +bones/1/enabled = true +bones/1/position = Vector3(7.836491e-09, 1.0773814, -3.0267984e-09) +bones/1/rotation = Quaternion(0.13489334, -1.1811976e-07, 1.608054e-08, 0.9908601) +bones/1/scale = Vector3(1, 1, 0.99999994) +bones/2/name = "head" +bones/2/parent = 1 +bones/2/rest = Transform3D(1, 5.2432014e-10, 2.3787881e-07, 7.95e-08, 0.9417622, -0.3362796, -2.242016e-07, 0.3362796, 0.9417622, -6.4330834e-09, 1.2962308, 3.958121e-09) +bones/2/enabled = true +bones/2/position = Vector3(-6.4330834e-09, 1.2962308, 3.958121e-09) +bones/2/rotation = Quaternion(0.17064261, 1.1723966e-07, 2.003781e-08, 0.98533297) +bones/2/scale = Vector3(1, 1, 1) +bones/3/name = "shoulder_L" +bones/3/parent = 0 +bones/3/rest = Transform3D(0.4684155, 0.88350606, 0.002022103, -0.8835082, 0.46841562, 0.00043912523, -0.0005592148, -0.0019922373, 0.99999785, 0.64127815, 1.2800816, 0.22995758) +bones/3/enabled = true +bones/3/position = Vector3(0.6412779, 1.2800816, 0.22995761) +bones/3/rotation = Quaternion(-0.0007093907, 0.0007531427, -0.5155499, 0.85685897) +bones/3/scale = Vector3(0.99999994, 0.99999994, 1) +bones/4/name = "arm_L" +bones/4/parent = 3 +bones/4/rest = Transform3D(0.80678135, 0.5767419, -0.1283456, -0.5662312, 0.8167538, 0.110884026, 0.16877827, -0.016785871, 0.985511, -1.15484e-07, 0.91100866, -7.0780516e-08) +bones/4/enabled = true +bones/4/position = Vector3(-1.15484e-07, 0.91100866, -7.0780516e-08) +bones/4/rotation = Quaternion(-0.18391739, -0.05026326, -0.6051971, 0.77290654) +bones/4/scale = Vector3(1, 0.9999998, 0.9999999) +bones/5/name = "hand_L" +bones/5/parent = 4 +bones/5/rest = Transform3D(0.9508765, 0.30766678, 0.034278866, -0.30897665, 0.9363611, 0.16661742, 0.019165251, -0.16902398, 0.9854256, -1.9092113e-07, 1.0887072, 1.4901161e-08) +bones/5/enabled = true +bones/5/position = Vector3(-1.9092113e-07, 1.0887072, 1.4901161e-08) +bones/5/rotation = Quaternion(-0.085278615, 0.0038400209, -0.15667482, 0.9839542) +bones/5/scale = Vector3(0.99999994, 1, 1) +bones/6/name = "shoulder_R" +bones/6/parent = 0 +bones/6/rest = Transform3D(0.47512746, -0.8797206, 0.018589258, 0.68591124, 0.35705483, -0.63406444, 0.5511621, 0.31401202, 0.77305675, -0.569073, 1.2865571, 0.21158178) +bones/6/enabled = true +bones/6/position = Vector3(-0.56907296, 1.2865571, 0.2115818) +bones/6/rotation = Quaternion(0.29369026, -0.16497773, 0.48499343, 0.80703765) +bones/6/scale = Vector3(0.9999999, 1, 0.9999999) +bones/7/name = "arm_R" +bones/7/parent = 6 +bones/7/rest = Transform3D(0.80875915, -0.576546, -0.11620367, 0.5665452, 0.8167538, -0.1092689, 0.1579083, 0.022537576, 0.9871967, -1.7508864e-07, 0.9110088, 1.2665987e-07) +bones/7/enabled = true +bones/7/position = Vector3(-1.7508864e-07, 0.9110088, 1.2665987e-07) +bones/7/rotation = Quaternion(0.18597731, -0.0365675, 0.6073276, 0.7715105) +bones/7/scale = Vector3(0.9999999, 1, 1.0000001) +bones/8/name = "hand_R" +bones/8/parent = 7 +bones/8/rest = Transform3D(0.9504333, -0.30814767, 0.041490287, 0.31071606, 0.936361, -0.16335104, 0.011486355, 0.16814598, 0.9856952, -1.3783574e-07, 1.0887074, 1.6391277e-07) +bones/8/enabled = true +bones/8/position = Vector3(-1.3783574e-07, 1.0887074, 1.6391277e-07) +bones/8/rotation = Quaternion(0.084227614, 0.0076234755, 0.1572425, 0.98393214) +bones/8/scale = Vector3(0.99999994, 0.99999994, 1) + +[node name="ted_arm" type="MeshInstance3D" parent="Throwing Tiles/Skeleton3D" unique_id=1290994872] +mesh = SubResource("ArrayMesh_affu0") +skin = SubResource("Skin_ewtsp") + +[node name="ted_body" type="MeshInstance3D" parent="Throwing Tiles/Skeleton3D" unique_id=514785423] +mesh = SubResource("ArrayMesh_lxhkc") +skin = SubResource("Skin_ewtsp") + +[node name="ted_hat" type="MeshInstance3D" parent="Throwing Tiles/Skeleton3D" unique_id=26723897] +mesh = SubResource("ArrayMesh_q805l") +skin = SubResource("Skin_ewtsp") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=107758771] +libraries/ = SubResource("AnimationLibrary_6yikr") diff --git a/scripts/managers/gauntlet_manager.gd b/scripts/managers/gauntlet_manager.gd index d31d0fb..4727185 100644 --- a/scripts/managers/gauntlet_manager.gd +++ b/scripts/managers/gauntlet_manager.gd @@ -167,6 +167,9 @@ func _process(delta: float) -> void: if not is_active: return + if not multiplayer.has_multiplayer_peer() or multiplayer.multiplayer_peer == null: + return + elapsed_time += delta # Phase escalation diff --git a/scripts/managers/player_input_manager.gd b/scripts/managers/player_input_manager.gd index 815411a..9045101 100644 --- a/scripts/managers/player_input_manager.gd +++ b/scripts/managers/player_input_manager.gd @@ -103,7 +103,7 @@ func handle_unhandled_input(event): if event.is_action_pressed("action_knock_tekton"): if player.powerup_manager: player.powerup_manager.use_special_effect() - if player.is_attack_mode and player.has_method("enter_attack_mode"): + if player.get("is_attack_mode") and player.has_method("enter_attack_mode"): player.enter_attack_mode() get_viewport().set_input_as_handled() diff --git a/scripts/managers/powerup_manager.gd b/scripts/managers/powerup_manager.gd index 067ef4e..ce032db 100644 --- a/scripts/managers/powerup_manager.gd +++ b/scripts/managers/powerup_manager.gd @@ -149,7 +149,7 @@ func can_use_special() -> bool: func enable_attack_mode(): """Enable Attack Mode without consuming boost.""" - player.is_attack_mode = true + player.set("is_attack_mode", true) NotificationManager.send_message(player, NotificationManager.MESSAGES.ATTACK_MODE_READY, NotificationManager.MessageType.POWERUP) print("[PowerUp] Attack Mode Enabled (Free).") @@ -177,7 +177,7 @@ func consume_boost(amount: float): current_boost -= amount if current_boost <= 0: current_boost = 0.0 - player.is_attack_mode = false # Out of fuel + player.set("is_attack_mode", false) # Out of fuel emit_signal("boost_reset") # UI update for empty print("[PowerUp] Boost depleted. Attack Mode OFF.") diff --git a/scripts/managers/settings_manager.gd b/scripts/managers/settings_manager.gd index f601cec..d6a1b18 100644 --- a/scripts/managers/settings_manager.gd +++ b/scripts/managers/settings_manager.gd @@ -317,16 +317,11 @@ func is_controller_button_used(button_index: int) -> String: return "" func get_control_keycode(action_name: String) -> int: - # Map friendly names to their internal settings.controls keys - var mapped_name = action_name - if action_name == "tekton_grab": - mapped_name = "action_grab_tekton" - elif action_name == "attack_mode": - mapped_name = "action_knock_tekton" - elif action_name == "grab": - mapped_name = "action_grab" - - return settings.controls.get(mapped_name, -1) + # settings.controls stores keys by the same name callers pass in + # (e.g. "tekton_grab", "attack_mode", "grab"). The InputMap action name + # (e.g. "action_grab_tekton") is a separate concept handled by + # apply_control_settings(). Do NOT remap here. + return settings.controls.get(action_name, -1) func get_control_text(action_name: String) -> String: var code = get_control_keycode(action_name) diff --git a/scripts/managers/static_tekton_manager.gd b/scripts/managers/static_tekton_manager.gd index 58ce5b5..a890b7d 100644 --- a/scripts/managers/static_tekton_manager.gd +++ b/scripts/managers/static_tekton_manager.gd @@ -4,7 +4,7 @@ extends Node # Handles spawning and placement of Static Tektons in restricted zones. const STAND_SCENE_PATH = "res://scenes/static_tekton_stand.tscn" -const TEKTON_SCENE_PATH = "res://scenes/tekton.tscn" +const TEKTON_SCENE_PATH = "res://scenes/static_tekton.tscn" const STATIC_CONTROLLER_SCRIPT = "res://scripts/static_tekton_controller.gd" const PERIMETER_BUFFER = 1 # 1-tile safe zone on all sides (matches main.gd) diff --git a/scripts/managers/stop_n_go_manager.gd b/scripts/managers/stop_n_go_manager.gd index afccc29..6ebcdae 100644 --- a/scripts/managers/stop_n_go_manager.gd +++ b/scripts/managers/stop_n_go_manager.gd @@ -90,6 +90,9 @@ func _process(delta): if not is_active: return + if not multiplayer.has_multiplayer_peer() or multiplayer.multiplayer_peer == null: + return + # Decrement timer locally for all peers (smoother HUD than waiting for RPC) phase_timer -= delta diff --git a/scripts/tekton.gd b/scripts/tekton.gd index dafbb3b..e521af7 100644 --- a/scripts/tekton.gd +++ b/scripts/tekton.gd @@ -97,14 +97,14 @@ func move_to(target_pos: Vector2i): var target_rot = atan2(dir.x, dir.z) rotation.y = target_rot - play_animation("tekton_move") + play_animation("tekton_move" if not is_static_turret else "Armature|tekton_move") tween = create_tween() tween.tween_property(self , "position", target_world_pos, movement_speed).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT) tween.tween_callback(func(): current_position = target_pos is_moving = false - play_animation("tekton_idle") + play_animation("tekton_idle" if not is_static_turret else "Armature|tekton_idle") emit_signal("movement_finished") ) @@ -143,7 +143,7 @@ func set_carried(state: bool, p_carrier: Node3D = null): carrier = p_carrier if is_carried: - play_animation("tekton_idle") + play_animation("tekton_idle" if not is_static_turret else "Armature|tekton_idle") is_moving = false if tween: tween.kill() @@ -242,6 +242,10 @@ func _update_prompt_label(): prompt_container.visible = false func _ready(): + # For static tekton, mark it as static + if name.begins_with("StaticTekton") or has_node("Visuals/static_tekton_mesh"): + is_static_turret = true + # Cache meshes and their initial scales _cache_meshes(self) @@ -329,7 +333,12 @@ func on_thrown_landing(attacker: Node = null, intensity: float = 1.0): spawn_tiles_around(int(8 * intensity)) # Floor Freeze (Visual/Instant - Run on all clients locally) - temporarily_change_floor(current_position, 1, 6, 3.0) + var mode_val = GameMode.Mode.FREEMODE + if LobbyManager: + mode_val = LobbyManager.get_game_mode() + + if mode_val != GameMode.Mode.FREEMODE: + temporarily_change_floor(current_position, 1, 6, 3.0) # Wait 3.0 seconds await get_tree().create_timer(3.0).timeout @@ -345,8 +354,8 @@ func on_thrown_landing(attacker: Node = null, intensity: float = 1.0): is_recovering = false # Resume AI - if controller and controller.has_method("_start_timer"): - if is_multiplayer_authority() and not is_carried: + if not is_multiplayer_authority() or not is_carried: + if controller and controller.has_method("_start_timer"): controller._start_timer() @@ -417,22 +426,24 @@ func spawn_tiles_around(count: int = 4): # If it's a static turret, make it face the target tile it's about to spawn instead if is_static_turret: - # We don't have a specific target yet, but we can pick an average direction - # Or just let it throw randomly like the others. Wait, the user wants: - # "static tekton, should facing toward where they're going to thrown the tiles" - # We'll calculate rotation inside the spawning loop for static turrets. pass else: rotation.y = random_angle # Play throw animation - if not is_carried and not is_thrown: + if not is_carried and not is_thrown and has_node("Visuals/tekton/Armature/AnimationPlayer"): play_animation("tekton_throw_tile") # Queue idle after animation finishes (approx 1.0s) get_tree().create_timer(1.0).timeout.connect(func(): if not is_moving and not is_carried and not is_thrown: play_animation("tekton_idle") ) + elif is_static_turret and not is_carried and not is_thrown: + play_animation("Armature|tekton_throw_tile") + get_tree().create_timer(1.0).timeout.connect(func(): + if not is_moving and not is_carried and not is_thrown: + play_animation("Armature|tekton_idle") + ) print("[Tekton] Spawning %d tiles around %s" % [count, current_position]) @@ -453,6 +464,11 @@ func spawn_tiles_around(count: int = 4): var throw_dir = Vector3(x, 0, y).normalized() if throw_dir.length_squared() > 0.01: rotation.y = atan2(throw_dir.x, throw_dir.z) + + # Also make the visuals node rotate if needed (sometimes necessary for static items) + var visuals = get_node_or_null("Visuals") + if visuals: + visuals.rotation.y = 0 # keep base at 0 since parent rotated # Don't overwrite the Tekton's own cell? Or do? # Maybe avoid center. @@ -496,8 +512,10 @@ func spawn_tiles_around(count: int = 4): if LobbyManager: mode = LobbyManager.get_game_mode() - if mode == GameMode.Mode.TEKTON_DOORS: + if LobbyManager and LobbyManager.get_game_mode() == GameMode.Mode.TEKTON_DOORS: item_id = [11, 14].pick_random() + elif mode == GameMode.Mode.FREEMODE: + item_id = rng.randi_range(7, 10) # No powerups in freemode either, just normal tiles else: item_id = rng.randi_range(11, 14) @@ -540,6 +558,11 @@ func play_animation(anim_name: String): # Try specific user path first var anim_player = get_node_or_null("Visuals/tekton/Armature/AnimationPlayer") + if is_static_turret: + anim_player = get_node_or_null("Visuals/static_tekton_mesh/tekton_throwing_tiles/AnimationPlayer") + if not anim_player: + anim_player = get_node_or_null("Visuals/tekton_throwing_tiles/AnimationPlayer") # Check direct child just in case + # If not found, try finding recursive if not anim_player: anim_player = find_child("AnimationPlayer", true, false) diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..473cd69 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,63 @@ +# Dasher Animation Tools + +The dasher character (`assets/characters/dashers/dasher_*.glb`) provides six +animation clips. They need to be retargeted to the player rig (which uses +`GeneralSkeleton` + Mixamo bone names) and packed into a single +`AnimationLibrary` that `player.tscn` can reference. + +## One-time generation (headless, no editor needed) + +```bash +godot --headless --path /home/beng/Godot/Projects/tekton-enet \ + --script res://tools/convert_dasher_animations_headless.gd + +godot --headless --path /home/beng/Godot/Projects/tekton-enet \ + --script res://tools/build_dasher_pack_headless.gd +``` + +Output: +- `assets/characters/animations/dasher_.res` (one per glb) +- `assets/characters/animations/dasher-pack.res` (combined library) + +`scenes/player.tscn` already references `dasher-pack.res` as a second +AnimationLibrary on the AnimationPlayer node, alongside the original +`animation-pack.res`. + +## Or run inside the editor + +Use the EditorScript variants: +- `tools/convert_dasher_animations.gd` (`@tool extends EditorScript`) +- `tools/build_dasher_pack.gd` (`@tool extends EditorScript`) + +Open each in the editor and `File > Run` (`Ctrl+Shift+X`). + +## Usage + +```gdscript +anim_player.play("dasher-pack/dasher_hit") +anim_player.play("dasher-pack/dasher_stun") +# etc. +``` + +## How it works + +Each `dasher_*.glb` contains three source animations in a single +`AnimationLibrary` (e.g. `dasher_hold.glb` has `bob-rig|Hold|Anima_Layer`, +`bob-rig|Put|Anima_Layer`, `bob-rig|bob ani|Anima_Layer`). The converter +picks the most relevant one based on the glb filename +(`ANIM_PICK` constant in `convert_dasher_animations_headless.gd`) and +retargets the bone names. The resulting `.res` has one animation per glb +named after the glb (`dasher_hold`, `dasher_hit`, etc.), retargeted to +`GeneralSkeleton:` paths so they apply against the player's +shared skeleton. + +The `BONE_REMAP` table in the converter defines Blender → Mixamo bone +name translations (e.g. `head` → `Head`, `hand.L` → `LeftHand`). +Helper nodes (`head_end`, `hand.L_end`, etc.) that don't exist in the +player rig are silently dropped. + +## Editing the bone remap + +If a dasher animation doesn't apply correctly, the most likely cause is a +bone name in the glb that's not in `BONE_REMAP`. Add the entry in +`convert_dasher_animations_headless.gd` and re-run both tools. diff --git a/tools/build_dasher_pack.gd b/tools/build_dasher_pack.gd new file mode 100644 index 0000000..cffe5cb --- /dev/null +++ b/tools/build_dasher_pack.gd @@ -0,0 +1,52 @@ +@tool +extends EditorScript + +# Editor tool: combine all dasher_.tres AnimationLibrary files into a +# single dasher-pack.tres for player.tscn to reference. +# +# Run AFTER convert_dasher_animations.gd. +# File > Run (Ctrl+Shift+X) on this script. +# +# Output: res://assets/characters/animations/dasher-pack.tres +# +# Then add an ext_resource to scenes/player.tscn: +# [ext_resource type="AnimationLibrary" path="res://assets/characters/animations/dasher-pack.tres" id="..."] +# And on the AnimationPlayer node: +# libraries/dasher-pack = ExtResource("...") + +const ANIM_DIR := "res://assets/characters/animations" +const OUTPUT := "res://assets/characters/animations/dasher-pack.res" + +func _run() -> void: + var combined := AnimationLibrary.new() + + var dir := DirAccess.open(ANIM_DIR) + if not dir: + push_error("[Build] Cannot open %s" % ANIM_DIR) + return + + var loaded: Array[String] = [] + for fname in dir.get_files(): + if not fname.begins_with("dasher_"): continue + if not fname.ends_with(".res"): continue + if fname == "dasher-pack.res": continue + var path := "%s/%s" % [ANIM_DIR, fname] + var res: Resource = load(path) + if not res is AnimationLibrary: + push_warning("[Build] %s is not an AnimationLibrary, skipping" % fname) + continue + var lib: AnimationLibrary = res + for anim_name in lib.get_animation_list(): + if combined.has_animation(anim_name): + push_warning("[Build] Duplicate anim name '%s' in %s, skipping" % [anim_name, fname]) + continue + combined.add_animation(anim_name, lib.get_animation(anim_name)) + loaded.append("%s/%s" % [fname, anim_name]) + + var err := ResourceSaver.save(combined, OUTPUT) + if err != OK: + push_error("[Build] ResourceSaver.save failed: %d" % err) + return + print("[Build] %d animation(s) written to %s" % [loaded.size(), OUTPUT]) + for l in loaded: + print(" - %s" % l) diff --git a/tools/build_dasher_pack_headless.gd b/tools/build_dasher_pack_headless.gd new file mode 100644 index 0000000..c406bb0 --- /dev/null +++ b/tools/build_dasher_pack_headless.gd @@ -0,0 +1,48 @@ +extends SceneTree + +# Headless equivalent of build_dasher_pack.gd. +# Run from CLI AFTER convert_dasher_animations_headless.gd: +# godot --headless --path /home/beng/Godot/Projects/tekton-enet --script res://tools/build_dasher_pack_headless.gd +# +# Produces: res://assets/characters/animations/dasher-pack.tres + +const ANIM_DIR := "res://assets/characters/animations" +const OUTPUT := "res://assets/characters/animations/dasher-pack.res" + +func _init() -> void: + print("[Build] Headless run starting...") + var combined := AnimationLibrary.new() + + var dir := DirAccess.open(ANIM_DIR) + if not dir: + push_error("[Build] Cannot open %s" % ANIM_DIR) + quit(1) + return + + var loaded: Array[String] = [] + for fname in dir.get_files(): + if not fname.begins_with("dasher_"): continue + if not fname.ends_with(".res"): continue + if fname == "dasher-pack.res": continue + var path := "%s/%s" % [ANIM_DIR, fname] + var res: Resource = load(path) + if not res is AnimationLibrary: + push_warning("[Build] %s is not an AnimationLibrary, skipping" % fname) + continue + var lib: AnimationLibrary = res + for anim_name in lib.get_animation_list(): + if combined.has_animation(anim_name): + push_warning("[Build] Duplicate anim name '%s' in %s, skipping" % [anim_name, fname]) + continue + combined.add_animation(anim_name, lib.get_animation(anim_name)) + loaded.append("%s/%s" % [fname, anim_name]) + + var err := ResourceSaver.save(combined, OUTPUT) + if err != OK: + push_error("[Build] ResourceSaver.save failed: %d" % err) + quit(1) + return + print("[Build] Done. %d animation(s) written to %s" % [loaded.size(), OUTPUT]) + for l in loaded: + print(" - %s" % l) + quit(0) diff --git a/tools/build_patch.gd.uid b/tools/build_patch.gd.uid deleted file mode 100644 index 8eecb34..0000000 --- a/tools/build_patch.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://baco51hmps6s1 diff --git a/tools/convert_dasher_animations.gd b/tools/convert_dasher_animations.gd new file mode 100644 index 0000000..b6bc385 --- /dev/null +++ b/tools/convert_dasher_animations.gd @@ -0,0 +1,185 @@ +@tool +extends EditorScript + +# Editor tool: convert each dasher_*.glb into an AnimationLibrary .tres file +# with tracks retargeted to the player rig (GeneralSkeleton + Mixamo bone names). +# +# Run once in the Godot editor: +# File > Run (Ctrl+Shift+X) on this script, OR +# from a @tool script: EditorInterface.get_resource_filesystem().scan() +# +# Output: +# assets/characters/animations/dasher_.tres (one per glb) +# Plus a combined library: +# assets/characters/animations/dasher-pack.tres +# +# Run build_dasher_pack.gd after this to consolidate. + +const DASHER_DIR := "res://assets/characters/dashers" +const ANIM_DIR := "res://assets/characters/animations" + +# Map dasher glb bone names (Blender/standard) -> player rig bone names (Mixamo). +# Tracks whose node name is not in this map are dropped (e.g. helper "head_end" empties). +const BONE_REMAP := { + "bob-hold": "Hips", # root of the dasher glb + "spine": "Hips", + "spine.001": "Spine", + "head": "Head", + "hand.L": "LeftHand", + "hand.R": "RightHand", + "forearm.L": "LeftLowerArm", + "forearm.R": "RightLowerArm", + "upper_arm.L": "LeftUpperArm", + "upper_arm.R": "RightUpperArm", + "shoulder.L": "LeftShoulder", + "shoulder.R": "RightShoulder", + "leg.L": "LeftLowerLeg", + "leg.R": "RightLowerLeg", + "thigh.L": "LeftUpperLeg", + "thigh.R": "RightUpperLeg", + "foot.L": "LeftFoot", + "foot.R": "RightFoot", + "toe.L": "LeftToeBase", + "toe.R": "RightToeBase", +} + +const TRACK_TYPES := [ + "position", # 3D position tracks + "rotation", # 3D rotation tracks (quaternion) + "scale", # 3D scale tracks +] + +func _run() -> void: + var dasher_dir := DirAccess.open(DASHER_DIR) + if not dasher_dir: + push_error("[Convert] Cannot open %s" % DASHER_DIR) + return + + var converted: Array[String] = [] + for fname in dasher_dir.get_files(): + if not fname.ends_with(".glb"): continue + if not fname.begins_with("dasher_"): continue + var stem := fname.get_basename() # e.g. "dasher_hold" + var out_path := "%s/%s.res" % [ANIM_DIR, stem] + var ok := _convert_one("%s/%s" % [DASHER_DIR, fname], stem, out_path) + if ok: + converted.append(out_path) + else: + push_warning("[Convert] Skipped %s" % fname) + + print("[Convert] %d dasher glb(s) converted: %s" % [converted.size(), converted]) + +func _convert_one(glb_path: String, anim_name: String, out_path: String) -> bool: + print("[Convert] %s -> %s" % [glb_path, out_path]) + var doc := GLTFDocument.new() + var state := GLTFState.new() + var err := doc.append_from_file(glb_path, state) + if err != OK: + push_error("[Convert] append_from_file failed: %d" % err) + return false + + var scene := doc.generate_scene(state) + if not scene: + push_error("[Convert] generate_scene returned null") + return false + + var src_player: AnimationPlayer = scene.find_child("AnimationPlayer", true, false) + if not src_player: + push_error("[Convert] No AnimationPlayer in %s" % glb_path) + scene.queue_free() + return false + + var out_lib := AnimationLibrary.new() + for lib_name in src_player.get_animation_library_list(): + var src_lib := src_player.get_animation_library(lib_name) + for src_anim_name in src_lib.get_animation_list(): + var src_anim: Animation = src_lib.get_animation(src_anim_name) + var retargeted := _retarget(src_anim) + if retargeted and retargeted.get_track_count() > 0: + out_lib.add_animation(anim_name, retargeted) + print(" + %s (%d tracks)" % [anim_name, retargeted.get_track_count()]) + else: + push_warning(" - %s produced 0 tracks after retarget" % src_anim_name) + + scene.queue_free() + + if out_lib.get_animation_list().is_empty(): + push_error("[Convert] Output library is empty for %s" % glb_path) + return false + + var save_err := ResourceSaver.save(out_lib, out_path) + if save_err != OK: + push_error("[Convert] ResourceSaver.save failed: %d" % save_err) + return false + return true + +func _retarget(src: Animation) -> Animation: + var dst := Animation.new() + dst.length = src.length + dst.loop_mode = src.loop_mode + dst.step = src.step + + # Map: original_track_idx -> new track path or -1 to drop + for i in src.get_track_count(): + var orig_path: String = src.track_get_path(i) + var bone := _extract_bone_name(orig_path) + if not BONE_REMAP.has(bone): + # drop helper nodes like head_end, hand.L_end, etc. + continue + + var new_bone: String = BONE_REMAP[bone] + var new_path := "%%GeneralSkeleton:%s" % new_bone + + # Match the suffix type (:position/:rotation/:scale) + var type_suffix := "" + if orig_path.ends_with(":position"): type_suffix = "position" + elif orig_path.ends_with(":rotation"): type_suffix = "rotation" + elif orig_path.ends_with(":scale"): type_suffix = "scale" + else: + push_warning(" Unrecognized track path: %s" % orig_path) + continue + + match type_suffix: + "position": + if new_bone != "Hips": continue + dst.add_track(Animation.TYPE_POSITION_3D) + "rotation": + dst.add_track(Animation.TYPE_ROTATION_3D) + "scale": + if new_bone != "Hips": continue + dst.add_track(Animation.TYPE_SCALE_3D) + + var new_idx := dst.get_track_count() - 1 + dst.track_set_path(new_idx, NodePath(new_path)) + dst.track_set_interpolation_type(new_idx, src.track_get_interpolation_type(i)) + dst.track_set_imported(new_idx, src.track_is_imported(i)) + dst.track_set_enabled(new_idx, src.track_is_enabled(i)) + + # Copy keyframes + var key_count := src.track_get_key_count(i) + for k in key_count: + var t: float = src.track_get_key_time(i, k) + var v: Variant = src.track_get_key_value(i, k) + var trans := src.track_get_key_transition(i, k) + match type_suffix: + "position": + dst.track_insert_key(new_idx, t, v) + "rotation": + dst.track_insert_key(new_idx, t, v) + "scale": + dst.track_insert_key(new_idx, t, v) + dst.track_set_key_transition(new_idx, k, trans) + return dst + +func _extract_bone_name(path: String) -> String: + # Tracks look like: "bob-hold/Skeleton3D:hand.L:rotation" + # We want the bone name "hand.L". + # Find the last ":" that precedes a type suffix; everything between the previous + # ":" (or start) and that ":" is the bone name. Easier: split on ":" and take + # the second-to-last segment. + var parts := path.split(":") + if parts.size() < 2: + return "" + # parts[-1] is the type ("rotation" etc), parts[-2] is the bone name + # but bone names can contain "." (e.g. "hand.L"), so just take parts[-2] as-is. + return parts[-2] diff --git a/tools/convert_dasher_animations_headless.gd b/tools/convert_dasher_animations_headless.gd new file mode 100644 index 0000000..b1abd59 --- /dev/null +++ b/tools/convert_dasher_animations_headless.gd @@ -0,0 +1,256 @@ +extends SceneTree + +# Headless: convert each dasher_*.glb into a dasher_.res with proper retargeting. +# Reads rest poses from both source GLB skeleton and target GeneralSkeleton (player.tscn) +# to compute per-bone correction quaternions. + + +const DASHER_DIR := "res://assets/characters/dashers" +const ANIM_DIR := "res://assets/characters/animations" + +const BONE_REMAP := { + "bob-hold": "Hips", + "spine": "Hips", + "spine.001": "Spine", + "head": "Head", + "hand.L": "LeftHand", + "hand.R": "RightHand", + "forearm.L": "LeftLowerArm", + "forearm.R": "RightLowerArm", + "upper_arm.L": "LeftUpperArm", + "upper_arm.R": "RightUpperArm", + "shoulder.L": "LeftShoulder", + "shoulder.R": "RightShoulder", + "leg.L": "LeftLowerLeg", + "leg.R": "RightLowerLeg", + "thigh.L": "LeftUpperLeg", + "thigh.R": "RightUpperLeg", + "foot.L": "LeftFoot", + "foot.R": "RightFoot", + "toe.L": "LeftToeBase", + "toe.R": "RightToeBase", +} + +const ANIM_PICK := { + "dasher_getting_hit": "Getting Hit", + "dasher_hit": "Hit", + "dasher_hold": "Hold", + "dasher_put": "Put", + "dasher_stun": "Stun", + "dasher_take": "bob ani", +} + +# Source bone rest transforms (from GLB) +var src_rest: Dictionary = {} # bone_name -> Transform3D +# Target bone rest transforms (from GeneralSkeleton) +var tgt_rest: Dictionary = {} # bone_name -> Transform3D +# Precomputed correction quaternions +var corrections: Dictionary = {} # bone_name -> Quaternion + +func _init() -> void: + print("[Convert] Headless run starting...") + + # Step 1: Load target skeleton rest poses from player scene + _load_target_rest() + + # Step 2: Convert each GLB + var dasher_dir := DirAccess.open(DASHER_DIR) + if not dasher_dir: + push_error("[Convert] Cannot open %s" % DASHER_DIR) + quit(1); return + + var converted: Array[String] = [] + for fname in dasher_dir.get_files(): + if not fname.ends_with(".glb"): continue + if not fname.begins_with("dasher_"): continue + var stem := fname.get_basename() + var out_path := "%s/%s.res" % [ANIM_DIR, stem] + var ok := _convert_one("%s/%s" % [DASHER_DIR, fname], stem, out_path) + if ok: + converted.append(out_path) + else: + push_warning("[Convert] Skipped %s" % fname) + + print("[Convert] Done. %d dasher glb(s) converted:" % converted.size()) + for p in converted: + print(" - %s" % p) + quit(0) + +func _load_target_rest() -> void: + # Load Masbro.glb directly to extract GeneralSkeleton rest poses + # (player.tscn may fail to load if dasher-pack.res doesn't exist yet) + var doc := GLTFDocument.new() + var state := GLTFState.new() + var err := doc.append_from_file("res://assets/characters/Masbro.glb", state) + if err != OK: + push_error("[Convert] Cannot load Masbro.glb: %d" % err) + return + + var instance = doc.generate_scene(state) + if not instance: + push_error("[Convert] generate_scene returned null for Masbro.glb") + return + + # Find the Skeleton3D (named GeneralSkeleton in the scene tree) + var skeleton: Skeleton3D = instance.find_child("GeneralSkeleton", true, false) + if not skeleton: + # Try finding any Skeleton3D + skeleton = instance.find_child("Skeleton3D", true, false) + if not skeleton: + push_error("[Convert] No Skeleton3D in Masbro.glb") + instance.free() + return + + print("[Convert] Target skeleton: '%s' with %d bones" % [skeleton.name, skeleton.get_bone_count()]) + for bone_idx in skeleton.get_bone_count(): + var bone_name := skeleton.get_bone_name(bone_idx) + tgt_rest[bone_name] = skeleton.get_bone_rest(bone_idx) + + instance.free() + print("[Convert] Loaded %d target bone rest poses" % tgt_rest.size()) + +func _convert_one(glb_path: String, anim_name: String, out_path: String) -> bool: + print("[Convert] %s -> %s" % [glb_path, out_path]) + var doc := GLTFDocument.new() + var state := GLTFState.new() + var err := doc.append_from_file(glb_path, state) + if err != OK: + push_error("[Convert] append_from_file failed: %d" % err) + return false + + var scene: Node = doc.generate_scene(state) + if not scene: + push_error("[Convert] generate_scene returned null") + return false + + # Extract source skeleton rest poses + src_rest.clear() + var src_skeleton: Skeleton3D = scene.find_child("Skeleton3D", true, false) + if src_skeleton: + for bone_idx in src_skeleton.get_bone_count(): + var bone_name := src_skeleton.get_bone_name(bone_idx) + src_rest[bone_name] = src_skeleton.get_bone_rest(bone_idx) + print(" Source skeleton: %d bones" % src_rest.size()) + else: + push_error("[Convert] No Skeleton3D in %s" % glb_path) + scene.queue_free() + return false + + # Compute per-bone correction quaternions + corrections.clear() + for src_bone in BONE_REMAP: + var tgt_bone: String = BONE_REMAP[src_bone] + if src_rest.has(src_bone) and tgt_rest.has(tgt_bone): + var src_basis: Basis = src_rest[src_bone].basis + var tgt_basis: Basis = tgt_rest[tgt_bone].basis + # correction = tgt_rest.inverse() * src_rest + # Applied as: final_q = correction * keyframe_q + corrections[src_bone] = tgt_basis.inverse() * src_basis + # print(" Correction for %s -> %s: %s" % [src_bone, tgt_bone, str(corrections[src_bone])]) + + var src_player: AnimationPlayer = scene.find_child("AnimationPlayer", true, false) + if not src_player: + push_error("[Convert] No AnimationPlayer in %s" % glb_path) + scene.queue_free() + return false + + # Pick the animation whose middle segment matches the keyword + var pick_keyword: String = ANIM_PICK.get(anim_name, anim_name.replace("dasher_", "")) + var picked: Animation = null + for lib_name in src_player.get_animation_library_list(): + var src_lib: AnimationLibrary = src_player.get_animation_library(lib_name) + for src_anim_name in src_lib.get_animation_list(): + var segments := src_anim_name.split("|") + var mid_segment: String = segments[1] if segments.size() >= 3 else src_anim_name + if pick_keyword.to_lower() == mid_segment.to_lower(): + picked = src_lib.get_animation(src_anim_name) + break + if picked: break + if not picked: + for lib_name in src_player.get_animation_library_list(): + var src_lib: AnimationLibrary = src_player.get_animation_library(lib_name) + if src_lib.get_animation_list().size() > 0: + picked = src_lib.get_animation(src_lib.get_animation_list()[0]) + break + if not picked: + push_error("[Convert] No animations in %s" % glb_path) + scene.queue_free() + return false + + var retargeted := _retarget(picked) + scene.queue_free() + + if retargeted.get_track_count() == 0: + push_error("[Convert] Retarget produced 0 tracks for %s" % glb_path) + return false + + var out_lib := AnimationLibrary.new() + out_lib.add_animation(anim_name, retargeted) + print(" + %s (%d tracks from %s)" % [anim_name, retargeted.get_track_count(), picked.resource_name if picked.resource_name else ""]) + + var save_err := ResourceSaver.save(out_lib, out_path) + if save_err != OK: + push_error("[Convert] ResourceSaver.save failed: %d" % save_err) + return false + return true + +func _retarget(src: Animation) -> Animation: + var dst := Animation.new() + dst.length = src.length + dst.loop_mode = src.loop_mode + dst.step = src.step + + var usable: Array[int] = [] + for i in src.get_track_count(): + var orig_path: String = src.track_get_path(i) + var bone := _extract_bone_name(orig_path) + if BONE_REMAP.has(bone): + usable.append(i) + + for i in usable: + var orig_path: String = src.track_get_path(i) + var bone: String = _extract_bone_name(orig_path) + var new_bone: String = BONE_REMAP[bone] + var new_path := "%%GeneralSkeleton:%s" % new_bone + + var track_type := src.track_get_type(i) + + match track_type: + Animation.TYPE_POSITION_3D: + if new_bone != "Hips": continue + dst.add_track(Animation.TYPE_POSITION_3D) + Animation.TYPE_ROTATION_3D: + dst.add_track(Animation.TYPE_ROTATION_3D) + Animation.TYPE_SCALE_3D: + if new_bone != "Hips": continue + dst.add_track(Animation.TYPE_SCALE_3D) + Animation.TYPE_BLEND_SHAPE: continue + _: continue + + var new_idx := dst.get_track_count() - 1 + dst.track_set_path(new_idx, NodePath(new_path)) + dst.track_set_interpolation_type(new_idx, src.track_get_interpolation_type(i)) + dst.track_set_imported(new_idx, src.track_is_imported(i)) + dst.track_set_enabled(new_idx, src.track_is_enabled(i)) + + var key_count := src.track_get_key_count(i) + for k in key_count: + var t: float = src.track_get_key_time(i, k) + var v: Variant = src.track_get_key_value(i, k) + var trans := src.track_get_key_transition(i, k) + + # Apply rest-pose correction to rotation tracks + if track_type == Animation.TYPE_ROTATION_3D and corrections.has(bone): + var orig_q: Quaternion = v + var corr_q: Quaternion = corrections[bone] + v = corr_q * orig_q + + dst.track_insert_key(new_idx, t, v) + dst.track_set_key_transition(new_idx, k, trans) + return dst + +func _extract_bone_name(path: String) -> String: + var parts := path.split(":") + if parts.size() < 2: + return "" + return parts[-1] diff --git a/tools/convert_dasher_animations_headless.gd.uid b/tools/convert_dasher_animations_headless.gd.uid new file mode 100644 index 0000000..24c00df --- /dev/null +++ b/tools/convert_dasher_animations_headless.gd.uid @@ -0,0 +1 @@ +uid://dgwmo0tdt8dwl diff --git a/tools/dump_anim_names.gd b/tools/dump_anim_names.gd new file mode 100644 index 0000000..c7a72bc --- /dev/null +++ b/tools/dump_anim_names.gd @@ -0,0 +1,20 @@ +extends SceneTree + +const DASHER_DIR := "res://assets/characters/dashers" + +func _init() -> void: + var dir := DirAccess.open(DASHER_DIR) + for fname in dir.get_files(): + if not fname.ends_with(".glb"): continue + var doc = GLTFDocument.new() + var state = GLTFState.new() + doc.append_from_file("%s/%s" % [DASHER_DIR, fname], state) + var scene = doc.generate_scene(state) + var ap: AnimationPlayer = scene.find_child("AnimationPlayer", true, false) + if ap: + print("=== %s ===" % fname) + for lib_name in ap.get_animation_library_list(): + var lib = ap.get_animation_library(lib_name) + for anim_name in lib.get_animation_list(): + print(" ", anim_name) + quit() diff --git a/tools/dump_anim_names.gd.uid b/tools/dump_anim_names.gd.uid new file mode 100644 index 0000000..0db1bf8 --- /dev/null +++ b/tools/dump_anim_names.gd.uid @@ -0,0 +1 @@ +uid://cau1rt1kfa32y diff --git a/tools/dump_bones.gd b/tools/dump_bones.gd new file mode 100644 index 0000000..86dda25 --- /dev/null +++ b/tools/dump_bones.gd @@ -0,0 +1,32 @@ +extends SceneTree + +func _init() -> void: + var scene = preload("res://scenes/player.tscn").instantiate() + var skel: Skeleton3D = null + + # Find GeneralSkeleton anywhere in the player scene + var queue = [scene] + while queue.size() > 0: + var n = queue.pop_front() + if n is Skeleton3D and n.name == "GeneralSkeleton": + skel = n + break + for c in n.get_children(): + queue.append(c) + + if skel: + print("Found GeneralSkeleton! Bones:") + for i in skel.get_bone_count(): + print(" - ", skel.get_bone_name(i)) + else: + print("GeneralSkeleton not found in player.tscn!") + print("Tree:") + _print_tree(scene, 0) + + quit() + +func _print_tree(n: Node, depth: int) -> void: + var indent = " ".repeat(depth) + print("%s- %s (%s)" % [indent, n.name, n.get_class()]) + for c in n.get_children(): + _print_tree(c, depth + 1) diff --git a/tools/dump_bones.gd.uid b/tools/dump_bones.gd.uid new file mode 100644 index 0000000..393e422 --- /dev/null +++ b/tools/dump_bones.gd.uid @@ -0,0 +1 @@ +uid://dxxtbdm3usgdp diff --git a/tools/dump_masbro.gd b/tools/dump_masbro.gd new file mode 100644 index 0000000..ede193b --- /dev/null +++ b/tools/dump_masbro.gd @@ -0,0 +1,15 @@ +extends SceneTree +func _init() -> void: + var scene = preload("res://scenes/player.tscn").instantiate() + var masbro = scene.get_node("Masbro") + if masbro: + print("Masbro found! Children:") + _print_tree(masbro, 0) + else: + print("No Masbro") + quit() +func _print_tree(n: Node, depth: int) -> void: + var indent = " ".repeat(depth) + print("%s- %s (%s)" % [indent, n.name, n.get_class()]) + for c in n.get_children(): + _print_tree(c, depth + 1) diff --git a/tools/dump_masbro.gd.uid b/tools/dump_masbro.gd.uid new file mode 100644 index 0000000..e285d21 --- /dev/null +++ b/tools/dump_masbro.gd.uid @@ -0,0 +1 @@ +uid://dt8bew0d4r6bp diff --git a/tools/test_types.gd b/tools/test_types.gd new file mode 100644 index 0000000..1b0d9f2 --- /dev/null +++ b/tools/test_types.gd @@ -0,0 +1,8 @@ +extends SceneTree + +func _init() -> void: + print("TYPE_VALUE: ", Animation.TYPE_VALUE) + print("TYPE_POSITION_3D: ", Animation.TYPE_POSITION_3D) + print("TYPE_ROTATION_3D: ", Animation.TYPE_ROTATION_3D) + print("TYPE_SCALE_3D: ", Animation.TYPE_SCALE_3D) + quit() diff --git a/tools/test_types.gd.uid b/tools/test_types.gd.uid new file mode 100644 index 0000000..92afea0 --- /dev/null +++ b/tools/test_types.gd.uid @@ -0,0 +1 @@ +uid://dl8svqqgt6m3n diff --git a/tools/verify_dasher.gd b/tools/verify_dasher.gd new file mode 100644 index 0000000..d8c6a6a --- /dev/null +++ b/tools/verify_dasher.gd @@ -0,0 +1,33 @@ +extends SceneTree + +func _init() -> void: + var lib = load("res://assets/characters/animations/dasher-pack.res") as AnimationLibrary + if not lib: + quit(1) + return + + var anim_name = "dasher_hit" + if lib.has_animation(anim_name): + var anim = lib.get_animation(anim_name) + print("Animation: ", anim_name) + var has_pos = 0 + var has_rot = 0 + var has_scale = 0 + var pos_bones = [] + + for i in anim.get_track_count(): + var type = anim.track_get_type(i) + var path = anim.track_get_path(i) + if type == Animation.TYPE_POSITION_3D: + has_pos += 1 + pos_bones.append(str(path)) + elif type == Animation.TYPE_ROTATION_3D: + has_rot += 1 + elif type == Animation.TYPE_SCALE_3D: + has_scale += 1 + + print(" Positions: ", has_pos, " (", pos_bones, ")") + print(" Rotations: ", has_rot) + print(" Scales: ", has_scale) + + quit(0) diff --git a/tools/verify_dasher.gd.uid b/tools/verify_dasher.gd.uid new file mode 100644 index 0000000..35e5418 --- /dev/null +++ b/tools/verify_dasher.gd.uid @@ -0,0 +1 @@ +uid://bleaj3miugqrm diff --git a/tools/verify_dasher_tracks.gd b/tools/verify_dasher_tracks.gd new file mode 100644 index 0000000..e3341ed --- /dev/null +++ b/tools/verify_dasher_tracks.gd @@ -0,0 +1,13 @@ +extends SceneTree + +func _init() -> void: + var lib = load("res://assets/characters/animations/dasher-pack.res") as AnimationLibrary + for anim_name in lib.get_animation_list(): + var anim = lib.get_animation(anim_name) + print("=== %s (%d tracks) ===" % [anim_name, anim.get_track_count()]) + for i in anim.get_track_count(): + var type = anim.track_get_type(i) + var path = anim.track_get_path(i) + var type_str = ["VALUE","POSITION","ROTATION","SCALE"][type] + print(" [%d] type=%s path=%s" % [i, type_str, path]) + quit() diff --git a/tools/verify_dasher_tracks.gd.uid b/tools/verify_dasher_tracks.gd.uid new file mode 100644 index 0000000..8c06e19 --- /dev/null +++ b/tools/verify_dasher_tracks.gd.uid @@ -0,0 +1 @@ +uid://yyhb801dk5ve diff --git a/tools/verify_pack.gd b/tools/verify_pack.gd new file mode 100644 index 0000000..030840e --- /dev/null +++ b/tools/verify_pack.gd @@ -0,0 +1,16 @@ +extends SceneTree + +func _init() -> void: + var lib = load("res://assets/characters/animations/dasher-pack.res") as AnimationLibrary + if not lib: + print("Failed to load dasher-pack.res") + quit(1) + return + + var anim_name = lib.get_animation_list()[0] + var anim = lib.get_animation(anim_name) + print("First animation: ", anim_name) + for i in min(anim.get_track_count(), 5): + print(" Track ", i, " path: ", anim.track_get_path(i)) + + quit(0) diff --git a/tools/verify_pack.gd.uid b/tools/verify_pack.gd.uid new file mode 100644 index 0000000..48430ee --- /dev/null +++ b/tools/verify_pack.gd.uid @@ -0,0 +1 @@ +uid://ce58ow1re1l24 diff --git a/tools/verify_raw.gd b/tools/verify_raw.gd new file mode 100644 index 0000000..5992c0c --- /dev/null +++ b/tools/verify_raw.gd @@ -0,0 +1,19 @@ +extends SceneTree + +func _init() -> void: + var doc = GLTFDocument.new() + var state = GLTFState.new() + var err = doc.append_from_file("res://assets/characters/dashers/dasher_hit.glb", state) + var scene = doc.generate_scene(state) + var ap: AnimationPlayer = scene.find_child("AnimationPlayer", true, false) + + var lib = ap.get_animation_library("") + var anim_name = "dasher_take|Hit|Anima_Layer" + if lib.has_animation(anim_name): + var anim = lib.get_animation(anim_name) + print("=== RAW TRACKS ===") + for i in anim.get_track_count(): + var type = anim.track_get_type(i) + var path = anim.track_get_path(i) + print(" Track ", i, " type: ", type, " path: ", path) + quit() diff --git a/tools/verify_raw.gd.uid b/tools/verify_raw.gd.uid new file mode 100644 index 0000000..fffdf26 --- /dev/null +++ b/tools/verify_raw.gd.uid @@ -0,0 +1 @@ +uid://dcoduco766d6w diff --git a/tools/verify_walk.gd b/tools/verify_walk.gd new file mode 100644 index 0000000..5e58604 --- /dev/null +++ b/tools/verify_walk.gd @@ -0,0 +1,34 @@ +extends SceneTree + +func _init() -> void: + var lib = load("res://assets/characters/animations/animation-pack.res") as AnimationLibrary + if not lib: + print("Failed to load animation-pack.res") + quit(1) + return + + var anim_name = "walk_forward" + if lib.has_animation(anim_name): + var anim = lib.get_animation(anim_name) + print("Animation: ", anim_name) + var has_pos = 0 + var has_rot = 0 + var has_scale = 0 + var pos_bones = [] + + for i in anim.get_track_count(): + var type = anim.track_get_type(i) + var path = anim.track_get_path(i) + if type == Animation.TYPE_POSITION_3D: + has_pos += 1 + pos_bones.append(str(path)) + elif type == Animation.TYPE_ROTATION_3D: + has_rot += 1 + elif type == Animation.TYPE_SCALE_3D: + has_scale += 1 + + print(" Positions: ", has_pos, " (", pos_bones, ")") + print(" Rotations: ", has_rot) + print(" Scales: ", has_scale) + + quit(0) diff --git a/tools/verify_walk.gd.uid b/tools/verify_walk.gd.uid new file mode 100644 index 0000000..4a1b04a --- /dev/null +++ b/tools/verify_walk.gd.uid @@ -0,0 +1 @@ +uid://c1boh2egfnnfu diff --git a/tools/verify_walk_tracks.gd b/tools/verify_walk_tracks.gd new file mode 100644 index 0000000..5f93e60 --- /dev/null +++ b/tools/verify_walk_tracks.gd @@ -0,0 +1,12 @@ +extends SceneTree + +func _init() -> void: + var lib = load("res://assets/characters/animations/animation-pack.res") as AnimationLibrary + var anim = lib.get_animation("walk_forward") + print("=== walk_forward tracks ===") + for i in anim.get_track_count(): + var type = anim.track_get_type(i) + var path = anim.track_get_path(i) + var type_str = ["VALUE","POSITION","ROTATION","SCALE"][type] + print(" [%d] type=%s path=%s" % [i, type_str, path]) + quit() diff --git a/tools/verify_walk_tracks.gd.uid b/tools/verify_walk_tracks.gd.uid new file mode 100644 index 0000000..858059b --- /dev/null +++ b/tools/verify_walk_tracks.gd.uid @@ -0,0 +1 @@ +uid://dajp15327baah