Rigging a hand

Ive been using a tutorial for rigging a hand (http://www.blender.org/documentation/htmlI/x7613.html), i just used another model with more fingers and changed the naming of the bones a bit. Still i get really weird results.

The hand doesnt behave like it should, when i use the IK-bones to move it around it spins.

If anyone could tell what i do wrong, please help on that subject.
im out of ideas what im doing wrong.

.Blend file: ftp://adamtm.dyndns.org/handrig.blend

Firstly that is a very old tutorial you are using there … not that the basics still don’t apply but things like the null bones used are not that necessary …
Here is a link to Bassam’s demonstration of how he rigged his hands for last year’s Elephant’s Dream movie : http://www.blendernation.com/2006/08/05/siggraph-hand-rigging-demo/

(though he also uses a null type bone in his set up as well his solution is very interesting)

But back to your blend … first, you have your IK targets for the IK Solver as a part of the parent/child hierarchy in the fingers . Which you cannot have because if you do you will induce cyclic dependencies - which is why you cannot control your rig - Blender does not know how to calculate the proper motion in a situation with cyclic dependencies …
In the tutorial it says : “No IK tool bone is child of any bone of the chain it controls. All of them are children of “Hand.R”.”, but you have the “IK tool bones” as the child of the finger bones …

First go into Edit Mode with the armature selected and :
Take all the IK bones for the fingers and parent them to the hand bone in Edit Mode in the Armature Bones panel but make sure you hit the “co” button next to the field with parent bone name before you reparent to the hand bone - otherwise the root tip of your IK bones will snap to the tip of the hand bone - which you do not want .
Also disconnect “arm.ik” from the arm bone just by hitting the “co” so that it is not gray . Then select the tip of the hand bone and Shift-S -> Cursor to Selection . Now select the entire arm.ik bone and Shift-S -> Selection to cursor .
Then select all bones and Ctrl-N to recalculate the bone rolls for your armature .

Now go into Pose Mode and :
Let’s start with the easy one first, the hand bone with the IK Solver . In the Constraints panel for the IK Solver change the settings to “Use Tip” (should be gray) and set the ChainLen: value to 1 .
Now go to the finger1.null bone and for its IK solver settings : turn off the “Use Tip” (should not be gray) and set the ChainLen: value to 3 .
Now select the other three finger.null bones and change the settings like the finger1.null bone .
The thumb.null bones is the same as the others but the ChainLen: value is 2 .

Also you might want to lock up the Y an Z axes for the tip and middle part of the finger as these are simple hinges and have only one DOF (degree of freedom) but just leave the thumb alone (the tip also has one DOF but with how you have set it up you will get irratic movements if you do) - You can do this in the Armature Bones panel as long as they are a part of an IK chain .

That should fix the control problems but just from an anatomical point of view the finger1,2,3,4 bones should be the longest bones in the finger …

… I think it is about time some one updated a good hand rig tutorial …