As I said before, the facial auto rig is almost done. while I was testing the rig on a stylised character, I noticed a problem I had ignored previously. I wont go into the details of the problem too much as it would require me to explain in detail the logic of the placement of joints for the eye. But in short, I want the eye lid joints to move in an arc (obviously). I place two 6 joints for the top eyelid-3 on outer edge and 3 on inner edge. The 3 joints are near, center and far on the eyelid, with near being closer to the nose and far closer to the ear.
So, as each character can have different eye shapes, and that includes non spherical eyes, I am now faced with a problem of moving these joints in a curve when the eyelid opens and closes.
A small diagram will explain the problem:
The second drawing doesn do justice a lot. So, I will show the 3d snapshots:
These are the end/Far joints of the top eye lid. The problem is the position of the end joints can be very different depending on the shape of the characters eye. so when the bottom joint is rotated up, you would expect it to go meet the top eye lid joint. But it does not. See below. (The joints have been oriented)
So, we see that just orienting the joints is not going to be enough. We need to rotate the eyeLid lower joint chain in Y by a certain amount to make sure the joint travels in a curve and meets up with the top joint.
THAT is the problem statement. How would you go about doing this? Each character is so different that the auto rig needs to be able to calculate by how much it needs to rotate the Y axis in each case. This is where I am not able to figure out my next step.
CONSTRAINTS:
I have designed this entire facial rig with one main goal. Simplicity! The entire rig now is built with just parent constraints and orient constraints. So, I am thinking of a solution using just these. I feel like that should work. After all, we are trying to orient this lower joint chain with the top one. But, I have not figured out how to do it yet.
hmm…. I need some MEL brain waves now…