Home Technical Talk

Bone Driven Facial Rigging

polycounter lvl 11
Offline / Send Message
Spudnik polycounter lvl 11
Hey everybody,

I was wondering if you guys could point me to a few good tutorials concerning bone driven facial rigging. I'm not looking for anything super complex, just the basics to get me started.

Thanks in advance, you guys rock!

Replies

  • ru4it
    Offline / Send Message
    ru4it polygon
    digitaltutors is a great place to start, it is subscription but in the end its worth it.
  • Christian Hjerpe
    Offline / Send Message
    Christian Hjerpe polycounter lvl 11
    Which software do you use?

    Here is a very basic tutorial for riggin in 3dsmax http://www.youtube.com/watch?feature=player_detailpage&v=bN8dvJoe4ew

    You can also check out Eat3D´s tutorial on rigging in Maya http://eat3d.com/facialrig

    Good luck!
  • martinszeme
  • Mark Dygert
    Animate with morphs and gDeform, attach points to the face, skin your mesh to bones that follow the points.

    I would create morph/blend shapes because that is the fastest and easiest way to animate a face. This gets even easier in max because of the push pull tools that can be applied, you can even use gDeform to further sculpt and animate the mesh much better than using just morphs.
    gDeform working example: http://www.vimeo.com/3628532

    Then attachment constrain points to the face, these points will follow the morphing mesh around and have bones snap to those points as they follow the morphing mesh around. Use Jim Jagger's animated align script to automate the bones snapping to the points.

    At some point you weight your final mesh to the bones and go back and animate the morph/blends, making new shapes or pushing and pulling the mesh around as needed.
  • Spudnik
    Offline / Send Message
    Spudnik polycounter lvl 11
    Pzychaoz wrote: »
    You can also check out Eat3D´s tutorial on rigging in Maya http://eat3d.com/facialrig

    Good luck!

    Sorry, I'm using Maya 2012, but this video that you linked seems to be exactly what I'm looking for. And if I have any more questions and/or problems I'll just necro this thread.

    Thanks a ton, everybody, you guys are the best :)
  • Bruno Afonseca
    Had some questions on this same subject... Is there a difference between using actual bones or point helpers as facial joints? I was using helpers on mine but it seems that everyone else is using bones!
    And what's the minimum amount of bones for a full range of emotion and phonemes? Gears of war has a few, uncharted has much more, all in different positions...
  • Mark Dygert
    It all depends on the engine and what the code monkeys cook up.

    In general when exporting (and each exporter is different), helper objects are interpeted as bones, but it depends. Sometimes it's not the object type that determines if its a bone but how it is applied to the scene. For example if you skin a mesh to a box, the box isn't a box its now just a joint. Or if the exporter is literal and only exports bones with very specific names then even a bone might not be picked up if its name is wrong.

    There are a lot of questions when it comes to facial animation and there isn't one standard way to do it, but a way that works best for whatever game, in whatever situation.

    Can the bones be floating points or are only rotations allowed?
    Are wrinkle maps going to be allowed to blend as animations play? How is that system driven?
    Can vertex animated heads be used? Unreal, Source, Crytek and a bunch of other engines support it in limited amounts, often as specific shapes in specific regions of the face.
  • Bruno Afonseca
    I see! How are wrinkle maps usually done? On my facial rig, some dummies are wired to some expressions, each dummy has the name of the area of the face it should affect (like forehead, nose bridge, cheeks etc), each one having a correspondent mask. But I was wondering if there's a more straightforward way to do this.

    And how can you animate with bone rotations? Where would those bones be? At the center of the head bone, with aim constraints to the points pinned to the face?

    Would be good to have this info up in the wiki!
    This is some good info too -> http://www.unrealengine.com/files/downloads/Jeremy_Ernst_FastAndEfficietFacialRigging2.pdf
    You can buy the audio of this conference, helped me clarify some things.
  • Mark Dygert
    The wrinkle maps are entirely engine dependent, you can do it in max by using a composite map and animating the opacity of each layer/wrinkle map. Each layer has its own blending options like Photoshop as well as a mask for each layer. Typically the opacity is wired to the same controller moving the morphs/bones around so you're not stuck animating half a dozen buried parameters.

    The composite map (not material) goes in the bump slot of a standard material. If you also have spec and diffuse wrinkle maps you can wire them the same way also.

    This thread goes over the max method in pretty good detail.
    http://www.polycount.com/forum/showthread.php?t=68446

    As for bone rotations, its probably the most unfriendly way to aniamte the face, but you normally place the root face node as far back in the head as possible to give you as much of a flat arch of motion as possible. I don't think you can key the rotation of bones that have look-at constraints applied so you end up using the animated align trick again to get an unconstrained set of bones to snap to and key to the bones that are looking at and following the points on the face.

    UDK as well as most modern engines supports floating bones in addition to vertex animation for faces, so typically you don't have to deal with bone rotation based rigs. Its mostly just the extremly old engines, low tech platforms like mobile, or very simplified home-brew engines that are rotation based facial rigs.

    Then there the method that Team Bondi use (which I'm not sure if its going to take off or not), where you throw out the bones and floating points, and use facial scan where you scan the facial performances in 3D and play that performance on the head.

    [side tangent]
    I gag a bit when they say things like "animators don't like doing that facial animation stuff so we automated it" well... they aren't talking to the right animators because there is an entire film industry and schools related to developing those skills and the people that do it are EXTREMELY passionate and happy to do their job. Or on their past projects the rigging and technical problems were never really cleared up so animators could move quickly and freely. If you give animators 3 bones for the face and say give me facial scan quality, of course they're going to throw their hands up and say "screw you it isn't happening". But I think they shot too far the other way with facial scan, but we'll see where it goes.
    [/side tangent]

    There are also other methods of capturing facial acting that give the animators much more flexibility to clean up and enhance the performance which aren't as heavy on the hardware or systems.

    So... there are so many ways to get it done and they all depend on a lot of factors surrounding the game, its hard to point to a method and say this is how to do it. But hopefully this gets you rolling.
  • Bruno Afonseca
    It does! Thanks!
    You know, polycount should really have a +1 beer button, which we could pay up in polycount meetings. I know I owe you a dozen already!
Sign In or Register to comment.