So now I have just had a quick look at the model from Pasteall - the reason you are having these issues is because the head bone is segmented into 10 parts and as such it “bends” as you rotate it. The eyes, not being connected to the head mesh, are transforming differently to the head vertices, hence why the eyes go out of alignment.
Here I show the head bone, rotated about X with the eyes as they should be - see later on in my ramblings for why this is:
You should be able to see that the head bone is curved as well as rotated.
As for a solution - I think making the eyes part of the head mesh is one way to go, then they will stay put. This means removing the parent from the eyes, deleting the vertex groups and removing the armature modifier, then join them to the head mesh (select both meshes, CTRL+J) I would add a vertex group first called “eye” for example, then assign all vertices in the eye mesh to this group before you join, that makes manipulating the eye vertices easier. You would then sign all “eyes” vertices to the head bone. So now if you want to change the eye focus, you could do this with different image textures, or by moving the image texture mapping values in the material node setup.
Or, you could assign some vertices in the centre of the eye to another bone and manipulate that bone to “move” the pupil/iris parts of the eye. Either way you will not get exactly what you want perhaps? I don’t know what animation you are going to do with the eyes yet.
Another way, keeping the eyes as a separate mesh, is to make a vertex group of the outer regions of the eyes, give it a name like “Eyes-outer” then add a Shrinkwrap modifier to the eyes with the head as the target and select your new vertex group in the modifier, this will keep the outer extremities of the eyes “locked” to the head mesh and they will not “appear” to move.
That’s my initial thoughts - see how you go and let me know.
Cheers, Clock. :eyebrowlift:
I may have been a bit hasty here…
I have just noticed that when you parented the eyes to the armature you did a “Bone Parent” not a proper “Automatic Weights” parent, there is no armature modifier on the eyes and no vertex groups - this is how I know what you did!. So remove the “Bone Parent” from the eyes, select the eyes, then SHIFT select the armature, key CTRL+P and choose “Automatic Weights” then the eyes deform properly with the head bone, This does not cure your need to animate the eyes, however, that we must discuss further when we know what you want to do with the eyes.
FYI - a “Bone Parent” will not deform the mesh, it just rotates/moves/scales the mesh in its entirety as you manipulate the bone. This is a useful tool when animating “Hard” objects, like gears, mechanical models, etc. but it is not good when you want the mesh to deform, even slightly, so for that always use a full “Automatic Weights” parent to start with, then adjust this by weight painting if necessary.