First of all I am working in Maya 8. Any help with this problem would be tremendously appreciated.
I am having trouble figuring out how to have projected ramps of an eyeball
stay with each eye as my character moves.
The rig on my character is based on the squash-stretch rig explained in Stop Staring second edition. This rig has the eyes in a lattice and the lattice is wrap deformed to the character to follow any movement that the character makes.
I am using a projection for the eyeball because my eyes are elongated nurb shapes and not spherical. I can move the eyeballs around on the eyes with this ramp projection by moving a 3d placement node up, down, left or right.
It works fine with the character in its default position, but when I move the character the 3d placement node stays behind. Parenting the 3d placement node to the eyes doesn't work. Also I can not wrap deform the 3d placement nodes or put them in a lattice.
When I try to use constraints on the 3d placement node it zeroes out the transform which takes my projection away from where it needs to be.
Replies
In the Rendering menu: Texturing ->Create Texture Reference Object
It works but it is causing some unwanted rotation of the ramp when the head is tilted which doesn't look good.
Instead in the hypershade I used Convert to File Texture to replace the projection & place3dTexture and now I can change the translate UV frames on the new place2dTexture node to move the eyeballs.
When the eyes look straight up my eyeball shrinks though because the elongated shape of the eye tapers off drastically up there. I'm not sure how I can interactively adjust the size of the texture to scale it up slightly when looking upwards.
> When the eyes look straight up my eyeball shrinks though because the elongated shape of the eye tapers off drastically up there. I'm not sure how I can interactively adjust the size of the texture to scale it up slightly when looking upwards.
Post some more information on how you have this setup ?
I'm assuming you have a lattice deforming a nurbs sphere, you can rotate the nurbs sphere in the lattice, which keeps it's shape always ( but also allowing the nurbs sphere ( with texture ) to be rotated around inside ), when your eye is rotated up, it becomes smaller because that is how you have your lattice setup, correct ?
Unfortunately, if this is your setup, you can't get around the eye size ( pupil size ) change, there simply isn't the volume there to maintain it's ratio.
See this tutorial for more info : -
http://www.jawa9000.com/Technical/eyes/eyes.htm
Depending on your requirements ( is it a cartoon character ? ), you could select the lattice that deforms the eye, create another lattice on top ( with no deformation on it ) and rotate that around for animating the eye instead, your eye will maintain volume and image placement, but may not be 'visually' what you want.
These eyes have really given me problems, so its great to have advice and feedback.
I'll try to explain this a little more:
I have a cartoony character with elongated non-spherical eyes.
The eyes are each individually in lattices which are wrap deformed to the character's polygon mesh.
All the facial blendshapes for the character, including eye blinking shapes, are on another mesh. That other mesh is a blendshape for my character's mesh.
Now I have abandoned the projected ramp texture. The projection has been saved to a file texture and I am controlling the iris & pupil by changing the Translate Frame U & Translate Frame V on the 2dTexture placement node.
Unfortunately they shrink when looking up because of the eyes shape.
Here is the character looking forward and looking up:
____________________________________________________________
After rigging up the squash-strech character with the lattices and wrap deformer I discovered I had a frustrating problem when closing the eyes. Blinking caused the eyes to deform and push through the eye lids.
First image above: eye opened... second image: eye closed
_____________________________________________________
So to compensate for this I added Driven Keys to scale back on the Z axis to push them back into the head. This works but isn't ideal because as the eyes close the deformation moves the eyeball texture with it. So as the character is blinking the character looks down. I have a control to turn down the effects of the lattice on the eyes too but it all seems clunky. There must be a more elegant way to make this stuff work right.