2
$\begingroup$

I'm trying to create a realistic Eye rig that uses bones instead of shapekeys to achieve more realistic results. I want the eyelids to deform around the cornea when the eye is moved around.

And while I have the eyelid being entirelly moved by bones I can't make it wrap around the eye because of the cornea. As you can see in the picture below the eyelid is clipping trough the eye mesh.

enter image description here

The eye was made with anatomic references and thus it's accurate, as such it has the "bulge" of the cornea.

Video showing what I want to achieve: https://www.youtube.com/watch?v=TAZIvyAJfeM

Is it possible to achieve this in Blender?

$\endgroup$
  • $\begingroup$ Here is a correctly rigged test character created with Makehuman:<img src="https://blend-exchange.giantcowfilms.com/embedImage.png?bid=6128" /> $\endgroup$ – FFeller Apr 28 at 16:53
  • $\begingroup$ I'm not sure how exactly this is suppose to help me. It has a setup very identical to mine except that the eye here is clearly lacking a cornea which makes it incorrect. And thus there is no clipping. $\endgroup$ – Pherion Apr 28 at 17:02
  • $\begingroup$ you can copy the weights and the bone position $\endgroup$ – FFeller Apr 28 at 17:04
  • $\begingroup$ That would do nothing. I'm going to update my question with a video of what I'm trying to achieve. $\endgroup$ – Pherion Apr 28 at 17:05
  • $\begingroup$ Updated question with video of what I'm trying to achieve. $\endgroup$ – Pherion Apr 28 at 17:10
3
$\begingroup$

I tried with the Warp modifier but it seems hard to make it work with a complexe topology, a Lattice modifier seems much more convenient:

  • First remove all the Copy Transforms constraints of your 3 bones (not sure why you want those).
  • In Pose mode, close the eyelid a bit so that you'll be able to test the modifier when the eyes are closed.
  • Create a lattice in front of your eye: shiftA > Lattice. Scale it down.
  • Subdivide it a bit, for example U and W values > 7, and make it flat on the Y axis with a V value of 1.
  • Give your eyelid mesh a Lattice modifier. Choose the lattice as Object.
  • Select your lattice, go in Edit mode, select the central vertices and make it a bit round, use the Proportional Editing / Sphere falloff type to help you.
  • Parent the lattice to the eye bone: ctrlP > Bone.
  • Now when you'll move the bone, the transformation of the eyelid will follow.
  • If necessary make some adjustments to the lattice in Edit mode, or scale it up or down in Object mode, play with the modifier Strength (and create keyframes if the influence changes through time). You can also limit the lattice influence on only a part of the eyelid mesh (with a vertex group that you'll set in the Vertex Group field of the modifier), etc...

enter image description here

$\endgroup$
  • $\begingroup$ Sadly, I'm not getting good results. The mesh is just being pushed away leaving gaps between the eye and the eyelids. $\endgroup$ – Pherion Apr 28 at 21:17
  • $\begingroup$ You need to play subtly with parameters, and also the position of the empties count, so maybe parent each of them to their own bone so that you can play on their position, there is no reason you could not make it work the way you want. $\endgroup$ – moonboots Apr 28 at 21:31
  • $\begingroup$ I'll experiment some more with them. But it seems that it is much harder to achieve this without shapekeys. $\endgroup$ – Pherion Apr 28 at 23:50
  • $\begingroup$ Yea, this really doesn't work. I tried all the values and moving things around but nothing seems to change. $\endgroup$ – Pherion Apr 29 at 12:16
  • $\begingroup$ could you please share this part of your file so that I can try, because I don't see how it can't work as you can set whatever factor you want: radius, strength, shape of the bump, etc... $\endgroup$ – moonboots Apr 29 at 13:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.