Ok so I have a client that wants me to model and rig a rabbit for an android game. The problem is, the rabbits mouth is going to overlap its enormous eyes when it smiles wide. in the 2D concepts it works fine, but in 3D space, its impossible. I'm using maya to rig the model. My question is, is there anyway to make part of the eyes invisible when they overlap the mouth? I can't really can't think of any way to do it without asking my client to change the concept. Here's an image of what I'm talking about. Any help is appreciated!
Replies
For rendering purposes ( i'm using Max) , i would try some sort of layered maps plus animated, multiple UV channels ( different UV channels for the overlap) on the pretty highly tesselated modell. Thats just an idea and might totally not work
On the other hand it looks like a perfect task for the Vector map that comes with Max 2014 : it can take SWF and SVG but i'm not sure wether it does interpret the animation in them..
If its just for rendering sprites you can use FFD to deform the eye. Or morphers/blend shapes on the eyes.
If you could redesign the character a bit so the mouth was a bit more shallow or had a tiny bit of a muzzle you could keep the eyes out of the mouth pretty easily.
If you're looking for something a bit more realtime you could use bones to squash the eye by putting a bone in the bottom of the eye, weight to it and then move it up to keep the bottom part out of the mouth.
This is just two bones with the length unfrozen on the parent and squash/stretch turned off in the bone tools.
How you create the bones and link them largely depends on the engine.
If bone lengths must be locked then you might have to use a few more bones to to "squish the eye with chopsticks". Its less flexible, a few more bones and a bit harder to animate but should get the job done all the same.