View Full Version : Deformed Eye Setup in maya....

04 April 2003, 03:13 AM
I want to create an eye, deform if to the shape I want ....then I would like the pupil to follow along that new deformed shape I've created? The pupil would be like a black dot, and the eye itself wouldn't rotate, just the pupil would move...Is this possible. Thanks in advance. :surprised

04 April 2003, 01:22 PM
create a lattice with your 2 object and deform tha lattice to get the fomr you want and if you rotate the black pupil that should follow the new shape but keep your lattice ..........

04 April 2003, 05:19 PM
lattice eye
surface constraint and also aim or point constraint the pupil.

04 April 2003, 05:53 PM
Hades- When I do will follow the shape...but as you can see in the image. It freaks out in places. :shrug:

Michael- Can you surface constrain in maya? (is that geometry constrain?) I would like to point constrain the eye to a locator or something later for example so I can move it easily, but as soon as I move the pupil away it freaks out???

Thanks for your suggestions guys. I appreciate them.

04 April 2003, 06:07 PM
Hey guys....ok I got it. I created the lattice, then scaled the geometry down so that the lattice points weren't so close to my pupil part. Then Created a few group nodes so I could keep the thing together (not crazy about leaving a lattice on the object all the time....but if I have to). (I can animate that lattice can't I????) Then I aim constrained a locator to the pupil...and whalla, it works. Thanks for pointing me in the right direction guys.

I have another question though....and maybe I should start a new thread....actually I think I will. Thanks so much for the help.

04 April 2003, 06:19 PM
I've got a tutorial on my site about it

I hope it helps


04 April 2003, 09:08 PM
hey Goosh......yeah, I just found your tutorial. heheh. Basically the exact same thing I was doing. Thanks for sharing and putting that up. :D

04 April 2003, 09:33 PM
you must resacle your lattice after to get it works select base and lattice ans scale them

04 April 2003, 09:43 PM
I had a similar problem with some of the vertices managing to go outside the lattice, and messing up...

To fix this, I craeted a cube that was larger than my sphere, and selected this with the sphere, added a lattice, and then deleted the cube. This gave me a lattice that had some nice breathing room around the sphere....

The one slight potential problem with this is using an orient constraint on the sphere. Because it has been deformed, when the eye is not looking directly along an axis, it's not actually pointing at the locator you've got the orient constraint on. Not a huge problem, though...

04 April 2003, 11:26 PM
Typically the eye and pupil both rotate and are in the lattice. In that case if the pupil is allowed to deform, as in my MAX tut on my site, then all you have to do is scale up the lattice and base and you are done. Remember, points on nurbs lie OFF the the lattice may look like it is enclosing the object, but it isn't...which is why you have to scale it up.

Alternatively people like to have pupils that don't deform. In that case you'd need to do a Geometry constraint onto the eye surface and then also point constraint it to something that would represent where it would be aiming... The two issues with this is if the eye deforms a lot, the pupil may not sit flush/nicely on the surface...and 2, it may be hard to get it to position the right way. In this method, the pupil would not be in the lattice.

In both cases the eyes are usually left with the lattice/FFD around, and then blendshapes for eyeshapes are made by making targets for the Lattice itself.

04 April 2003, 04:31 AM
Originally posted by michaelcomet

In both cases the eyes are usually left with the lattice/FFD around, and then blendshapes for eyeshapes are made by making targets for the Lattice itself.

So can you elaborate on how to make these blendshapes from the lattice itself. Would I duplicate the whole group, lattice and eye? Or would I just shape....and then use SDK's to form my targets? I'm kinda confused on how you can make blendshapes this way?? :surprised

Thanks. I'm sure it's pretty simple.....I'll try it myself later, but is there a prefered way to do this?

04 April 2003, 12:04 PM
Just like any other blendshape. You duplicate your Lattice, and move it over or whatever...and then move the points on it...

If you want to see how it looks, add the blendshape node first before tweaking points, and set that channel to 1.0 so you can see the effect on the real eye as you change it.

04 April 2003, 05:30 PM
Thanks...that's what I wondered....if I needed to duplicate the lattice or not??

04 April 2003, 06:06 PM
The lattice is a good idea...however i use another method

