I'm very new to blender and I've run into a problem that I don't know how to solve.

Here is the face of the character:

enter image description here

I recently added eyes to it and now I need them to follow the character when I animate it.

I added two new bones and placed them in the eyes. Then I selected the eyes > selected the bones > Ctrl+P > With Automatic Weights. Here is the result:

enter image description here As you can see, the eyes move inwards slightly. How do I make them stay at the same place? Thanks.


2 Answers 2

  • First, select your armature, switch to Pose mode and come back to its Rest position.
  • Apply the Mirror modifier of your eye object.
  • Separate each eye with P two make 2 separate objects.
  • Select each eye and parent it with ctrl P to each eye bone.
  • It works.
  • $\begingroup$ Is there a way to parent the eye to just the eye bone, or should I just parent it to the whole armature? $\endgroup$
    – Jesper
    Commented Nov 16, 2018 at 18:12
  • $\begingroup$ as I said, keep the armature in Pose mode, then select your eye, select the bone you want the eye to be parented to, and parent $\endgroup$
    – moonboots
    Commented Nov 16, 2018 at 18:15
  • $\begingroup$ Got it. It works better than before, but the eyes still slightly change their position so it looks kind of stupid. Maybe it just can't be avoided. Also, I messed something up with my Head bone. Moving it no longer affects the mesh: Any idea why? $\endgroup$
    – Jesper
    Commented Nov 16, 2018 at 18:28
  • $\begingroup$ Actually I think it's because it's not parented with the mesh, but when I parent it the face looks terrible... Likely because of the eye bones. So I'd like to know if there's a way to avoid that. $\endgroup$
    – Jesper
    Commented Nov 16, 2018 at 18:31
  • $\begingroup$ yes you need to parent the head mesh with the head bone, either with Weight Paint or assigning the head mesh to the vertex group that has the same name as the head bone. These are the basics of rigging, you should follow some tutorials on this topic $\endgroup$
    – moonboots
    Commented Nov 16, 2018 at 18:40

There are two issues with the file you provided that lead to the eyes bugging out when you parent with automatic weights.

  1. You have a bunch of weird keyframes on your bones.
  2. Your eyes have constraints that mean that their rest pose is not the same as their constrained pose.

To fix 1), it's pretty easy. Jump to some unused frame (like frame 55), enter pose mode on your armature, select all, and clear rotation, location, and scale (alt r, alt g, alt s for me), then keyframe (i for me).

To fix 2), well, if you don't want it tracking someplace weird, delete the constraints on the eye bones. Or, if you want the rest pose to be the same as the constrained pose, you can find the proper positions for your track-to targets by scaling up a duplicate of the eye bones and then snapping the cursor to the tail of these duplicates, then snapping the track target to the cursor (snap menu is shift s for me.) Then, select one of the eyebones in edit and recalculate roll to global +Z axis (recalculate roll is ctrl n for me.) With auto-mirror enabled as you have it, the other bone will also have its roll recalculated appropriately.

There are other issues remaining with the file. I would strongly recommend applying all transforms (ctrl a in object mode for me) on your armature. Your eye bones are also placed improperly-- they should be in the center of the eyeball, but they are slightly below and lateral to that point.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .