From e290448c2414d818fc183725d32150218218b7a3 Mon Sep 17 00:00:00 2001 From: Clifton Palmer Date: Tue, 6 May 2025 19:59:16 +0300 Subject: [PATCH 1/1] Added slash move --- player/input/InputHandler.gd | 3 + player/model.gd | 1 + player/moves/Move.gd | 1 + player/moves/slash.gd | 25 +++ player/moves/slash.gd.uid | 1 + player/player.gd | 4 +- player/player.tscn | 7 +- project.godot | 2 +- skin/prototype_skin.tscn | 405 ++++++++++++++++++----------------- skin/skin.gd | 27 ++- 10 files changed, 256 insertions(+), 220 deletions(-) create mode 100644 player/moves/slash.gd create mode 100644 player/moves/slash.gd.uid diff --git a/player/input/InputHandler.gd b/player/input/InputHandler.gd index d7f2fb4..9d0e7de 100644 --- a/player/input/InputHandler.gd +++ b/player/input/InputHandler.gd @@ -20,6 +20,9 @@ func get_player_input() -> InputPacket: if Input.is_action_just_pressed("player-dash"): p.actions.append("dash") + if Input.is_action_just_pressed("player-slash"): + p.actions.append("slash") + if p.actions.is_empty(): p.actions.append("idle") diff --git a/player/model.gd b/player/model.gd index c3657b0..862eb64 100644 --- a/player/model.gd +++ b/player/model.gd @@ -7,6 +7,7 @@ class_name PlayerModel @onready var moves: Dictionary = { "idle": $Idle, "walk": $Walk, + "slash": $Slash, "dash": $Dash, "fall": $Fall } diff --git a/player/moves/Move.gd b/player/moves/Move.gd index 1281478..1e6f0fa 100644 --- a/player/moves/Move.gd +++ b/player/moves/Move.gd @@ -10,6 +10,7 @@ var camera: Camera3D static var moves_priority: Dictionary = { "idle": 0, "walk": 1, + "slash": 2, "fall": 50, "dash": 100 } diff --git a/player/moves/slash.gd b/player/moves/slash.gd new file mode 100644 index 0000000..a9c3b91 --- /dev/null +++ b/player/moves/slash.gd @@ -0,0 +1,25 @@ +extends Move +class_name Slash + + +@onready var timer: Timer = $Timer + +var finished := false + + +func should_enter(input: InputPacket) -> String: + if finished: + input.actions.sort_custom(moves_priority_sort) + return input.actions[0] + return "slash" + + +func on_enter_state(): + finished = false + player.skin.animation_tree.animation_finished.connect(_on_animation_finished) + player.skin.transition_slash() + + +func _on_animation_finished(n: String): + finished = true + player.skin.animation_tree.animation_finished.disconnect(_on_animation_finished) diff --git a/player/moves/slash.gd.uid b/player/moves/slash.gd.uid new file mode 100644 index 0000000..75e0a88 --- /dev/null +++ b/player/moves/slash.gd.uid @@ -0,0 +1 @@ +uid://d28gnkyqsg3t diff --git a/player/player.gd b/player/player.gd index 2c6782d..56239f1 100644 --- a/player/player.gd +++ b/player/player.gd @@ -3,7 +3,7 @@ class_name Player @export_group("Movement") -@export var walk_speed := 8.0 +@export var walk_speed := 10.0 @export var dash_length := 10.0 @export var acceleration := 20.0 @export var rotation_speed := 10.0 @@ -11,7 +11,7 @@ class_name Player var idle_time := 0.00 -var last_movement_direction := Vector3.ZERO +var last_movement_direction := rotation var state := "" var floor_normal := Vector3.ZERO var ground_slope_input := 0.0 diff --git a/player/player.tscn b/player/player.tscn index a51c523..f9e8714 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://cchu1yltrhuk3"] +[gd_scene load_steps=12 format=3 uid="uid://cchu1yltrhuk3"] [ext_resource type="PackedScene" uid="uid://dvkx3t15l7mfb" path="res://skin/prototype_skin.tscn" id="1_4flbx"] [ext_resource type="Script" uid="uid://dcv34jq0jett0" path="res://player/player.gd" id="1_onrkg"] @@ -9,6 +9,7 @@ [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/moves/fall.gd" id="9_hg6s5"] +[ext_resource type="Script" uid="uid://d28gnkyqsg3t" path="res://player/moves/slash.gd" id="10_8t03j"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"] @@ -60,4 +61,8 @@ wait_time = 0.25 script = ExtResource("9_hg6s5") metadata/_custom_type_script = "uid://c886t1c86q0m6" +[node name="Slash" type="Node" parent="Model"] +script = ExtResource("10_8t03j") +metadata/_custom_type_script = "uid://c886t1c86q0m6" + [connection signal="timeout" from="Model/Dash/Timer" to="Model/Dash" method="_on_timer_timeout"] diff --git a/project.godot b/project.godot index 9f61ee2..8cca96d 100644 --- a/project.godot +++ b/project.godot @@ -45,7 +45,7 @@ player-backward={ } player-slash={ "deadzone": 0.2, -"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(1359, 44),"global_position":Vector2(1378, 140),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) ] } player-shoot={ diff --git a/skin/prototype_skin.tscn b/skin/prototype_skin.tscn index c653b43..d03466e 100644 --- a/skin/prototype_skin.tscn +++ b/skin/prototype_skin.tscn @@ -60,6 +60,7 @@ min_space = 0.0 max_space = 16.0 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_s02u1"] +graph_offset = Vector2(-400.628, 24.5853) nodes/Animation/node = SubResource("AnimationNodeAnimation_i12oj") nodes/Animation/position = Vector2(-80, 510) "nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_kang0") @@ -83,80 +84,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.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/0/position = Vector3(0.260809, 0.850218, 0.263214) +bones/0/rotation = Quaternion(0.543906, -0.624426, 0.0838056, 0.554288) +bones/1/position = Vector3(-0.300572, 0.836947, -0.174021) +bones/1/rotation = Quaternion(0.407533, 0.452229, 0.412994, 0.677379) +bones/3/position = Vector3(-0.00332663, 0.971291, 0.00832966) +bones/3/rotation = Quaternion(0.0124273, -0.330532, -0.00299457, 0.943708) bones/4/rotation = Quaternion(-0.0801557, -2.41264e-07, -4.07088e-07, 0.996782) -bones/5/rotation = Quaternion(0.0948791, 0.0410984, -0.00984408, 0.994591) +bones/5/rotation = Quaternion(0.0926959, 0.0413424, -0.00940879, 0.994791) bones/5/scale = Vector3(1, 1, 1) -bones/6/rotation = Quaternion(0.107621, 0.122443, -0.0114329, 0.986557) +bones/6/rotation = Quaternion(0.10542, 0.123254, -0.0109976, 0.986699) bones/6/scale = Vector3(1, 0.999996, 1) -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/7/rotation = Quaternion(0.230044, -0.00995115, 0.00277355, 0.973125) +bones/8/rotation = Quaternion(-0.165359, 0.179676, -0.0306509, 0.969244) +bones/9/rotation = Quaternion(-0.0600451, -0.00318861, -0.0170214, 0.998045) +bones/10/position = Vector3(-0.00332665, 0.971291, 0.00832966) +bones/10/rotation = Quaternion(0.262533, 0.852293, 0.439544, -0.107119) +bones/11/position = Vector3(-0.00332651, 0.971291, 0.00832975) +bones/11/rotation = Quaternion(-0.467532, 0.602775, 0.17825, 0.621533) +bones/12/position = Vector3(0.0704251, 0.902782, 0.0459904) +bones/12/rotation = Quaternion(0.922238, 0.0302365, 0.321662, 0.212361) +bones/12/scale = Vector3(1.01669, 0.967434, 1.01669) +bones/13/rotation = Quaternion(-1.22834e-07, -0.0245666, -4.08763e-08, 0.999698) +bones/14/rotation = Quaternion(0.1744, -0.0254012, 0.00433313, 0.984338) +bones/14/scale = Vector3(0.999989, 0.994181, 1.0064) +bones/15/rotation = Quaternion(-3.75794e-08, 0.0369689, 1.1106e-08, 0.999317) +bones/16/rotation = Quaternion(-0.414081, 0.0364559, 0.10814, 0.903058) +bones/16/scale = Vector3(0.98537, 1.00297, 1.01311) +bones/17/rotation = Quaternion(-0.024012, 0.934387, -0.355232, -0.012408) bones/17/scale = Vector3(0.999462, 1.00037, 1.00017) -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/18/position = Vector3(-0.057873, 0.905054, -0.0563889) +bones/18/rotation = Quaternion(0.938326, -0.10075, 0.328475, -0.0387085) +bones/18/scale = Vector3(1.01534, 0.970017, 1.01534) +bones/19/rotation = Quaternion(-5.55201e-10, 0.0869997, 1.28147e-08, 0.996208) +bones/20/rotation = Quaternion(0.207993, 0.0867494, -0.017921, 0.974111) +bones/20/scale = Vector3(0.999992, 0.99283, 1.0078) +bones/21/rotation = Quaternion(-3.89034e-08, 0.0721712, -8.62977e-09, 0.997392) +bones/22/rotation = Quaternion(-0.558689, 0.0715777, -0.110921, 0.818804) +bones/22/scale = Vector3(0.988651, 0.990078, 1.02229) +bones/23/rotation = Quaternion(-0.00191557, 0.937032, -0.349221, -0.00355639) bones/23/scale = Vector3(0.999647, 1.00025, 1.0001) -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/24/position = Vector3(0.0543125, 1.58126, 0.159893) +bones/24/rotation = Quaternion(0.155528, -0.0969794, -0.0618814, 0.98111) +bones/25/position = Vector3(0.0576875, 1.61535, 0.171379) +bones/25/rotation = Quaternion(-0.398519, 0.000798905, -0.369819, 0.839295) +bones/26/position = Vector3(0.076152, 1.62748, 0.151458) +bones/26/rotation = Quaternion(0.760778, -0.0326138, 0.63754, -0.117034) 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.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/28/position = Vector3(0.0639893, 1.56371, 0.1588) +bones/28/rotation = Quaternion(0.126537, -0.391956, 0.216326, 0.88519) +bones/29/position = Vector3(-0.110525, 1.56776, 0.15668) +bones/29/rotation = Quaternion(0.145867, 0.0902686, 0.144719, 0.97449) +bones/30/position = Vector3(-0.119795, 1.60089, 0.167902) +bones/30/rotation = Quaternion(-0.404234, -0.0496072, 0.429242, 0.806155) +bones/31/position = Vector3(-0.139175, 1.60996, 0.147256) +bones/31/rotation = Quaternion(0.767822, 0.0968323, -0.630063, -0.0639819) bones/31/scale = Vector3(1.00001, 0.999994, 1) -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/33/position = Vector3(-0.11717, 1.54888, 0.155269) +bones/33/rotation = Quaternion(0.0983186, 0.383704, -0.140896, 0.907333) +bones/34/position = Vector3(-0.0248074, 1.51034, 0.258574) +bones/34/rotation = Quaternion(-0.610152, -0.0326277, 0.0263909, 0.791172) +bones/35/position = Vector3(-0.0265186, 1.52173, 0.29851) +bones/35/rotation = Quaternion(-0.757839, -0.0372989, 0.0192307, 0.651091) 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.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/37/position = Vector3(-0.0106351, 1.52893, 0.268918) +bones/37/rotation = Quaternion(-0.127564, 0.595186, 0.767143, 0.202418) +bones/38/position = Vector3(-0.0422035, 1.52635, 0.268303) +bones/38/rotation = Quaternion(0.063662, 0.607427, 0.750407, -0.252724) +bones/39/position = Vector3(0.0159209, 1.58539, 0.2448) +bones/39/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909) +bones/40/position = Vector3(-0.0064448, 1.57441, 0.261408) +bones/40/rotation = Quaternion(0.721115, 0.590974, 0.279516, -0.229375) 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 +165,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.0357074, 1.5811, 0.249532) -bones/44/rotation = Quaternion(-0.640169, 0.601701, 0.303175, -0.369085) +bones/44/position = Vector3(0.0385118, 1.58756, 0.246178) +bones/44/rotation = Quaternion(-0.633626, 0.606347, 0.29544, -0.378915) 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 +174,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.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/48/position = Vector3(0.0159209, 1.58539, 0.2448) +bones/48/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909) +bones/50/position = Vector3(-0.076632, 1.57781, 0.242996) +bones/50/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909) +bones/51/position = Vector3(-0.0534387, 1.57056, 0.260492) +bones/51/rotation = Quaternion(0.77221, -0.525617, -0.283235, -0.217248) 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 +187,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.102013, 1.56961, 0.246172) -bones/55/rotation = Quaternion(0.580394, 0.643669, 0.348264, 0.357136) +bones/55/position = Vector3(-0.0992758, 1.57628, 0.243475) +bones/55/rotation = Quaternion(0.576179, 0.648551, 0.337609, 0.365265) 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,192 +196,192 @@ 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.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/59/position = Vector3(-0.076632, 1.57781, 0.242996) +bones/59/rotation = Quaternion(-0.0326278, 0.610152, 0.791172, -0.0263908) +bones/61/position = Vector3(-0.0223898, 1.48396, 0.245314) +bones/61/rotation = Quaternion(-0.610152, -0.0326277, 0.0263909, 0.791172) +bones/62/position = Vector3(-0.0228228, 1.49199, 0.233837) +bones/62/rotation = Quaternion(-0.520536, -0.0295663, 0.0297805, 0.852808) +bones/65/position = Vector3(-0.0289261, 1.57735, 0.188436) +bones/65/rotation = Quaternion(0.985602, 0.0386778, 0.0162811, 0.163789) +bones/66/position = Vector3(-0.0186139, 1.44016, 0.23557) +bones/66/rotation = Quaternion(0.306211, 0.00325928, 0.0418381, 0.951038) bones/66/scale = Vector3(0.999995, 1.00001, 0.999996) bones/67/scale = Vector3(1.00001, 0.999993, 1) -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/68/position = Vector3(-0.019414, 1.45742, 0.1869) +bones/68/rotation = Quaternion(0.815429, 0.0277015, 0.0315232, 0.577333) +bones/69/position = Vector3(0.0541203, 1.58414, 0.190055) +bones/69/rotation = Quaternion(0.994865, -0.0493679, -0.0139424, -0.0872457) +bones/72/position = Vector3(-0.111986, 1.57055, 0.186813) +bones/72/rotation = Quaternion(0.987063, 0.132045, 0.0261005, -0.0871167) +bones/75/position = Vector3(-0.0242242, 1.50067, 0.269247) +bones/75/rotation = Quaternion(-0.451126, -0.394733, -0.457219, 0.65698) 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.0268579, 1.49343, 0.269884) -bones/77/rotation = Quaternion(-0.482299, 0.335051, 0.505541, 0.632105) +bones/77/position = Vector3(-0.0242242, 1.50067, 0.269247) +bones/77/rotation = Quaternion(-0.49062, 0.343779, 0.500441, 0.625033) 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.0255962, 1.48059, 0.262068) -bones/79/rotation = Quaternion(-0.381514, -0.373325, -0.383911, 0.753451) +bones/79/position = Vector3(-0.0230094, 1.48761, 0.261811) +bones/79/rotation = Quaternion(-0.393505, -0.377613, -0.378704, 0.74776) 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.0255962, 1.48059, 0.262068) -bones/81/rotation = Quaternion(-0.420437, 0.321906, 0.435805, 0.727793) +bones/81/position = Vector3(-0.0230094, 1.48761, 0.261811) +bones/81/rotation = Quaternion(-0.430275, 0.329661, 0.430724, 0.72157) 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.0372011, 1.58706, 0.253072) -bones/83/rotation = Quaternion(0.153213, 0.4758, 0.649995, 0.572404) +bones/83/position = Vector3(0.0400326, 1.59362, 0.249532) +bones/83/rotation = Quaternion(0.146047, 0.485886, 0.642091, 0.574721) 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.0133585, 1.57271, 0.263865) -bones/87/rotation = Quaternion(-0.386525, 0.0694324, 0.918045, 0.0545145) +bones/87/position = Vector3(-0.0105706, 1.57971, 0.260853) +bones/87/rotation = Quaternion(-0.386085, 0.083486, 0.917332, 0.0497047) bones/87/scale = Vector3(1, 0.999989, 1) bones/88/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/89/position = Vector3(-0.104644, 1.57523, 0.249611) -bones/89/rotation = Quaternion(0.207973, -0.475189, -0.596277, 0.612696) +bones/89/position = Vector3(-0.101886, 1.58201, 0.246753) +bones/89/rotation = Quaternion(0.197642, -0.483431, -0.590102, 0.61564) 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.0529891, 1.56941, 0.262898) -bones/93/rotation = Quaternion(0.356989, 0.102615, 0.919463, -0.128906) +bones/93/position = Vector3(-0.0502105, 1.57646, 0.260081) +bones/93/rotation = Quaternion(0.360097, 0.115652, 0.917546, -0.122739) bones/93/scale = Vector3(0.999998, 1, 0.999998) bones/94/scale = Vector3(1, 0.999989, 1.00001) -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/95/position = Vector3(0.0462226, 1.5878, 0.220367) +bones/95/rotation = Quaternion(0.474871, -0.28364, -0.0995455, 0.827126) +bones/96/position = Vector3(0.0424527, 1.60694, 0.250786) +bones/96/rotation = Quaternion(0.665667, -0.39403, 0.184675, 0.606236) +bones/98/position = Vector3(-0.0125464, 1.59308, 0.278235) +bones/98/rotation = Quaternion(0.757386, -0.401954, 0.498242, 0.128666) +bones/99/position = Vector3(-0.105918, 1.57537, 0.217382) +bones/99/rotation = Quaternion(0.448127, 0.305313, 0.175892, 0.821601) +bones/100/position = Vector3(-0.106474, 1.59476, 0.247878) +bones/100/rotation = Quaternion(0.634767, 0.435169, -0.121642, 0.626818) +bones/102/position = Vector3(-0.0511101, 1.58993, 0.277483) +bones/102/rotation = Quaternion(0.731607, 0.459823, -0.471279, 0.176665) +bones/103/position = Vector3(0.00749761, 1.50257, 0.249712) +bones/103/rotation = Quaternion(-0.372414, -0.287302, -0.3134, 0.824952) +bones/105/position = Vector3(-0.0553325, 1.4973, 0.248326) +bones/105/rotation = Quaternion(-0.400628, 0.239885, 0.372357, 0.802061) +bones/107/position = Vector3(0.0462226, 1.5878, 0.220367) +bones/107/rotation = Quaternion(0.813968, -0.325194, -0.450707, 0.169022) +bones/109/position = Vector3(-0.105918, 1.57537, 0.217382) +bones/109/rotation = Quaternion(0.775819, 0.387165, 0.478718, 0.137976) +bones/111/position = Vector3(-0.0210255, 1.64636, 0.271682) +bones/111/rotation = Quaternion(0.705506, 0.0983078, 0.701745, -0.012326) +bones/112/position = Vector3(0.00644714, 1.65661, 0.260267) +bones/112/rotation = Quaternion(0.78185, 0.168766, 0.600189, -0.00132718) +bones/113/position = Vector3(0.0282244, 1.66034, 0.239429) +bones/113/rotation = Quaternion(0.91877, 0.155791, 0.359486, 0.0485797) +bones/114/position = Vector3(-0.051159, 1.64389, 0.271094) +bones/114/rotation = Quaternion(0.724671, -0.0401706, -0.686575, 0.043053) +bones/115/position = Vector3(-0.0794692, 1.64957, 0.258593) +bones/115/rotation = Quaternion(0.804523, -0.104366, -0.582996, 0.0443585) +bones/116/position = Vector3(-0.10074, 1.64978, 0.236916) +bones/116/rotation = Quaternion(0.935225, -0.0812375, -0.336411, 0.0747079) +bones/117/position = Vector3(-0.0305775, 1.57734, 0.273205) +bones/117/rotation = Quaternion(0.979523, 0.0381063, 0.017577, 0.196913) bones/118/scale = Vector3(0.999997, 1.00001, 0.999997) -bones/119/position = Vector3(-0.0288293, 1.5153, 0.275948) -bones/119/rotation = Quaternion(0.984653, 0.0430445, 0.00495235, -0.169058) +bones/119/position = Vector3(-0.0261338, 1.52271, 0.274666) +bones/119/rotation = Quaternion(0.987097, 0.0418359, 0.00328954, -0.154527) bones/119/scale = Vector3(1, 0.999997, 1) -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/120/position = Vector3(0.0434393, 1.65248, 0.20542) +bones/120/rotation = Quaternion(0.991082, 0.076244, -0.00178211, -0.109267) +bones/121/position = Vector3(-0.113147, 1.63966, 0.202368) +bones/121/rotation = Quaternion(0.993777, 0.0069944, 0.0121131, -0.110509) +bones/122/position = Vector3(0.0439993, 1.37437, 0.0433833) +bones/122/rotation = Quaternion(-0.365398, -0.398515, -0.618093, 0.570641) +bones/123/position = Vector3(0.152034, 1.37101, 0.0515237) +bones/123/rotation = Quaternion(0.919211, 0.161082, 0.359186, 0.00949816) +bones/123/scale = Vector3(1.03824, 0.927691, 1.03824) +bones/124/rotation = Quaternion(-1.46959e-08, -0.100083, 7.47384e-08, 0.994979) +bones/125/rotation = Quaternion(-0.210795, -0.0990992, -0.0196473, 0.972296) +bones/125/scale = Vector3(0.999855, 0.982971, 1.02113) +bones/126/rotation = Quaternion(6.5256e-08, 0.098668, 5.88083e-08, 0.995121) +bones/127/rotation = Quaternion(-0.1071, 0.0980205, -0.16455, 0.975625) +bones/127/scale = Vector3(0.977049, 1.06169, 0.967147) +bones/128/rotation = Quaternion(-0.0731249, 0.705143, -0.0139537, 0.705146) +bones/129/rotation = Quaternion(-0.155047, -0.00651886, 0.00452205, 0.987875) bones/130/rotation = Quaternion(-4.31224e-06, 8.13943e-08, 6.78632e-05, 1) -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/131/rotation = Quaternion(-0.173412, 0.0939553, 0.292765, 0.935622) +bones/132/rotation = Quaternion(0.00893959, 0.0248256, -0.00803413, 0.99962) bones/133/rotation = Quaternion(0.00626499, 6.74476e-08, -1.43925e-05, 0.99998) -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/135/rotation = Quaternion(-0.0488227, 0.698503, 0.147633, 0.698509) +bones/136/rotation = Quaternion(-0.202828, 0.00136395, -0.015064, 0.979098) bones/137/rotation = Quaternion(4.65474e-06, -7.81623e-08, -2.01332e-05, 1) -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/139/rotation = Quaternion(-0.121134, 0.674338, 0.275439, 0.674335) +bones/140/rotation = Quaternion(-0.287817, -0.0175467, -0.0307168, 0.957032) bones/141/rotation = Quaternion(4.3083e-06, -3.352e-08, -1.93224e-06, 1) -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/143/rotation = Quaternion(-0.117837, 0.666246, 0.315477, 0.665361) +bones/144/rotation = Quaternion(-0.347964, -0.0089929, -0.0572633, 0.935714) bones/145/rotation = Quaternion(-7.65809e-06, 2.29663e-08, 6.55561e-05, 1) -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/147/position = Vector3(-0.0420267, 1.3761, 0.0125278) +bones/147/rotation = Quaternion(-0.532395, 0.213218, 0.508462, 0.642309) +bones/148/position = Vector3(-0.137401, 1.36702, -0.0381431) +bones/148/rotation = Quaternion(0.957397, -0.135038, 0.0873326, -0.23985) +bones/148/scale = Vector3(1.02815, 0.945984, 1.02815) +bones/149/rotation = Quaternion(1.87618e-08, 0.0777852, -5.86921e-09, 0.99697) bones/149/scale = Vector3(1, 1, 1) -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/150/rotation = Quaternion(-0.207097, 0.0768977, 0.0152901, 0.975174) +bones/150/scale = Vector3(0.999856, 0.987839, 1.01435) +bones/151/rotation = Quaternion(2.97942e-08, -0.0219948, -1.54666e-07, 0.999758) +bones/152/rotation = Quaternion(-0.166004, -0.0224551, -0.134659, 0.97663) +bones/152/scale = Vector3(0.978342, 1.04288, 0.982124) +bones/153/rotation = Quaternion(-0.0213379, -0.70655, -0.0334097, 0.706552) +bones/154/rotation = Quaternion(-0.148406, 0.0100726, -0.0081282, 0.988842) bones/155/rotation = Quaternion(8.39836e-07, -2.08393e-07, -6.54599e-05, 1) -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/156/rotation = Quaternion(-0.245072, -0.0481661, -0.184453, 0.950577) +bones/157/rotation = Quaternion(0.193105, 0.0818672, -0.0212757, 0.977525) bones/158/rotation = Quaternion(0.00626376, -7.70711e-08, 1.34285e-05, 0.99998) -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/160/rotation = Quaternion(-0.0615507, -0.702517, -0.0956269, 0.702522) +bones/161/rotation = Quaternion(-0.297813, 0.00981792, 0.0224213, 0.95431) bones/162/rotation = Quaternion(6.46779e-06, 1.28029e-07, 1.90929e-05, 1) -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/164/rotation = Quaternion(-0.0964021, -0.690589, -0.192046, 0.690588) +bones/165/rotation = Quaternion(-0.337576, -0.00922042, 0.0328847, 0.940679) bones/166/rotation = Quaternion(4.68059e-06, -2.29112e-07, 1.73853e-06, 1) -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/168/rotation = Quaternion(-0.0816627, -0.68895, -0.211786, 0.68835) +bones/169/rotation = Quaternion(-0.366493, -0.0201185, 0.0657716, 0.927875) bones/170/rotation = Quaternion(-9.53796e-06, -2.47026e-08, -6.50589e-05, 1) -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) +bones/172/position = Vector3(0.0706828, 1.25841, 0.0844252) +bones/172/rotation = Quaternion(-0.137078, 0.547015, 0.819355, 0.103158) +bones/173/position = Vector3(-0.0928381, 1.26176, 0.0257663) +bones/173/rotation = Quaternion(-0.137078, 0.547015, 0.819355, 0.103158) -[node name="weapon_L" type="BoneAttachment3D" parent="." index="2"] +[node name="hand_L" type="BoneAttachment3D" parent="." index="2"] unique_name_in_owner = true -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 +transform = Transform3D(0.206137, -0.772163, -0.601059, -0.586353, 0.394286, -0.707622, 0.783388, 0.4983, -0.371484, 0.260809, 0.850218, 0.263214) bone_name = "weapon.L" bone_idx = 0 use_external_skeleton = true external_skeleton = NodePath("../Skeleton3D") -[node name="prototype_gun" parent="weapon_L" index="0" instance=ExtResource("3_bmadk")] +[node name="socket" type="Node3D" parent="hand_L" index="0"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0) -[node name="weapon_R" type="BoneAttachment3D" parent="." index="3"] +[node name="prototype_gun" parent="hand_L/socket" index="0" instance=ExtResource("3_bmadk")] + +[node name="hand_R" type="BoneAttachment3D" parent="." index="3"] unique_name_in_owner = true -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 +transform = Transform3D(0.249849, -0.190911, 0.949278, 0.928103, 0.326706, -0.178572, -0.276043, 0.925644, 0.258812, -0.300572, 0.836947, -0.174021) bone_name = "weapon.R" bone_idx = 1 use_external_skeleton = true external_skeleton = NodePath("../Skeleton3D") -[node name="prototype_sword" parent="weapon_R" index="0" instance=ExtResource("2_s02u1")] +[node name="socket" type="Node3D" parent="hand_R" index="0"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0) +[node name="prototype_sword" parent="hand_R/socket" index="0" instance=ExtResource("2_s02u1")] + [node name="AnimationTree" type="AnimationTree" parent="." index="4"] -unique_name_in_owner = true -root_node = NodePath("%AnimationTree/..") tree_root = SubResource("AnimationNodeBlendTree_s02u1") anim_player = NodePath("../AnimationPlayer") parameters/TimeScale/scale = 1.5 @@ -390,3 +391,5 @@ parameters/movement/current_state = "move" parameters/movement/transition_request = "" parameters/movement/current_index = 0 parameters/walking/blend_position = 0.0 + +[connection signal="animation_finished" from="AnimationTree" to="." method="_on_animation_tree_animation_finished"] diff --git a/skin/skin.gd b/skin/skin.gd index 6d8b923..fefb787 100644 --- a/skin/skin.gd +++ b/skin/skin.gd @@ -2,37 +2,34 @@ extends Node3D class_name AnimatedSkin -@onready var _tree: AnimationTree = %AnimationTree - - -func sword_visible(b: bool = true): - %weapon_R.visible = b - - -func gun_visible(b: bool = true): - %weapon_L.visible = b +@onready var animation_tree: AnimationTree = $AnimationTree +@onready var animation_player: AnimationPlayer = $AnimationPlayer func set_walking_speed(s: float): - _tree.set("parameters/walking/blend_position", s) + animation_tree.set("parameters/walking/blend_position", s) func transition_move(): - _tree.set("parameters/movement/transition_request", "move") + animation_tree.set("parameters/movement/transition_request", "move") func transition_falling(): # TODO: falling state - _tree.set("parameters/movement/transition_request", "move") + animation_tree.set("parameters/movement/transition_request", "move") func transition_dash(): - _tree.set("parameters/movement/transition_request", "dash") + animation_tree.set("parameters/movement/transition_request", "dash") func transition_slash(): - _tree.set("parameters/movement/transition_request", "slash") + animation_tree.set("parameters/movement/transition_request", "slash") func transition_gunfire(): - _tree.set("parameters/movement/transition_request", "gunfire") + animation_tree.set("parameters/movement/transition_request", "gunfire") + + +func _on_animation_tree_animation_finished(anim_name: StringName) -> void: + print_debug("Finished animation: " + anim_name) -- 2.47.2