I create an axe chop trees with arms. This is my skeleton: Code (CSharp): Spine Left Shoulder Left Arm Left ForeArm Left ForeArmRoll LeftHand RIghtThumb1 RightThumb2 RightThumb3 Leftndex1 LeftIndex2 LeftIndex3 LeftMiddle1 LeftMiddle2 LeftMiddle3 LeftRing1 LeftRing2 LeftRing3 LeftPinky1 LeftPinky2 LeftPinky3 Right Shoulder Right Arm Right ForeArm Right ForeArmRoll RightHand RIghtThumb1 RightThumb2 RightThumb3 RIghtIndex1 RightIndex2 RightIndex3 RIghtMiddle1 RightMiddle2 RightMiddle3 RIghtRing1 RightRing2 RightRing3 RIghtPinky1 RightPinky2 RightPinky3 Hatchet If you didn't noticed, the Hatchet is the child of the righthand object. First I created an animation for RightHand swing and the Hatchet is attached to the right hand so the hatchet was moving perfectly with the right arm. But After I finished the animation for the right arm, I tried to make the left hand to swing also. That's my initial keyframe(Idle): The soar before the hit the tree: The moment of the collision with tree: And back to the soar if you immediate click again or to idle if you don't press click again in an interval of 0.5 sec As you can see, the left arm is on axe at idle, soar, and imact moments. Because the axe is the child only for right hand the left arm is finding the shortest way from idle to soar to impact with tree moment, the left arm is in air between keyframes: I wish you understood my problem because It is very hard to me to express this thread because. I'm just starting to learn about animations. P.S: I tried to add intermediare points between keyframes, but there are 90 frames between soar and impact and it looks very strange.