I'm doing some really basic exercises to learn how to control a Rigify human rig. I've seen a tutorial by CGdive which shows you can change between IK and FK mode within one motion of a bone chain (like starting to raise the left arm in IK, then during the movement change to FK and finish the motion in FK mode). The combined motion itself goes decently by itself, though I'm having an issue when try to keyframe it. To do it (sorry for the tedious details), I'm keying the starting frame with the IK control for the hand, make an inbetween pose with IK, keyframe it (still with IK active), then try to do the switch. I hit the "magnet snap" button for IK>>FK, not to lose the previous motion, then turn from IK mode to FK in the Info panel, then move in the timeline to the final frame position of the movement, set the pose now with the FK controller (rotating the upper arm) and keyframe it. However, something is going wrong, because when previewing the animation, only the widget controls make the motion as planned, while the mesh remains fixed throughout the whole movement, from frame zero. Has anyone of you perhaps run into such issue? Thank you, if you can help in it
I make an example to illustrate what would be my workflow in this case:
slider on IK frame 1: set a keyframe on the IK controllers
slider on FK frame 21 set a keyframe on the FK chain
frame 11 set the inbetween using FK, use snap IK>FK, set a keyframe on both IK and FK, set a keyframe on the IK-FK slider (1.0 as FK)
frame 10 set a keyframe on the IK-FK slider (0.0 as IK).
If you need to edit the IK-FK slider keyframes, you can find them selecting the gear_shaped bone "upper_arm_parent.L" (in example), part of the IK chain.
Finally I could set up the keyframing that it recorded the proper result. Thank you Nathan and Josh for your answers to the issue. The earlier setup didn't work for two reasons:
- I was missing a keyframe that the motion starts in IK mode (as default value for IK-FK was zero, I was thinking Blender would use it in the replays as default as well, without an additional keyframe about it). Thus when I replayed the animation in loop, the rig reached the final frame with IK-FK switch @ 1.0 (as the closing motion was FK). When the scene looped back to te beginning, the mesh wouldn't start the first motion, which was keyed as IK, and change of modes was missing from the keyframes.
- Without deeper knowledge about what the magnet snapping does between IK and FK, I used it wrongly. Labelling of snap buttons suggested (as I misunderstood) that when switching from IK to FK mode, perhaps I should snap from IK to FK, what is actually the opposite how it should be done. As now I understand, what snapping does is moving the unused puppet, which should follow after the switch beween IK to FK, into the position of the active mode at the time of the switch (FK copies IK's transforms). So if I start in IK, then at the inbetween pose (when switching is done between the modes), I need to snap FK to IK, to get FK bones into the position of the IK bones, by the time of the switch. So it could carry on the second motion from this point.
Keyframing that worked finally was: (motion is between 3 poses with 1 inbetween, starting in IK, then switching at the inbetween to FK)
- frame 0, about IK widget's starting position
- frame 0, about IK-FK switch at IK mode (0)
- inbetween keyframe (like frame 20), for final IK pose
- fr.20, snap FK to IK (to move FK bones into IK bones' position)
- fr.20, IK-FK switch at FK mode, @ 1 (telling Blender to move FK bones from now on)
- end frame (like fr.30), about final FK pose