Problem rigging and animating creatures eyes to move with the head.

I am Having a Devil of a time getting this projects eyes to not pop out of the eye sockets when I am moving the head around.
Seeing as I am new around here, I don’t think I am able to post a blend file, so I am kind of SOL on that.

it is a Non-Humanoid Creature, with 4 eyes. and the armature is anything but a standard setup.
four legs, two arms. No fingers just claws.
what I have been trying to do, is get the eyes to move with the head properly. I have no need or intent to animate the eyes to look at anything (move around to look at a target or track an object), I just need them to move correctly with the head so they do not slide out of the head.

also I am what you would call a… I don’t know the term for 5 levels under Novice? But I am just under that.

I have more or less done things by feeling around in the dark.
so I know I have done something wrong or have flat out missed a good number of steps that anyone else would of known to do. So please accept my apology.

Also, If this is the vary wrong place to post this, please let me know, so I can have it removed or moved to where it should go.
and if anyone has some links to where this kind of problem has been asked and answered or some videos on what i should be doing, I would be vary thankful.

You can post images of your work here, that would help us to help you. Also you could tell us how you parented the mesh to the armature and how your armature is built, e.g. do you have a “root” bone to which all major bones and IK targets are parented? Do you have any unapplied rotations or scales on either armature in Object mode or your mesh?

The eyes would normally have separate bones for each eye and these would be parented to the head bone. :spin:

You can post a blend file to pasteall.org under the blends tab and then post the URL link here so we can see it.

Don’t worry about being a beginner - we were all there once! :slight_smile:

You might like to search out the Humane Rigging tutorials, they will be a great help to you, a would searching through the posts here for similar issues, I know I for one have responded to similar issues in the past. You have chosen the right place to post this so that is a good start!

Oh yes, welcome to BA! :yes:

Cheers, Clock.

an Image of the offending Pain in my side.


Eyes are parented to the head bone. (Likely incorrectly)
thanks for the URL
here is the Blend file: http://www.pasteall.org/blend/43171
(first ever attempt at Rigging anything)

have not started the Weight Paint since I am trying to put out this fire before I start another.
as for rotation and scale. 90% sure that I have not added any and if there is, I did it by mistake.

I hope that link works…

Along with clockmender’s excellent comments, a very simple approach for eyes that do not move in their sockets is to Join them to the full body mesh. The eyes meshes can then be weight painted to values equal or similar to the head mesh immediately surrounding them. In Monster Movie, the eyes were simply modeled as part of the overall head/face surface mesh, and painted in the texture maps, the most basic approach of all.

If keeping them as separate objects is better for your needs (it can be extremely variable from one project to another, for sure), they can be made children of the same bone that controls movement for the entire head, or at least that portion where the eyes are located (alien physiology can be so demanding lol).

And again, welcome in! No learner’s permits needed, and earnest inquiry is always appropriate.

I tried to put a link to the blend File. But that post has likely been denied because of the new user restrictions.
So i can’t put a url. uplode an img. or anything that would help to identify the problem.

looks like I need to reply to more things, and wait for the auto-moderation to let them be posted before I try to ask for help again.

but hey Thank you Clockmender and Chipmasque for your replys.

the eyes are separate objects with UVs and textures from the body Mesh. For what I am “trying” to do with them I need them as separate objects to be later fiddled with in later animations.

thanks again for your time and help.

Then the best way to go would be to have bones in the armature for the eyes, which are parented to the head bone and then parent the eyes to these bones. Don’t be tempted to make a separate armature for the eyes, keep it all in one armature, that makes the project more efficient as all the actions are contained in one object. You might also checkout the Rigify Add-on biped armature to see how eyes are done in that and do the same for all your eyes.

Cheer,s Clock.

EDIT: BTW your image and blend file link are now there in post #3

I did try that after looking at about 20 different How to vids on the youtube.
But for the life of me I just could not get it to work.
I will try that Rigify Method. but no matter what I do, add bones to eyes, and constraints even deleting everything and re-importing the OBJ. I must be missing something Small yet total important.

OK so this is how I would do it:


Rotate the “head” bone to rotate the head. :spin:

Move the “eye-target” bone to change the eye focus point.

Move/rotate the “root” bone to move the whole rig.

Here’s the blend file:

eyes.blend (531 KB)

