Button Eye Rigging

Hello there,

I am trying to rig eyes, but I have given the character “button eyes” and so no tutorial I can find on eyes is actually helpful. Image attached so you can see what I mean. :slight_smile:


(Actually I need to move them closer together … xD)
Anyway, I can think of some constraints that allows me to move the eyes on a plane just left/right/up/down as far as I allow. Ideally I’d like that to be an oval, though, not a rectangle, and since the face mesh is pushed in at the eyesocket area … is there a way I can have the eyes move following the surface of a mesh? I could create another plane for each eye that follows the curve of the face and the button eyes could move around on there limited by the end of the mesh. Hope you can imagine that, because that would be the best solution I can think of.

Any ideas to rig these eyes would be most appreciated!
Have a lovely day. :slight_smile:

Hello and welcome to the forum…

Interesting problem…

is there a way I can have the eyes move following the surface of a mesh? I could create another plane for each eye that follows the curve of the face and the button eyes could move around on there limited by the end of the mesh. Hope you can imagine that, because that would be the best solution I can think of.

And you’ve almost figured out how to do this! Here’s what I would try:

Create an eye bone inside the head, the tip of this bone wants to be very close to the inside of the head mesh, but not touching it, and located where the button eye is. The root of the bone should be positioned so the eye bone is level and pointing straight ahead. On the outside of the mesh, where the button eye is, close to the head mesh, create a new mesh object -> plane. In edit mode scale the mesh plane to roughly match the button eye mesh, select 2 of the 4 verts and merge them. Now you have a triangle. In object mode, with the triangle selected, shift select the armature, enter pose mode for the armature, select the eye bone and do a ctrl-P -> parent to bone. Add a shrink wrap modifier to the triangle mesh object targeting the head mesh, adjusting values as needed, consult the manual. At this stage, test it out, if everything is setup correctly, as you rotate the eye bone around, the triangle should stay attached to the mesh topology. It will look like the triangle is passing through the mesh, which it is, but if you enter edit mode for the triangle, all 3 verts should be on the surface of the head mesh.

Once you have that working, reset the eye bone so the triangle mesh is at the location of the button eye mesh, select the button eye mesh. Shift select the triangle mesh, go into edit mode for the mesh, select the 3 verts, and do a ctrl-P -> parent to vertex. The button eye mesh is now a child of the triangle’s 3 verts and should move as those verts move. This is vertex parenting, useful at times, worth learning about…

If you have problems, you’ll need to post up the .blend file for me to look at. You’ll have to post it somewhere and post the link here. I think new users are limited on what kinds of files can be attached to posts, so you probably can’t post the file here.

Randy

1 Like

Thanks Randy!

That was really helpful. :smiley: I pretty much have what I wanted now, probably very basic, but it works fine. Although if I apply a ShrinkWrap Constraint to the eyes themselves it has the very same effect as you have described it here with a plane and ShrinkWrap Modifier. So I opted for the Constraint. :slight_smile: I just had to limit the rotation of the eyes, so that they were always facing the front and voila! Done. xD


I’ll probably have to ask some more but that would be about Mesh Deform, in a different thread. Maybe I’ll see you there, too?
Thanks for your input and have a nice day! :smiley:

Glad it works for you. The reason why I suggest the route I mentioned, and not the shrinkwrap contraint, is because I thought your eyes looked like they had depth to them. That is, that they were shaped like half a sphere, with the center sticking out further than the edges. It was probably the white dot in the center that made me think that. Anyhow, that’s why I suggest what I did, because if you shrink wrap half a sphere to a flat surface, it becomes flat too.

Randy