IK arm rotation

Hello, I have rigged my characters arm with an IK chain and a set of copy rotation constraints. The forearm copies the rotation of the hand along the y axis at 50%. The next bone copies the forearm’s rotation at 50% and so on. This seems to work well and produces some fairly nice rotations, but causes issues in a few scenarios. The first problem is that clear rotation no longer works properly. Instead I have to repeatedly clear the transform until it finally gets back to it’s original position (sometimes I have to clear 10+ times). The second issue is that when the IK target is pulled past a reachable point, the chain flickers violently indicating what I assume means that it is unsolvable. These points lead me to believe this is not the correct way to rotate the arm. Is this correct? what alternative should I use?

This is indeed not the ideal way to rig an arm!

Firstly, if you have an IK chain, then the Copy Rotation constraints are completely ignored. So you are left with just the IK constraint as a functional method. The next question is “Have you set the chain length for the IK chains?” If they (I presume you have two arms?) are set to 0 then both go back to the origin bone and will cause you problems, they should be set to the number of bones back to the shoulder, normally 3, if you have hand, forearm and shoulder, if you don’t do this and have multiple IK chains, how does Blender know were one stops and the next begins?

If you rotate/move a bone in pose mode, then press Escape key and the rig does not go back to its rest position, you have a problem that needs sorting. I think your main problem might be IK chain length, but I cannot tell as you have not posted the blend file for me to look at…

IK chains flickering violently is also a sign or an error in your rig, and again my chief culprit would be chain length and multiple IK chains. My next question is “Have you made your IK chains dead straight?” If so, you are heading for problems, all IK chains should be very slightly bent so Blender knows which way to “bend” the arm when you bring the hand closer to the shoulder for example. You can use pole targets to make life easier, but a slight bend in the bone layout is a very good idea.

The correct way to rig this arm as an IK chain would be to forget any Copy Rotation constraints, set the correct IK chain length, put a slight bend in the bones for each arm, add a Root bone (A free bone between the feet on the floor) parent your IK target bones to this, make the hand a connected bone to the forearm and not the IK target, i.e. use a separate IK target bone. If you want to limit the rotation of any bone, you would set this in the IK properties panel of the specific bone in question. You can also set degrees of stiffness to any bone in the IK chain, again in the IK properties panel.

Post your blend file if you cannot get it to work and we can then tell you exactly where you went wrong. Remember all other constraints are ignored if you use an IK constraint.

Cheers, Clock.