0
$\begingroup$

I am creating a reload animation for a rifle where the left-hand needs to move to grab the magazine and replace it. I currently have the magazine set up with a child of constraint on the left hand so the mag will follow the left hand when it needs to. However, I need a way to snap the hand back to the holding position on the rifle after the reload has ended. Copying the keyframes on the left hand when the rifle was being held doesn't allow me to snap the hand back to the holding position if the rifle isn't in the exact same location/rotation as it was at the copy. Is there a way to dynamically do this?

This is the resting position I would like the hand to return to (relative to the rifle location/rotation).

resting position

This is when I would like to snap the hand back to the resting position shown above considering the rifle's new location/rotation.

after reload

$\endgroup$

2 Answers 2

0
$\begingroup$

Consider adding another Child Of constraint, but put this one on the hand itself, and for the target, make an empty or bone that has been placed near the hand rest position (and which is also parented to the gun). Keyframe the influence slider for this "hand rest" Child Of constraint so that the slider is in the fully off position when the hand is currently reloading, and then keyframe the same slider so that it is fully on when the hand needs to be at full rest under the gun. The influence slider will interpolate smoothly when keyframed, so the hand will gradually become more and more the child of the empty or bone under the gun as time progresses. If this looks wonky animation-wise, you could leave the influence off until you have keyframed the arm manually returning to the gun, at least until the hand is very near to the gun. Then you could keyframe the Child Of constraint influence slider to be fully on only at that point. You will still get the advantage of knowing for sure that the hand will end up in the final rest position, where it belongs.

$\endgroup$
0
$\begingroup$

I'm assuming that the hand is leading an IK chain. If so you can use shift S to put an empty in the exact loc of the hand in fig.1, copy the hand bone rotation, set the empty as child of the gun, then set a copy transform bone constraint on the hand, pointing at the empty. In this setup you can animate the influence slider of the constraint, so that when the influence is 1.0 the hand is on the gun, when the influence is 0.0 the hand is free to move.

$\endgroup$
2
  • $\begingroup$ I've tried this and the Child Of constraint method, but I am getting some odd rotation with both methods when the hand constraint influence is on. The rotation on the empty matches the rotation of the bone in its posed state. Do you happen to have any idea why? The location matches, it's just the rotation. I am using quaternion if that's relevant. $\endgroup$
    – AuStephen
    Commented Mar 5, 2021 at 6:02
  • $\begingroup$ Lots of orientation weirdness can occur, and is hard to diagnose blind. Share your file? blend-exchange.com $\endgroup$
    – R-800
    Commented Mar 8, 2021 at 13:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .