From 92f6f55bfa3f838fcbcb445a2bc2a271398c45fd Mon Sep 17 00:00:00 2001 From: Clifton Palmer Date: Tue, 6 May 2025 17:29:46 +0300 Subject: [PATCH 1/1] Added interpolated dashing --- player/fall.gd | 7 - player/fall.gd.uid | 1 - player/moves/Move.gd | 4 +- player/moves/dash.gd | 42 +++-- player/moves/idle.gd | 1 + player/moves/walk.gd | 4 + player/player.tscn | 7 +- skin/prototype_skin.tscn | 386 +++++++++++++++++++-------------------- 8 files changed, 236 insertions(+), 216 deletions(-) delete mode 100644 player/fall.gd delete mode 100644 player/fall.gd.uid diff --git a/player/fall.gd b/player/fall.gd deleted file mode 100644 index 0119254..0000000 --- a/player/fall.gd +++ /dev/null @@ -1,7 +0,0 @@ -extends Move -class_name Fall - - -func update(_input: InputPacket, delta: float): - player.velocity += player.get_gravity() * player.acceleration * delta - player.move_and_slide() diff --git a/player/fall.gd.uid b/player/fall.gd.uid deleted file mode 100644 index 18ec41d..0000000 --- a/player/fall.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://b0oj5iuvr8omo diff --git a/player/moves/Move.gd b/player/moves/Move.gd index 66916c4..1281478 100644 --- a/player/moves/Move.gd +++ b/player/moves/Move.gd @@ -10,8 +10,8 @@ var camera: Camera3D static var moves_priority: Dictionary = { "idle": 0, "walk": 1, - "dash": 2, - "fall": 100 + "fall": 50, + "dash": 100 } static func moves_priority_sort(a: String, b: String): diff --git a/player/moves/dash.gd b/player/moves/dash.gd index 9ab0583..aaf7081 100644 --- a/player/moves/dash.gd +++ b/player/moves/dash.gd @@ -2,15 +2,33 @@ extends Move class_name Dash -func update(input: InputPacket, _delta: float): - # Get the XZ input direction based on player's input relative to the camera - var forward := camera.global_basis.z - var right := camera.global_basis.x - var move_direction := ( - forward * input.movement_direction.y + right * input.movement_direction.x - ).normalized() - move_direction.y = 0 - - # TODO: check if new_pos is valid! - var new_pos := player.last_movement_direction * player.dash_length - player.global_position += new_pos +@onready var timer: Timer = $Timer + +var finished := false +var new_position: Vector3 + + +func should_enter(input: InputPacket) -> String: + if finished: + input.actions.sort_custom(moves_priority_sort) + return input.actions[0] + return "dash" + + +func update(_input: InputPacket, delta: float): + player.global_position = lerp( + player.global_position, + new_position, + (player.dash_length / timer.wait_time) * delta + ) + + +func on_enter_state(): + player.skin.transition_dash() + new_position = player.global_position + player.last_movement_direction * player.dash_length + finished = false + timer.start() + + +func _on_timer_timeout() -> void: + finished = true diff --git a/player/moves/idle.gd b/player/moves/idle.gd index f7bd955..123cd8d 100644 --- a/player/moves/idle.gd +++ b/player/moves/idle.gd @@ -9,6 +9,7 @@ func update(input: InputPacket, delta: float): func on_enter_state(): player.idle_time = 0.0 + player.skin.transition_move() func on_exit_state(): diff --git a/player/moves/walk.gd b/player/moves/walk.gd index cf031aa..8d92aa7 100644 --- a/player/moves/walk.gd +++ b/player/moves/walk.gd @@ -31,8 +31,12 @@ func update(input: InputPacket, delta: float): ), player.rotation_speed * delta * 0.25 ) + + player.skin.set_walking_speed(player.velocity.length()) +func on_enter_state(): + player.skin.transition_move() func get_new_velocity_from_input(input: InputPacket, delta: float) -> Vector3: diff --git a/player/player.tscn b/player/player.tscn index 0b94209..a51c523 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -8,7 +8,7 @@ [ext_resource type="Script" uid="uid://bv5k167ugxmso" path="res://player/moves/idle.gd" id="6_g6k8r"] [ext_resource type="Script" uid="uid://cqurhmxam2nl0" path="res://player/moves/walk.gd" id="7_rgyib"] [ext_resource type="Script" uid="uid://bdiks0m7vsn5w" path="res://player/moves/dash.gd" id="8_hg6s5"] -[ext_resource type="Script" uid="uid://b0oj5iuvr8omo" path="res://player/fall.gd" id="9_hg6s5"] +[ext_resource type="Script" uid="uid://b0oj5iuvr8omo" path="res://player/moves/fall.gd" id="9_hg6s5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"] @@ -53,6 +53,11 @@ script = ExtResource("7_rgyib") [node name="Dash" type="Node" parent="Model"] script = ExtResource("8_hg6s5") +[node name="Timer" type="Timer" parent="Model/Dash"] +wait_time = 0.25 + [node name="Fall" type="Node" parent="Model"] script = ExtResource("9_hg6s5") metadata/_custom_type_script = "uid://c886t1c86q0m6" + +[connection signal="timeout" from="Model/Dash/Timer" to="Model/Dash" method="_on_timer_timeout"] diff --git a/skin/prototype_skin.tscn b/skin/prototype_skin.tscn index df92d7d..c653b43 100644 --- a/skin/prototype_skin.tscn +++ b/skin/prototype_skin.tscn @@ -83,80 +83,80 @@ node_connections = [&"TimeScale", 0, &"movement", &"TimeScale 2", 0, &"Animation script = ExtResource("2_bmadk") [node name="Skeleton3D" parent="." index="0"] -bones/0/position = Vector3(0.261016, 0.827375, 0.246751) -bones/0/rotation = Quaternion(0.557085, -0.610793, 0.0732431, 0.557874) -bones/1/position = Vector3(-0.284921, 0.821391, -0.181958) -bones/1/rotation = Quaternion(0.412721, 0.451276, 0.412541, 0.675145) -bones/3/position = Vector3(0.00374505, 0.967373, 8.30963e-05) -bones/3/rotation = Quaternion(0.0199816, -0.329916, -0.00216205, 0.943796) +bones/0/position = Vector3(0.255873, 0.842351, 0.257018) +bones/0/rotation = Quaternion(0.547158, -0.630382, 0.0729679, 0.545812) +bones/1/position = Vector3(-0.296739, 0.832353, -0.17782) +bones/1/rotation = Quaternion(0.410752, 0.449975, 0.41196, 0.677565) +bones/3/position = Vector3(-0.00317644, 0.970107, 0.00542627) +bones/3/rotation = Quaternion(0.0145589, -0.330526, -0.00234417, 0.943682) bones/4/rotation = Quaternion(-0.0801557, -2.41264e-07, -4.07088e-07, 0.996782) -bones/5/rotation = Quaternion(0.100109, 0.0415746, -0.0105478, 0.994052) +bones/5/rotation = Quaternion(0.0948791, 0.0410984, -0.00984408, 0.994591) bones/5/scale = Vector3(1, 1, 1) -bones/6/rotation = Quaternion(0.112823, 0.123869, -0.0121451, 0.985789) +bones/6/rotation = Quaternion(0.107621, 0.122443, -0.0114329, 0.986557) bones/6/scale = Vector3(1, 0.999996, 1) -bones/7/rotation = Quaternion(0.205608, -0.0107313, 0.0034584, 0.978569) -bones/8/rotation = Quaternion(-0.165328, 0.180657, -0.0308184, 0.969061) -bones/9/rotation = Quaternion(-0.0637934, -0.00643369, -0.0272832, 0.997569) -bones/10/position = Vector3(0.00374504, 0.967373, 8.30935e-05) -bones/10/rotation = Quaternion(0.259241, 0.850057, 0.444869, -0.110854) -bones/11/position = Vector3(0.00374517, 0.967373, 8.31895e-05) -bones/11/rotation = Quaternion(-0.465129, 0.600452, 0.184689, 0.6237) -bones/12/position = Vector3(0.0779911, 0.898842, 0.0367176) -bones/12/rotation = Quaternion(0.920408, 0.0267947, 0.320788, 0.22187) -bones/12/scale = Vector3(1.01666, 0.9675, 1.01666) -bones/13/rotation = Quaternion(-7.1744e-08, -0.0243355, -3.53024e-08, 0.999704) -bones/14/rotation = Quaternion(0.180629, -0.0240677, 0.00425817, 0.983248) -bones/14/scale = Vector3(0.999989, 0.994207, 1.00638) -bones/15/rotation = Quaternion(5.58569e-08, 0.0366958, 3.14645e-08, 0.999326) -bones/16/rotation = Quaternion(-0.409985, 0.0354308, 0.108104, 0.90497) -bones/16/scale = Vector3(0.985342, 1.00355, 1.01261) -bones/17/rotation = Quaternion(-0.0234194, 0.934888, -0.35379, -0.0163819) +bones/7/rotation = Quaternion(0.226928, -0.010138, 0.00281294, 0.973855) +bones/8/rotation = Quaternion(-0.165356, 0.179767, -0.0306663, 0.969227) +bones/9/rotation = Quaternion(-0.0485325, -0.00390478, -0.0174275, 0.998662) +bones/10/position = Vector3(-0.00317646, 0.970107, 0.00542627) +bones/10/rotation = Quaternion(0.261209, 0.851849, 0.440938, -0.108155) +bones/11/position = Vector3(-0.00317632, 0.970107, 0.00542637) +bones/11/rotation = Quaternion(-0.467207, 0.601908, 0.180107, 0.622082) +bones/12/position = Vector3(0.0707533, 0.901658, 0.0428463) +bones/12/rotation = Quaternion(0.921665, 0.0305327, 0.321693, 0.214745) +bones/12/scale = Vector3(1.01669, 0.967441, 1.01669) +bones/13/rotation = Quaternion(-1.22986e-07, -0.0245759, -4.10061e-08, 0.999698) +bones/14/rotation = Quaternion(0.175418, -0.0254255, 0.00436322, 0.984156) +bones/14/scale = Vector3(0.999989, 0.994191, 1.00639) +bones/15/rotation = Quaternion(-3.75791e-08, 0.0369838, 1.0712e-08, 0.999316) +bones/16/rotation = Quaternion(-0.41303, 0.0362973, 0.109206, 0.903417) +bones/16/scale = Vector3(0.985371, 1.00299, 1.01309) +bones/17/rotation = Quaternion(-0.024165, 0.934336, -0.355366, -0.0121824) bones/17/scale = Vector3(0.999462, 1.00037, 1.00017) -bones/18/position = Vector3(-0.0504379, 0.901674, -0.0654833) -bones/18/rotation = Quaternion(0.938653, -0.104991, 0.327072, -0.0305298) -bones/18/scale = Vector3(1.01788, 0.96518, 1.01788) -bones/19/rotation = Quaternion(-3.00871e-09, 0.0877521, -2.19897e-09, 0.996142) -bones/20/rotation = Quaternion(0.213644, 0.0870434, -0.0183907, 0.972852) -bones/20/scale = Vector3(0.999991, 0.991346, 1.00958) -bones/21/rotation = Quaternion(1.36143e-08, 0.0721779, 4.92577e-08, 0.997392) -bones/22/rotation = Quaternion(-0.556357, 0.0711124, -0.10836, 0.820773) -bones/22/scale = Vector3(0.986173, 0.988683, 1.02662) -bones/23/rotation = Quaternion(-0.00217116, 0.936951, -0.34943, -0.00412756) +bones/18/position = Vector3(-0.0575325, 0.903964, -0.0595477) +bones/18/rotation = Quaternion(0.938392, -0.102573, 0.328216, -0.0342664) +bones/18/scale = Vector3(1.01532, 0.970059, 1.01532) +bones/19/rotation = Quaternion(-7.70385e-10, 0.086999, 1.27716e-08, 0.996208) +bones/20/rotation = Quaternion(0.215068, 0.0864443, -0.018495, 0.97259) +bones/20/scale = Vector3(0.999992, 0.992173, 1.00852) +bones/21/rotation = Quaternion(-3.69935e-08, 0.0721317, -7.4503e-09, 0.997395) +bones/22/rotation = Quaternion(-0.561055, 0.0714733, -0.109943, 0.817326) +bones/22/scale = Vector3(0.988316, 0.989831, 1.02291) +bones/23/rotation = Quaternion(-0.00195269, 0.937019, -0.349253, -0.00363733) bones/23/scale = Vector3(0.999647, 1.00025, 1.0001) -bones/24/position = Vector3(0.0572297, 1.57458, 0.162382) -bones/24/rotation = Quaternion(0.148444, -0.0977271, -0.0709304, 0.981521) -bones/25/position = Vector3(0.0612029, 1.60879, 0.173441) -bones/25/rotation = Quaternion(-0.404099, 0.00332809, -0.377444, 0.833204) -bones/26/position = Vector3(0.0798252, 1.62038, 0.153347) -bones/26/rotation = Quaternion(0.761871, -0.0361511, 0.637951, -0.10613) +bones/24/position = Vector3(0.0517747, 1.57737, 0.163118) +bones/24/rotation = Quaternion(0.1702, -0.0970898, -0.0620517, 0.97865) +bones/25/position = Vector3(0.0549644, 1.6112, 0.175643) +bones/25/rotation = Quaternion(-0.385611, 0.00480359, -0.369344, 0.845498) +bones/26/position = Vector3(0.0734354, 1.62398, 0.156138) +bones/26/rotation = Quaternion(0.758216, -0.0410669, 0.637793, -0.129004) bones/26/scale = Vector3(1.00001, 0.999978, 1.00001) bones/27/scale = Vector3(0.999989, 1.00002, 0.999994) -bones/28/position = Vector3(0.0665911, 1.55683, 0.161434) -bones/28/rotation = Quaternion(0.11752, -0.390795, 0.210041, 0.888455) -bones/29/position = Vector3(-0.107807, 1.56413, 0.159616) -bones/29/rotation = Quaternion(0.140871, 0.0908719, 0.134573, 0.976621) -bones/30/position = Vector3(-0.116435, 1.59751, 0.170539) -bones/30/rotation = Quaternion(-0.409175, -0.0421183, 0.422202, 0.807804) -bones/31/position = Vector3(-0.13573, 1.60667, 0.149864) -bones/31/rotation = Quaternion(0.768375, 0.0854429, -0.630887, -0.0654263) +bones/28/position = Vector3(0.0614886, 1.55988, 0.161545) +bones/28/rotation = Quaternion(0.139772, -0.396061, 0.211622, 0.882505) +bones/29/position = Vector3(-0.113034, 1.56364, 0.159132) +bones/29/rotation = Quaternion(0.159985, 0.0870801, 0.147275, 0.972179) +bones/30/position = Vector3(-0.122387, 1.5964, 0.171316) +bones/30/rotation = Quaternion(-0.392741, -0.0573782, 0.42884, 0.811516) +bones/31/position = Vector3(-0.141754, 1.60603, 0.150888) +bones/31/rotation = Quaternion(0.767459, 0.107051, -0.627688, -0.074525) bones/31/scale = Vector3(1.00001, 0.999994, 1) -bones/33/position = Vector3(-0.114809, 1.54536, 0.15844) -bones/33/rotation = Quaternion(0.0962454, 0.382904, -0.152134, 0.906078) -bones/34/position = Vector3(-0.0229353, 1.50629, 0.261984) -bones/34/rotation = Quaternion(-0.615288, -0.0256594, 0.0196542, 0.78764) -bones/35/position = Vector3(-0.0243346, 1.5183, 0.30176) -bones/35/rotation = Quaternion(-0.762145, -0.0291094, 0.0140465, 0.646599) +bones/33/position = Vector3(-0.119634, 1.54479, 0.157147) +bones/33/rotation = Quaternion(0.111481, 0.384738, -0.134101, 0.906403) +bones/34/position = Vector3(-0.0274365, 1.50341, 0.2595) +bones/34/rotation = Quaternion(-0.598382, -0.034649, 0.0260155, 0.800038) +bones/35/position = Vector3(-0.0292696, 1.51361, 0.299752) +bones/35/rotation = Quaternion(-0.748107, -0.0392015, 0.0184541, 0.662162) bones/35/scale = Vector3(1.00001, 0.999983, 1.00001) bones/36/rotation = Quaternion(0.172811, -6.05809e-08, 3.59375e-07, 0.984955) bones/36/scale = Vector3(0.99999, 1.00002, 0.999994) -bones/37/position = Vector3(-0.00839127, 1.52473, 0.272081) -bones/37/rotation = Quaternion(-0.122177, 0.60135, 0.761608, 0.208337) -bones/38/position = Vector3(-0.040004, 1.52273, 0.271565) -bones/38/rotation = Quaternion(0.0719509, 0.611116, 0.748972, -0.245767) -bones/39/position = Vector3(0.0191412, 1.58035, 0.247295) -bones/39/rotation = Quaternion(-0.0256588, 0.615288, 0.78764, -0.0196544) -bones/40/position = Vector3(-0.00336599, 1.57003, 0.264033) -bones/40/rotation = Quaternion(0.728514, 0.585436, 0.277233, -0.222878) +bones/37/position = Vector3(-0.0133304, 1.52172, 0.270425) +bones/37/rotation = Quaternion(-0.126146, 0.583386, 0.775924, 0.204179) +bones/38/position = Vector3(-0.0448914, 1.51908, 0.269655) +bones/38/rotation = Quaternion(0.0583374, 0.596639, 0.759112, -0.253707) +bones/39/position = Vector3(0.0131592, 1.57892, 0.248052) +bones/39/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155) +bones/40/position = Vector3(-0.00922233, 1.56741, 0.264273) +bones/40/rotation = Quaternion(0.716653, 0.587847, 0.288865, -0.239586) bones/40/scale = Vector3(0.999995, 1.00001, 0.999995) bones/41/rotation = Quaternion(0.0748491, -0.0181048, -0.043127, 0.996097) bones/41/scale = Vector3(1.00001, 0.999982, 1.00001) @@ -164,8 +164,8 @@ bones/42/rotation = Quaternion(0.274347, -0.0136375, -0.129823, 0.95273) bones/42/scale = Vector3(0.999995, 1.00001, 0.999997) bones/43/rotation = Quaternion(0.278039, -0.00341864, 0.067147, 0.958214) bones/43/scale = Vector3(1, 0.999998, 1) -bones/44/position = Vector3(0.0417369, 1.58212, 0.248581) -bones/44/rotation = Quaternion(-0.625044, 0.613818, 0.296058, -0.380653) +bones/44/position = Vector3(0.0357074, 1.5811, 0.249532) +bones/44/rotation = Quaternion(-0.640169, 0.601701, 0.303175, -0.369085) bones/44/scale = Vector3(1, 0.999997, 1) bones/45/rotation = Quaternion(0.216098, -2.38372e-06, 7.31266e-05, 0.976372) bones/45/scale = Vector3(0.999997, 1, 0.999998) @@ -173,12 +173,12 @@ bones/46/rotation = Quaternion(0.356984, 0.00871236, -0.115499, 0.926902) bones/46/scale = Vector3(0.999999, 1, 0.999997) bones/47/rotation = Quaternion(0.0323356, 0.0279349, -0.125373, 0.991189) bones/47/scale = Vector3(1.00001, 0.999983, 1.00001) -bones/48/position = Vector3(0.0191412, 1.58035, 0.247295) -bones/48/rotation = Quaternion(-0.0256594, 0.615288, 0.787639, -0.0196543) -bones/50/position = Vector3(-0.0735213, 1.57454, 0.245737) -bones/50/rotation = Quaternion(-0.0256588, 0.615288, 0.78764, -0.0196544) -bones/51/position = Vector3(-0.0504258, 1.56706, 0.263266) -bones/51/rotation = Quaternion(0.768092, -0.535051, -0.278763, -0.214583) +bones/48/position = Vector3(0.0131592, 1.57892, 0.248052) +bones/48/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155) +bones/50/position = Vector3(-0.079372, 1.57121, 0.245794) +bones/50/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155) +bones/51/position = Vector3(-0.0562052, 1.56349, 0.263127) +bones/51/rotation = Quaternion(0.769834, -0.52026, -0.290266, -0.228977) bones/51/scale = Vector3(1, 0.999997, 1) bones/52/rotation = Quaternion(0.0748466, 0.0181067, 0.0431008, 0.996099) bones/52/scale = Vector3(0.999999, 1, 0.999999) @@ -186,8 +186,8 @@ bones/53/rotation = Quaternion(0.274349, 0.0136351, 0.129833, 0.952728) bones/53/scale = Vector3(0.999999, 1, 0.999999) bones/54/rotation = Quaternion(0.27804, 0.00341749, -0.0671438, 0.958214) bones/54/scale = Vector3(0.999997, 1.00001, 0.999996) -bones/55/position = Vector3(-0.0961886, 1.57344, 0.246285) -bones/55/rotation = Quaternion(0.580542, 0.645447, 0.32939, 0.37131) +bones/55/position = Vector3(-0.102013, 1.56961, 0.246172) +bones/55/rotation = Quaternion(0.580394, 0.643669, 0.348264, 0.357136) bones/55/scale = Vector3(1.00001, 0.999987, 1.00001) bones/56/rotation = Quaternion(0.216093, 4.47298e-06, -8.28337e-05, 0.976373) bones/56/scale = Vector3(0.999988, 1.00002, 0.999992) @@ -195,168 +195,168 @@ bones/57/rotation = Quaternion(0.356984, -0.0087149, 0.115506, 0.926901) bones/57/scale = Vector3(1, 0.999998, 0.999997) bones/58/rotation = Quaternion(0.0323454, -0.0279339, 0.125381, 0.991188) bones/58/scale = Vector3(1, 0.999999, 1) -bones/59/position = Vector3(-0.0735213, 1.57454, 0.245737) -bones/59/rotation = Quaternion(-0.0256592, 0.615288, 0.78764, -0.0196542) -bones/61/position = Vector3(-0.0210643, 1.47981, 0.249026) -bones/61/rotation = Quaternion(-0.615288, -0.0256588, 0.0196544, 0.78764) -bones/62/position = Vector3(-0.0213702, 1.4877, 0.237451) -bones/62/rotation = Quaternion(-0.526026, -0.0233708, 0.0223269, 0.849854) -bones/65/position = Vector3(-0.0259957, 1.5725, 0.191151) -bones/65/rotation = Quaternion(0.984917, 0.0294477, 0.013324, 0.169985) -bones/66/position = Vector3(-0.018158, 1.43583, 0.239816) -bones/66/rotation = Quaternion(0.30039, 0.00165655, 0.0322792, 0.953269) +bones/59/position = Vector3(-0.079372, 1.57121, 0.245794) +bones/59/rotation = Quaternion(-0.0346487, 0.598382, 0.800038, -0.0260156) +bones/61/position = Vector3(-0.0249285, 1.47744, 0.245472) +bones/61/rotation = Quaternion(-0.598383, -0.034649, 0.0260155, 0.800038) +bones/62/position = Vector3(-0.0253514, 1.4858, 0.234235) +bones/62/rotation = Quaternion(-0.507873, -0.0316159, 0.0296277, 0.860342) +bones/65/position = Vector3(-0.0315332, 1.57246, 0.191362) +bones/65/rotation = Quaternion(0.987853, 0.0393023, 0.0182398, 0.149227) +bones/66/position = Vector3(-0.0210323, 1.43396, 0.234446) +bones/66/rotation = Quaternion(0.320187, 0.00180486, 0.0432909, 0.946363) bones/66/scale = Vector3(0.999995, 1.00001, 0.999996) bones/67/scale = Vector3(1.00001, 0.999993, 1) -bones/68/position = Vector3(-0.0183996, 1.45243, 0.190715) -bones/68/rotation = Quaternion(0.81211, 0.0206859, 0.0248356, 0.582609) -bones/69/position = Vector3(0.0571544, 1.57779, 0.192533) -bones/69/rotation = Quaternion(0.994846, -0.0591578, -0.0139404, -0.0811673) -bones/72/position = Vector3(-0.109128, 1.56729, 0.189724) -bones/72/rotation = Quaternion(0.988841, 0.122566, 0.0249854, -0.0809091) -bones/75/position = Vector3(-0.0225179, 1.49685, 0.272755) -bones/75/rotation = Quaternion(-0.45948, -0.392432, -0.460564, 0.650197) +bones/68/position = Vector3(-0.021436, 1.45261, 0.186114) +bones/68/rotation = Quaternion(0.823807, 0.0274091, 0.0335581, 0.565212) +bones/69/position = Vector3(0.0514938, 1.57938, 0.193388) +bones/69/rotation = Quaternion(0.993536, -0.0479684, -0.0135437, -0.101993) +bones/72/position = Vector3(-0.11456, 1.56553, 0.189336) +bones/72/rotation = Quaternion(0.98549, 0.132824, 0.0291673, -0.10157) +bones/75/position = Vector3(-0.0268579, 1.49343, 0.269884) +bones/75/rotation = Quaternion(-0.440367, -0.389228, -0.462846, 0.66359) bones/76/rotation = Quaternion(-0.15209, -0.0958223, 0.266082, 0.947041) bones/76/scale = Vector3(0.999994, 1.00001, 0.999993) -bones/77/position = Vector3(-0.0225179, 1.49685, 0.272755) -bones/77/rotation = Quaternion(-0.49053, 0.352329, 0.492799, 0.626414) +bones/77/position = Vector3(-0.0268579, 1.49343, 0.269884) +bones/77/rotation = Quaternion(-0.482299, 0.335051, 0.505541, 0.632105) bones/78/rotation = Quaternion(-0.152094, 0.095823, -0.266084, 0.94704) bones/78/scale = Vector3(0.999994, 1.00001, 0.999994) -bones/79/position = Vector3(-0.0215736, 1.48367, 0.265478) -bones/79/rotation = Quaternion(-0.402157, -0.375282, -0.383097, 0.742072) +bones/79/position = Vector3(-0.0255962, 1.48059, 0.262068) +bones/79/rotation = Quaternion(-0.381514, -0.373325, -0.383911, 0.753451) bones/79/scale = Vector3(1, 0.999999, 1) bones/80/rotation = Quaternion(-0.00824502, 0.0772326, 0.0389061, 0.99622) bones/80/scale = Vector3(1, 0.999999, 1) -bones/81/position = Vector3(-0.0215736, 1.48367, 0.265478) -bones/81/rotation = Quaternion(-0.431012, 0.337298, 0.42218, 0.72265) +bones/81/position = Vector3(-0.0255962, 1.48059, 0.262068) +bones/81/rotation = Quaternion(-0.420437, 0.321906, 0.435805, 0.727793) bones/81/scale = Vector3(0.999996, 1.00001, 0.999996) bones/82/rotation = Quaternion(-0.00825141, -0.0772324, -0.0389073, 0.99622) bones/82/scale = Vector3(1.00001, 0.999987, 1.00001) -bones/83/position = Vector3(0.0433721, 1.58819, 0.251868) -bones/83/rotation = Quaternion(0.147918, 0.489073, 0.633331, 0.581223) +bones/83/position = Vector3(0.0372011, 1.58706, 0.253072) +bones/83/rotation = Quaternion(0.153213, 0.4758, 0.649995, 0.572404) bones/83/scale = Vector3(0.999994, 1.00001, 0.999994) bones/84/rotation = Quaternion(-0.223178, 5.86239e-06, 0.0152086, 0.974659) bones/84/scale = Vector3(1.00001, 0.999993, 1) bones/85/rotation = Quaternion(-0.299458, -3.83782e-06, -0.0939993, 0.949468) bones/86/scale = Vector3(0.999999, 1, 0.999999) -bones/87/position = Vector3(-0.00739297, 1.5754, 0.263426) -bones/87/rotation = Quaternion(-0.384503, 0.0929387, 0.91672, 0.0560775) +bones/87/position = Vector3(-0.0133585, 1.57271, 0.263865) +bones/87/rotation = Quaternion(-0.386525, 0.0694324, 0.918045, 0.0545145) bones/87/scale = Vector3(1, 0.999989, 1) bones/88/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/89/position = Vector3(-0.0986828, 1.57925, 0.249501) -bones/89/rotation = Quaternion(0.188474, -0.48824, -0.593254, 0.611678) +bones/89/position = Vector3(-0.104644, 1.57523, 0.249611) +bones/89/rotation = Quaternion(0.207973, -0.475189, -0.596277, 0.612696) bones/89/scale = Vector3(0.999998, 1, 0.999998) bones/90/rotation = Quaternion(-0.223161, 1.53166e-06, -0.0151752, 0.974664) bones/90/scale = Vector3(1, 0.999999, 1) bones/91/rotation = Quaternion(-0.29947, -3.38501e-06, 0.0939802, 0.949466) bones/92/rotation = Quaternion(-0.172941, 1.6437e-06, -0.173091, 0.969603) bones/92/scale = Vector3(1, 0.999994, 1) -bones/93/position = Vector3(-0.0470884, 1.57289, 0.262779) -bones/93/rotation = Quaternion(0.363006, 0.117701, 0.917539, -0.11178) +bones/93/position = Vector3(-0.0529891, 1.56941, 0.262898) +bones/93/rotation = Quaternion(0.356989, 0.102615, 0.919463, -0.128906) bones/93/scale = Vector3(0.999998, 1, 0.999998) bones/94/scale = Vector3(1, 0.999989, 1.00001) -bones/95/position = Vector3(0.0493704, 1.58194, 0.22278) -bones/95/rotation = Quaternion(0.466871, -0.287869, -0.106319, 0.829372) -bones/96/position = Vector3(0.0460277, 1.60148, 0.252976) -bones/96/rotation = Quaternion(0.658285, -0.398591, 0.180479, 0.612547) -bones/98/position = Vector3(-0.00907496, 1.58901, 0.280656) -bones/98/rotation = Quaternion(0.753233, -0.406013, 0.498578, 0.138614) -bones/99/position = Vector3(-0.10291, 1.57235, 0.220218) -bones/99/rotation = Quaternion(0.446168, 0.303, 0.165543, 0.825664) -bones/100/position = Vector3(-0.103028, 1.5921, 0.250489) -bones/100/rotation = Quaternion(0.634912, 0.428981, -0.131108, 0.629025) -bones/102/position = Vector3(-0.0476927, 1.58657, 0.280026) -bones/102/rotation = Quaternion(0.734362, 0.450019, -0.47664, 0.176095) -bones/103/position = Vector3(0.00950094, 1.4977, 0.252986) -bones/103/rotation = Quaternion(-0.380627, -0.284672, -0.31914, 0.819899) -bones/105/position = Vector3(-0.053736, 1.49382, 0.251944) -bones/105/rotation = Quaternion(-0.402812, 0.246965, 0.363566, 0.802851) -bones/107/position = Vector3(0.0493704, 1.58194, 0.22278) -bones/107/rotation = Quaternion(0.809209, -0.335624, -0.451237, 0.170066) -bones/109/position = Vector3(-0.10291, 1.57235, 0.220218) -bones/109/rotation = Quaternion(0.779205, 0.382766, 0.474066, 0.14694) -bones/111/position = Vector3(-0.016568, 1.64236, 0.273503) -bones/111/rotation = Quaternion(0.707293, 0.0958133, 0.700396, -0.00130073) -bones/112/position = Vector3(0.0110643, 1.65196, 0.26191) -bones/112/rotation = Quaternion(0.784129, 0.164913, 0.598216, 0.0091062) -bones/113/position = Vector3(0.0328132, 1.655, 0.241062) -bones/113/rotation = Quaternion(0.920328, 0.149187, 0.356971, 0.0575482) -bones/114/position = Vector3(-0.0467437, 1.64045, 0.273011) -bones/114/rotation = Quaternion(0.723177, -0.0513604, -0.687532, 0.040947) -bones/115/position = Vector3(-0.0749725, 1.64652, 0.260506) -bones/115/rotation = Quaternion(0.802515, -0.115682, -0.583667, 0.0438213) -bones/116/position = Vector3(-0.0962881, 1.64687, 0.238875) -bones/116/rotation = Quaternion(0.933529, -0.0922564, -0.337686, 0.0773299) -bones/117/position = Vector3(-0.0274107, 1.57355, 0.275849) -bones/117/rotation = Quaternion(0.978628, 0.0289816, 0.0143087, 0.203082) +bones/95/position = Vector3(0.0434763, 1.58214, 0.223756) +bones/95/rotation = Quaternion(0.487478, -0.282637, -0.102247, 0.819772) +bones/96/position = Vector3(0.0395755, 1.60035, 0.254733) +bones/96/rotation = Quaternion(0.674758, -0.39674, 0.180303, 0.595643) +bones/98/position = Vector3(-0.0154059, 1.58556, 0.28163) +bones/98/rotation = Quaternion(0.75903, -0.408612, 0.493313, 0.116417) +bones/99/position = Vector3(-0.108591, 1.56946, 0.220046) +bones/99/rotation = Quaternion(0.459677, 0.302156, 0.181829, 0.815068) +bones/100/position = Vector3(-0.109263, 1.58794, 0.251102) +bones/100/rotation = Quaternion(0.643643, 0.436839, -0.113732, 0.61803) +bones/102/position = Vector3(-0.0539606, 1.58235, 0.280689) +bones/102/rotation = Quaternion(0.734217, 0.467319, -0.463338, 0.166902) +bones/103/position = Vector3(0.00521427, 1.49588, 0.250335) +bones/103/rotation = Quaternion(-0.359476, -0.284053, -0.317174, 0.830356) +bones/105/position = Vector3(-0.0579078, 1.49062, 0.248794) +bones/105/rotation = Quaternion(-0.389438, 0.232934, 0.376242, 0.807788) +bones/107/position = Vector3(0.0434763, 1.58214, 0.223756) +bones/107/rotation = Quaternion(0.817283, -0.317818, -0.454282, 0.157058) +bones/109/position = Vector3(-0.108591, 1.56946, 0.220046) +bones/109/rotation = Quaternion(0.776764, 0.380718, 0.485492, 0.126446) +bones/111/position = Vector3(-0.0239867, 1.639, 0.276634) +bones/111/rotation = Quaternion(0.704277, 0.0887014, 0.703974, -0.0233988) +bones/112/position = Vector3(0.00349081, 1.64963, 0.265595) +bones/112/rotation = Quaternion(0.780824, 0.160724, 0.603575, -0.0133338) +bones/113/position = Vector3(0.0253102, 1.65403, 0.244931) +bones/113/rotation = Quaternion(0.918776, 0.151397, 0.362931, 0.0347893) +bones/114/position = Vector3(-0.0541131, 1.63648, 0.275899) +bones/114/rotation = Quaternion(0.726114, -0.0292792, -0.686157, 0.0330286) +bones/115/position = Vector3(-0.0824054, 1.64247, 0.2635) +bones/115/rotation = Quaternion(0.805919, -0.0949143, -0.583438, 0.0329626) +bones/116/position = Vector3(-0.103624, 1.64327, 0.241785) +bones/116/rotation = Quaternion(0.936728, -0.0753298, -0.336346, 0.0611359) +bones/117/position = Vector3(-0.03339, 1.56993, 0.276091) +bones/117/rotation = Quaternion(0.982263, 0.0386652, 0.019554, 0.182434) bones/118/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/119/position = Vector3(-0.02399, 1.51887, 0.277935) -bones/119/rotation = Quaternion(0.988395, 0.0321439, 0.00338562, -0.14843) +bones/119/position = Vector3(-0.0288293, 1.5153, 0.275948) +bones/119/rotation = Quaternion(0.984653, 0.0430445, 0.00495235, -0.169058) bones/119/scale = Vector3(1, 0.999997, 1) -bones/120/position = Vector3(0.0477975, 1.64649, 0.207108) -bones/120/rotation = Quaternion(0.992426, 0.0665323, -0.00234075, -0.103238) -bones/121/position = Vector3(-0.109005, 1.63653, 0.204546) -bones/121/rotation = Quaternion(0.994475, -0.00265459, 0.0119908, -0.104249) -bones/122/position = Vector3(0.0465869, 1.36949, 0.0448182) -bones/122/rotation = Quaternion(-0.355303, -0.371863, -0.647506, 0.562329) -bones/123/position = Vector3(0.154133, 1.35956, 0.0536439) -bones/123/rotation = Quaternion(0.911506, 0.150641, 0.382598, 0.00915334) -bones/123/scale = Vector3(1.03839, 0.927423, 1.03839) -bones/124/rotation = Quaternion(1.35626e-08, -0.107806, -3.04589e-08, 0.994172) -bones/125/rotation = Quaternion(-0.17432, -0.107371, -0.0173117, 0.978665) -bones/125/scale = Vector3(0.999863, 0.988034, 1.01499) -bones/126/rotation = Quaternion(-1.07487e-08, 0.0934087, -4.46292e-09, 0.995628) -bones/127/rotation = Quaternion(-0.114956, 0.0921874, -0.191477, 0.970373) -bones/127/scale = Vector3(0.981402, 1.05732, 0.967505) -bones/128/rotation = Quaternion(-0.0665079, 0.705397, -0.0201158, 0.705399) -bones/129/rotation = Quaternion(-0.14315, -0.00654626, 0.00600039, 0.989661) +bones/120/position = Vector3(0.0406247, 1.64721, 0.210741) +bones/120/rotation = Quaternion(0.989276, 0.077473, 0.000443545, -0.123815) +bones/121/position = Vector3(-0.115925, 1.63416, 0.206921) +bones/121/rotation = Quaternion(0.99201, 0.00802975, 0.0133158, -0.125196) +bones/122/position = Vector3(0.0425044, 1.3729, 0.0433355) +bones/122/rotation = Quaternion(-0.361215, -0.391717, -0.627548, 0.567684) +bones/123/position = Vector3(0.150379, 1.36768, 0.0521641) +bones/123/rotation = Quaternion(0.917432, 0.157114, 0.3655, 0.00655626) +bones/123/scale = Vector3(1.03791, 0.928277, 1.03791) +bones/124/rotation = Quaternion(2.71095e-08, -0.101401, -8.19004e-08, 0.994846) +bones/125/rotation = Quaternion(-0.205876, -0.100501, -0.0194304, 0.97321) +bones/125/scale = Vector3(0.999856, 0.983857, 1.02002) +bones/126/rotation = Quaternion(2.87167e-08, 0.0976372, 2.75687e-09, 0.995222) +bones/127/rotation = Quaternion(-0.106678, 0.0969132, -0.157607, 0.976928) +bones/127/scale = Vector3(0.976212, 1.06206, 0.96745) +bones/128/rotation = Quaternion(-0.0702406, 0.705259, -0.016804, 0.705261) +bones/129/rotation = Quaternion(-0.154448, -0.00635569, 0.00462354, 0.98797) bones/130/rotation = Quaternion(-4.31224e-06, 8.13943e-08, 6.78632e-05, 1) -bones/131/rotation = Quaternion(-0.191667, 0.0886974, 0.289863, 0.933475) -bones/132/rotation = Quaternion(0.00898581, 0.0207359, -0.00750281, 0.999716) +bones/131/rotation = Quaternion(-0.175778, 0.0936186, 0.293742, 0.934908) +bones/132/rotation = Quaternion(0.00897499, 0.0254299, -0.00870688, 0.999598) bones/133/rotation = Quaternion(0.00626499, 6.74476e-08, -1.43925e-05, 0.99998) -bones/135/rotation = Quaternion(-0.0268948, 0.698939, 0.149125, 0.698944) -bones/136/rotation = Quaternion(-0.190037, 0.00469731, -0.0130507, 0.981679) +bones/135/rotation = Quaternion(-0.0417482, 0.698769, 0.147281, 0.698775) +bones/136/rotation = Quaternion(-0.199141, 0.00235323, -0.0144693, 0.979861) bones/137/rotation = Quaternion(4.65474e-06, -7.81623e-08, -2.01332e-05, 1) -bones/139/rotation = Quaternion(-0.0991767, 0.675472, 0.278641, 0.67547) -bones/140/rotation = Quaternion(-0.275418, -0.0118091, -0.0280239, 0.960843) +bones/139/rotation = Quaternion(-0.114419, 0.674828, 0.27591, 0.674826) +bones/140/rotation = Quaternion(-0.284081, -0.0159739, -0.0299314, 0.9582) bones/141/rotation = Quaternion(4.3083e-06, -3.352e-08, -1.93224e-06, 1) -bones/143/rotation = Quaternion(-0.0963251, 0.667127, 0.31896, 0.666279) -bones/144/rotation = Quaternion(-0.335606, -0.00297569, -0.0544676, 0.940422) +bones/143/rotation = Quaternion(-0.111557, 0.666635, 0.316092, 0.665762) +bones/144/rotation = Quaternion(-0.344439, -0.00730571, -0.0564542, 0.937081) bones/145/rotation = Quaternion(-7.65809e-06, 2.29663e-08, 6.55561e-05, 1) -bones/147/position = Vector3(-0.0395471, 1.37091, 0.0142499) -bones/147/rotation = Quaternion(-0.531413, 0.1891, 0.542982, 0.622103) -bones/148/position = Vector3(-0.134563, 1.35411, -0.0352045) -bones/148/rotation = Quaternion(0.958481, -0.120203, 0.0603389, -0.251444) -bones/148/scale = Vector3(1.02777, 0.94669, 1.02777) -bones/149/rotation = Quaternion(-3.70866e-08, 0.0828916, -2.7993e-08, 0.996559) +bones/147/position = Vector3(-0.0434599, 1.37454, 0.0123033) +bones/147/rotation = Quaternion(-0.532375, 0.205504, 0.517032, 0.637984) +bones/148/position = Vector3(-0.138687, 1.36359, -0.0382811) +bones/148/rotation = Quaternion(0.957723, -0.129113, 0.0817559, -0.243749) +bones/148/scale = Vector3(1.02803, 0.946216, 1.02803) +bones/149/rotation = Quaternion(2.16221e-07, 0.0787324, 1.46828e-07, 0.996896) bones/149/scale = Vector3(1, 1, 1) -bones/150/rotation = Quaternion(-0.200024, 0.0820388, 0.0157404, 0.976224) -bones/150/scale = Vector3(0.999857, 0.988812, 1.01321) -bones/151/rotation = Quaternion(1.45307e-08, -0.0186172, -2.59285e-08, 0.999827) -bones/152/rotation = Quaternion(-0.181057, -0.018223, -0.117066, 0.97631) -bones/152/scale = Vector3(0.977313, 1.04181, 0.984162) -bones/153/rotation = Quaternion(-0.0205253, -0.706539, -0.0343617, 0.706541) -bones/154/rotation = Quaternion(-0.147289, 0.00998131, -0.00826793, 0.989009) +bones/150/rotation = Quaternion(-0.205993, 0.0782149, 0.0154665, 0.9753) +bones/150/scale = Vector3(0.999856, 0.987805, 1.01439) +bones/151/rotation = Quaternion(3.24168e-08, -0.0224224, -2.1788e-07, 0.999749) +bones/152/rotation = Quaternion(-0.170169, -0.0223036, -0.125861, 0.97709) +bones/152/scale = Vector3(0.977873, 1.04274, 0.982711) +bones/153/rotation = Quaternion(-0.0284983, -0.706273, -0.0392449, 0.706276) +bones/154/rotation = Quaternion(-0.172835, 0.0108008, -0.00539202, 0.984877) bones/155/rotation = Quaternion(8.39836e-07, -2.08393e-07, -6.54599e-05, 1) -bones/156/rotation = Quaternion(-0.247748, -0.0479796, -0.18632, 0.949528) -bones/157/rotation = Quaternion(0.191007, 0.0799159, -0.0194767, 0.978136) +bones/156/rotation = Quaternion(-0.241371, -0.0494914, -0.185957, 0.951163) +bones/157/rotation = Quaternion(0.198406, 0.0808352, -0.0210107, 0.976555) bones/158/rotation = Quaternion(0.00626376, -7.70711e-08, 1.34285e-05, 0.99998) -bones/160/rotation = Quaternion(-0.0619531, -0.702517, -0.0953682, 0.702522) -bones/161/rotation = Quaternion(-0.263103, 0.00975053, 0.0190099, 0.964531) +bones/160/rotation = Quaternion(-0.0615444, -0.702516, -0.0956443, 0.702521) +bones/161/rotation = Quaternion(-0.273156, 0.0096884, 0.0199679, 0.961714) bones/162/rotation = Quaternion(6.46779e-06, 1.28029e-07, 1.90929e-05, 1) -bones/164/rotation = Quaternion(-0.0828664, -0.693015, -0.180546, 0.693013) -bones/165/rotation = Quaternion(-0.320504, -0.0106038, 0.03108, 0.946678) +bones/164/rotation = Quaternion(-0.0864229, -0.692378, -0.183734, 0.692377) +bones/165/rotation = Quaternion(-0.325274, -0.010218, 0.0315797, 0.945037) bones/166/rotation = Quaternion(4.68059e-06, -2.29112e-07, 1.73853e-06, 1) -bones/168/rotation = Quaternion(-0.0806862, -0.689126, -0.210999, 0.68853) -bones/169/rotation = Quaternion(-0.349905, -0.0195459, 0.0649034, 0.93433) +bones/168/rotation = Quaternion(-0.0816372, -0.688954, -0.211765, 0.688355) +bones/169/rotation = Quaternion(-0.354561, -0.0197138, 0.0651481, 0.932552) bones/170/rotation = Quaternion(-9.53796e-06, -2.47026e-08, -6.50589e-05, 1) -bones/172/position = Vector3(0.075512, 1.25242, 0.0809254) -bones/172/rotation = Quaternion(-0.138955, 0.528489, 0.831781, 0.0976304) -bones/173/position = Vector3(-0.0882058, 1.25509, 0.0227719) -bones/173/rotation = Quaternion(-0.138955, 0.528489, 0.831781, 0.0976304) +bones/172/position = Vector3(0.0697247, 1.25667, 0.0830353) +bones/172/rotation = Quaternion(-0.138904, 0.541454, 0.822843, 0.102291) +bones/173/position = Vector3(-0.0936833, 1.25978, 0.0240712) +bones/173/rotation = Quaternion(-0.138904, 0.541454, 0.822843, 0.102291) [node name="weapon_L" type="BoneAttachment3D" parent="." index="2"] unique_name_in_owner = true -transform = Transform3D(0.243135, -0.762248, -0.599886, -0.598807, 0.368583, -0.71104, 0.763096, 0.532094, -0.366824, 0.261016, 0.827375, 0.246751) +transform = Transform3D(0.194587, -0.769492, -0.608291, -0.610185, 0.390587, -0.689287, 0.767991, 0.505296, -0.393529, 0.255873, 0.842351, 0.257018) visible = false bone_name = "weapon.L" bone_idx = 0 @@ -368,7 +368,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, [node name="weapon_R" type="BoneAttachment3D" parent="." index="3"] unique_name_in_owner = true -transform = Transform3D(0.252319, -0.184548, 0.949883, 0.929552, 0.318943, -0.184953, -0.268826, 0.929633, 0.252023, -0.284921, 0.821391, -0.181958) +transform = Transform3D(0.255623, -0.188605, 0.948201, 0.927916, 0.323143, -0.185879, -0.271347, 0.927365, 0.257612, -0.296739, 0.832353, -0.17782) visible = false bone_name = "weapon.R" bone_idx = 1 -- 2.47.2