I have a string of bones with an IK constraint at the end that uses most, but not all, of the bones. When the target is brought back, the first bone bends greatly away from the bone before it, and the last bone (the one with the IK) bends greatly relative to the rotation of the target. In the IK constraint, there is a rotation option which will force the last bone to match the rotation of the target, and the bones before it rotate to account for that. How can I do this but for the first bone instead of the last, so it matches the rotation of the immediately before the IK-affected bones and the other bones rotate to account for it?
This effect can be done by reversing the IK string ([w] -> "Switch bone direction") and placing the IK constraint on the "first" bone targeting the bone that used to come before it. Give the "last" bone (that used to have the IK constraint) a Copy Transforms constraint of the old IK target.
However, there are a couple things wrong with this method:
- If the target is brought outside of the maximum length of the bones, instead of the bones pointing toward the target, they will follow the target and point at the other bones.
- The rotation of the new target must be accounted for.