xyz
player.gd
After calculations:
picked_up_obj.pick_up(hand_node,result_y)
Item.gd:
func pick_up(player,pos):
if picked_up_by == player:
return
pick_up_position = pos
picked_up_by = player
original_transform = global_transform
freeze = true
collision_layer = 0
collision_mask=0
self.reparent(player)
pass
func _physics_process(_delta):
if !picked_up_by: return
if is_in_position:return
if not global_transform.origin.distance_to(picked_up_by.global_transform.origin + pick_up_position) < 0.01:
global_transform.origin = lerp(global_transform.origin, picked_up_by.global_transform.origin + pick_up_position, speed*_delta)
else:
if not is_in_position:
is_in_position = true
print("Item in position!")
pass