PDA

View Full Version : Vertical pupil orientation


zenkatydid
05-23-2008, 08:00 AM
I am having some trouble with the orientation of my character's eye. It's a vertical slit pupil, like a cat, so the orientation matters (it wouldn't if the pupil were round).

I can't seem to get the pupil to follow the angle of the head. So when he's standing up, it looks fine, like this:

http://i61.photobucket.com/albums/h48/zenkatydid/headup.png

But when he bends down, for instance, the eye texture doesn't follow the bend - instead, it stays vertical, which looks awfully odd. Here's what's happening, the red line indicates the angle the eye SHOULD be at:

http://i61.photobucket.com/albums/h48/zenkatydid/headdown.png

The funny thing is, when I rotate the actual texture to the right angle (I tried to do this to get a screenshot for you guys as to what it was supposed to look like), the texture STILL doesn't rotate at all. It doesn't make sense?

Any help would be appreciated!!

Katy

Illusion-shadow
05-23-2008, 02:09 PM
What software are you using? Did you rig the character already? If you are using Max and and the character's eye ball have a look at controller on it, what you need to do is in the lookAt controller, select the head bone us the upnode and it should solve the problem.

zenkatydid
05-24-2008, 01:35 AM
I'm using Maya, sorry. He's already rigged and I've started animating him - I only just noticed there was a problem now. I was hoping there was a small fix I could do rather than re-rigging the whole head/look controls to save my animation, but whatever's necessary of course I'll do.

I've tried constraining it to the head controller instead of the look controller (which is a curve out in front of his head) but this doesn't fix the problem, the angle is still fixed.

ravikumar
05-24-2008, 08:10 AM
Hi..
I think so this problem is coming with the aim constraint of the eye ball joint (to which the eye ball is parented and used for the aim with the controller). Now the eye ball joint 'world up axis' is according to the scene. So delete the old aim constraint and create a new with the following options:
set the World up type: Object rotation up
World up vector: 0 1 0
World up object: type your character's head controller name.
The remaining options are you keep as per your settings.
Now we set the eye ball joint 'world up axis' is according to the head controller. Create the aim constraint and check.

Diependaal
05-24-2008, 09:22 AM
if you move the head, but not the eyes lookat control. than the eyes wont move.

if that not it, and you did mvoe the lookat also, than you might have linked the eyes wrong.
make a helper node,, link that to the headbone, make the helpers be lookat.. link the eyes to the helpers.

zenkatydid
05-24-2008, 11:22 AM
they way i have it rigged preferentially is with the head controlled by a head controller and the eyes controlled by a look controller, so that they move separately. i have also tried putting both the head and the eyes on the head controller, so that the eyes move with the head and not separately. the same problem occurs in both cases.

the problem is not that the eyes are not following the controls - they are - it's just the orientation of the pupil. if the x-axis is coming out of the centre of the eye, then it's the x-rotation that's not working, while the y- and z- rotations are fine. does that make sense?

i'm surprised no one has come up against this problem - has anyone ever rigged cat eyes like this, and could you tell me what you did?

thanks.

if you move the head, but not the eyes lookat control. than the eyes wont move.

if that not it, and you did mvoe the lookat also, than you might have linked the eyes wrong.
make a helper node,, link that to the headbone, make the helpers be lookat.. link the eyes to the helpers.

d-brooks
05-24-2008, 11:39 AM
I've had this exact problem before!!
Now I'm assuming you've got some kind of aim constraint on the eyes....if you haven't, then ignore me.

You must specify an 'up vector' for the eyes when making an aim constraint. I've found the best way is to use an up vector object (which can be specified in the aim constraint options box) like a locator or something, placed directly above the eye.

Once you've specified what's up, parent the locator under the head control and you should find the eyes rotate with the head. You can hide the up vector after for tidiness.

*Ravikumar just saw your post, you got it too!*

Hope this helps!

zenkatydid
05-24-2008, 12:48 PM
ravikumar and d-brooks, thanks you SOOO much! (sorry ravikumar, i didn't see your post before!) i used your locator up object idea, d-brooks and it worked wonderfully. i KNEW there would be a simple solution :D

http://i61.photobucket.com/albums/h48/zenkatydid/yay.png

CGTalk Moderation
05-24-2008, 12:48 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.