Ok, took me a min to figure this one out. And just let me say for the record and for everyone who may read this, this is exactly why you should always post up a .blend file, without one, I could have never figured out what was wrong.
Here’s what’s wrong with the eyes: They are parented to the head bone and they have a copy rot constraint on them targeting the eye bone. When you parent a mesh object to a bone, you are telling that mesh object to move as the bone moves. Then when adding the copy rot constraint to the eyes, you are telling the eyes to copy the rotation of their bones. So basically you are telling the eyes to move as the head bone moves (and rotate as the head bone rotates) and also rotate as the eye bones rotate. So how should the eyes move, as the head bone moves or as the eye bones move? See my point?
So, here’s how to fix it. In the armature panel, put the armature into ‘Rest Position’, select the eye mesh objects and clear their parents (alt-p). Then select the eye mesh object, shift-select the armature, enter pose mode and select the eye bone, do a ctrl-p and select ‘bone’ from the menu. Oh, and remove the copy rot constraint from the eye mesh objects. Now the eye should only be influenced by the eye bone. Since the eye bones are children of the head bone they will move as the head bone moves. I didn’t actually do this with your model, but it’s how I always do eyes, parent them to their bones.
Now, here’s a few other things I noticed that you will need to fix up as well:
-
The arm ik controllers are influencing your mesh. Grab one and move it far away from the mesh and you will see what I mean. Any bone that is not to deform your mesh should have ‘Deform’ in the bones panel un-checked. This might mess with the weight painting as the mesh is weight painted to that bone and once ‘Deform’ is unchecked it will no longer be influenced by that bone, and the remaining bones that influence that area may not do so in the way you want.
-
Remove the mesh deform modifier from the eyes, it’s not needed there… and in general, remove it from the main mesh until you are ready to use it. I only mention this because sloppiness like this can lead to confusion.
-
The legs need work, no, they need a lot of work. I’m not sure how you are meaning them to work (and they can be the toughest to rig), but you can get rid of the ik constraints on the thigh bones. Instead use the ‘pole targets’ on the ik constraint for the lower leg to control the knees.
-
Replace the ik constraints on the eyes with track-to constraints instead. KISS - Keep It Simple Stupid, or only use what you need and track-to will work fine here.
There are a few more things I see, and actually you may want to end up using the mesh deform for this, so don’t get rid of it just yet. By that I mean, don’t delete the cage just yet, just move it to a different layer and hide it for now and get rid of the modifiers.
To see how to set up pole targets see this:
Also, check out the Joe rig in my signature for other ideas… The python scripts for the UI in blender are broken, but you might get a few ideas from it. I need to update it.
Anyhow, I feel like I just wrote a whole book…
Randy