Home Technical Talk

Help! I need to rig an impossible character!

Humblebee08
polycounter lvl 5
Offline / Send Message
Humblebee08 polycounter lvl 5
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

  • AviKohl3D
    Offline / Send Message
    AviKohl3D polycounter lvl 5
    What I would do: Use two alpha maps. One completely black, the other white where you want the eyes to be invisible. Use both maps plugged in the materials transparency node as an image sequence and use Set Driven Keys to switch between the alpha maps as the rabbit's lips stretch.
  • AviKohl3D
    Offline / Send Message
    AviKohl3D polycounter lvl 5
    Wait a sec: Does the mouth have any geometry or is the animation done entirely in the color texture? The image looks too flat to tell for sure.
  • Humblebee08
    Offline / Send Message
    Humblebee08 polycounter lvl 5
    Yes the mouth has actual geometry.
  • AviKohl3D
    Offline / Send Message
    AviKohl3D polycounter lvl 5
    Okay. Just realized that using only two frame would cause an abrupt change. You would need an alpha map for each frame of the smiling animation as the eye gets covered.
  • spacefrog
    Offline / Send Message
    spacefrog polycounter lvl 15
    Should this actually work in the engine or is the game using prerendered 2d sprites ?
    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..
  • Mark Dygert
    There are a few ways I can think to handle it and it depends on what its for.

    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.
    SquashEye.gif
    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.
Sign In or Register to comment.