diff --git a/godot/Models/grape_animations/upper_body_idle.res.res b/godot/Models/grape_animations/upper_body_idle.res.res index 0f2924d..fd30d7a 100644 Binary files a/godot/Models/grape_animations/upper_body_idle.res.res and b/godot/Models/grape_animations/upper_body_idle.res.res differ diff --git a/godot/Models/grape_man.gd b/godot/Models/grape_man.gd index 8195d33..f04b025 100644 --- a/godot/Models/grape_man.gd +++ b/godot/Models/grape_man.gd @@ -1,6 +1,7 @@ extends Node3D @onready var animation: AnimationNodeStateMachinePlayback = $AnimationTree.get("parameters/playback") +@onready var pickup_bone_idx = $rig/Skeleton3D.find_bone("PickupBone") signal anim_check_grab(position: Vector3) @@ -28,8 +29,12 @@ func idle_hold(): animation.travel("IdleHold") func animation_key_grab(): - emit_signal("anim_check_grab", $GrabPointLocation.global_transform) - + emit_signal("anim_check_grab", get_pickup_bone_location()) + +func get_pickup_bone_location() -> Vector3: + var trans = $rig/Skeleton3D.global_transform * $rig/Skeleton3D.get_bone_global_pose(pickup_bone_idx) + return trans.origin + func animation_key_pickup_completed(): pickup_animation_in_progress = false emit_signal("pickup_animation_finished") diff --git a/godot/Models/grape_man.tscn b/godot/Models/grape_man.tscn index 58b3d2e..6623e6b 100644 --- a/godot/Models/grape_man.tscn +++ b/godot/Models/grape_man.tscn @@ -153,7 +153,7 @@ transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, 0, 0, 0) script = ExtResource("2_ksje8") [node name="Skeleton3D" parent="rig" index="0"] -bones/0/rotation = Quaternion(0.0930424, 0, 0, 0.995662) +bones/0/rotation = Quaternion(0.10292, 0, 0, 0.99469) bones/1/rotation = Quaternion(-0.0891896, 1.18734e-07, -1.06322e-08, 0.996015) bones/2/rotation = Quaternion(0.0133933, -1.19199e-07, 1.5966e-09, 0.99991) bones/3/rotation = Quaternion(-0.00997737, 0.100365, -0.694951, 0.711948) diff --git a/godot/Player.gd b/godot/Player.gd index 9292010..d0d5d44 100644 --- a/godot/Player.gd +++ b/godot/Player.gd @@ -37,7 +37,7 @@ func _input(event): holding = weakref(null) $grape_man/drop.play() else: - $grape_man/drop.pickup() + $grape_man/pickup.play() $grape_man.pickup()