Involving geometry constraints, normal constraints, and a point constrain to the eye control.

It is really easy...tell me if your interested and i will write down the steps

04 April 2003, 09:35 PM
Sure, I'd love to know more methods/options. Thanks!!

04 April 2003, 10:32 PM
i want to make sure i completely understand the goal.

Do you want this eyeball to continue to deform its shape AFTER the pupil has the ability to follow along the shape?

Or do you just want the pupil to stick/follow along a complex deformed eyeball?

04 April 2003, 10:59 PM
the pupil does not need to deform....just follow the new deformed shape.

04 April 2003, 03:09 PM

(I am using MAYA)

This method is very very very simple to set up.

the eyeball needs to be made of nurbs but the pupil can be made of poly or nurbs.

First deform your eyeball shape....(using WHATEVER method you want)

Then place the pupil alongside the eyeball in its future default position.

Select the EYEBALL and shift-select the PUPIL and create a geometry constraint.

(You can now test out how the pupil slides along the surface of the eyeball...but notice that is doesnt rotate itself along the surface...YET.)

again select the eyeball then shift-select the pupil and go to the normal constraint options...change the settings as follows...

Aim Vector 0, 0, 1
up Vector 0, 1, 0
World Type: Object Rotation Up
World Up Vector: 0, 1, 0
World Up Object (this is where you type in the name of your eyebal) (NOT THE PUPIL)
Constraint Operation: add targets

(ok now you can select the pupil and have it smoothly run along all sides of the eyeball)

Now we have to create a control...

Create a locator (i prefer using curves as controls though) and place it a good distance in front of the eyeball.

(zero the transformations on the curve)

now select the locator and then the shift select the pupil and POINT CONSTRAIN them. (DONT AIM CONSTRAIN)

Now wherever you move the locator the pupil will try to follow.

Do the same for the other eye and then parent the two locators to some kind of master eye control....

I have attached an image of what my controls usually look like. The purple circles are the eyecontrols...(my pupils are constrained to look at the ltwo ittle purple circles on the inside. If you move the large outside circle...both of the little ones follow.

I hope this is really easy to setup


04 April 2003, 05:36 PM
Wow! Thanks for the detailed explaination. :beer: Can't wait to try this out. Thanks again!

04 April 2003, 02:05 AM
Yeah that method is what I was meant when I mentioned using a geometry/surface and a point constraint earlier.

Basically you can make that locator actually the child of another locator or joint that does an aim to the real target, with it's rotation centered at the center of the eye. So that effectively you still have a regular aim type rig...

but then the pupil is point constrained tot he locator, that would normally be at the radius of the eye and at the surface if it was spherical, but then also geo and normal constrained.

That's a good detailed step-by-step description.

04 April 2003, 02:07 AM
As a side note that same idea was used by a coworker of mine back at Big Idea as a test for a complete facial mouth/brow rig.

You can use the same idea, and then create this kinda of low res surface that would be a jaw or mouth/muscle combined type shape. A simple low res face inside the face if you will...then you can put bones on it that are geo-normal-constrained to that. Then those bones can skin the real face.

What you get is nice bone controls that can move, but nicely move along the surface of the head itself, or whatever you defined as the hidden nurbs geo.

04 April 2003, 04:45 AM
Interesting idea. I'll have to re-read your explaination a few times....sounds cool. Thanks again!!

04 April 2003, 04:23 AM
How did my tutorial description work out??:wavey:

04 April 2003, 06:08 AM
It worked great...exactly as you said...good instructions!! Thanks!....I did have to play around with the . . .
Aim Vector 0, 0, 1
up Vector 0, 1, 0
World Type: Object Rotation Up
World Up Vector: 0, 1, 0
Settings...but eventually got what I wanted.

Thanks again....(to everyone)

I will proly come back again some other time and ask more questions :)

04 April 2003, 11:33 PM
OK....another question....eyelids. How do you go about creating these. Just in general. I mean...can I position my eye in the character, then duplicate the main part and cut it up to for my eyelids and freeze transformations? Assuming that I'm using geometry for blinks and not the actual heads eyelids. Make sense?

CGTalk Moderation
01 January 2006, 09:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.