I did not add any movement constraints, you can do that!

Cheers, Clock. :slight_smile:

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. :wink:

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:

EDIT:

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.

EDIT2:

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.

The 10 videos I looked up showed doing a Bone Parent so that is what I did. (I knew I messed up something Small But vary Important.)

Also I have no need to Animate the eyes.(make thing look around.) it is more of a “Plan To make them Explode” thing. I just wanted them to move with the head. this creature will not blink or have any eye animation.(outside of the explode,melt,rot thing) But I am so new to all of this, I am feeling around blind. heck I’m so new I did not even think to Join here at BA.

I will try doing what you suggested, also I think I should Just add in eye Bones. I have a feeling this will also help to fix more problems down the line as well as lessen my habit of making silly mistakes.
Boy I can’t wait to see how I F.U.B.A.R. that all up lol.
and again thank you.

Looking over your models & rig so far, I can see why there were questions and concerns about how the eyes were reacting – clock pretty much covered your possible solutions. But as a sidebar, the 10 videos you watched that parented eyeball meshes to bones are very typical, as for the most part eyeballs do not deform significantly in their sockets (OUCH!). But your setup is atypical, so the Bone parenting is not the better choice. You did not make a wrong choice (such rarely exist) but rather one not suited to your other rigging, something your inexperience made hard to see. No mistakes are silly if you can learn from them and not repeat them down the line.

OK, so I made a few mods to your file…

  1. Moved the eyes to a new layer.

  2. Moved the Armature to a new layer - this is good practice so you can work on the armature without the mesh being in the way all the time, yes I know about Hide, but this is how I like to do things.

  3. Added 5 new bones for the eyes, with a control bone, see below:


What does all this do? I hear you ask… I am sure I did hear you ask :yes:

Well you can do the following:

  1. Rotate the eye-control bone about its X axis (key R XX and then move the cursor), this turns the eyes forward or backward.

  2. Rotate the eye-control bone about its Z axis (key R ZZ and then move the cursor), this turns the eyes up and down.

  3. Scale the eye-control bone - this makes the eyes bigger or smaller. I did think that you could keyframe one sequence of the eyes scaling up and down a little bit, then add a Cycles Modifier to the action in the Graph Editor, that would make the eyes do a constant “bulging” motion throughout your animation, creepy or what! :eek: I did not do this in the file I posted back to pasteall, but I can show you how below:


You can see I inserted three keyframes for X, Y and Z scale with values of 1 then 1.2 then 1 again - I then added a Cycles Modifier to each F-curve, this makes Blender repeat the cycle over and over. So throughout the animation, the eyes pulse slightly larger then return to normal size. I posted the blend file back to pasteall before I did this, so it’s just here to show you what I did. The rest of the rigging and organisation changes are in the blend file linked below:

http://www.pasteall.org/blend/43203

I think I forgot to parent the eye-control bone to the root bone, you can do this bit yourself, by just setting the value in the bone panel when in edit mode for the armature as shown below. :eyebrowlift:


Hope this helps you, feel free to ask any questions or even cast doubts on my sanity!:stuck_out_tongue:

Cheers, Clock.

I forgot to say - this is a nice model and you have at least adopted a pretty good bone naming convention, I see so many rigs here that just have bone.001, bone.002, etc - this makes them so hard to debug. :ba:

EDIT:

I did some more playing and if you reduce the segment count to 1 for the head bone, you get a better deformation of the neck when you raise the head, why did you have 10 segments?

That was Just me Grasping at straws. Messing about and fiddling with anything and everything I could fiddle with to try and solve the problem.

Everything Works Just fine now. (until I mess things up weightPainting it)

Thanks A lot for all the help and the eye set up.

OK, you’re welcome - here are some “Top Tips”:

Save a copy of your blend file under a new name BEFORE you start a major possible cause of FUBAR, like weight painting. I append -1, -2, etc. to the project name each time so I know I can go back in stages.

Don’t weight paint unless it is really necessary to improve the mesh deformation, it’s a bit like jumping in a pit full of snakes, if you don’t know what you are doing.

RTFM, or ask here before you try something when you really don’t know what it does.

If you want to experiment with a technique, use a simple model with a basic mesh and small armature to practice, don’t practice on your “prized-model-that-took-you-months-to-build-and-didn’t-backup”.

Cheers, Clock.