Facial Rig

Embed Size (px)

Citation preview

  • 7/28/2019 Facial Rig

    1/24

    A muscle based face rig

    Innovations report

    Jan Erik Olsen

    d1155694

    BACVA3

  • 7/28/2019 Facial Rig

    2/24

  • 7/28/2019 Facial Rig

    3/24

    Abstract

    The report focuses on the creation of a facial rig based on a muscle system. A substantial part

    of it will discuss the features of the cMuscle System by Comet Digital, LLC.

    Introduction

    The human face must be one of the most challenging subjects to replicate in arts. This is

    because the face and the expressions it makes is such an important part of our communication

    with each other. Understanding what other people feel is highly important to us, so as a result

    we are able to detect very minute changes in a persons face. This also means that artists need

    to be very skilled to reproduce a face and the desired facial expressions.

    In computer graphics, most facial animation we see today is either based on shape animation

    or on joints. This can produce superb results, but many times it can also look a bit stiff. In

    those cases, a hint of jiggle and inertia could make the animation look more natural. The use

    of a muscle system could be one way of improving this, and this project aims at finding ways

    of using the features of one particular muscle system, the cMuscle system by Comet Digital,LLC, in a facial rig. For this project, I will use a model of a head that has been modelled for

    my major project.

  • 7/28/2019 Facial Rig

    4/24

    Facial anatomy

    In order to be able to rig a realistic cg human head it is necessary to understand the anatomy

    of a real life head.

    It is important to understand the how the muscles act in a face, but the study of muscles can

    also lead the modeller off the right track. On most of our body we have skeletal muscles,

    which are used for moving joints. Skeletal muscles roughly produce two visible results: The

    moving of a joint, and the changes of volume and firmness under the skin. For example the

    hamstrings can move the lower leg, and we can also see if the muscle is flexed or relaxed

    under the skin.

    Most facial muscles however, produce a quite different result. Most of them originate from

    bone on the scull, and insert into other facial muscles. Some connect directly into the skin,while others join up in nodes which are connected to the skin.

    The visible results from facial muscles, i.e. facial expressions are seen mostly as the skin is

    pulled in different directions. The flexing and relaxing of the muscles in the face is much less

    visible than for example the skeletal muscles on an arm. So to produce facial expressions in

    cg, it makes sense to concentrate on the wrinkles and folds of the skin and where facial

    muscles are connected to the skin rather than the muscles themselves.

  • 7/28/2019 Facial Rig

    5/24

    The rigging process

    The rigging or set up stage basically means to prepare a cg model for the animation process.

    For an animator to be able to do his or her job properly, the rig must provide good

    deformation and have an intuitive interface.

    There are many ways of deforming cg geometry, and as a result there are several approaches

    to rigging with their different strengths and weaknesses. Most rigs use a combination of

    several methods.

    As mentioned, this facial rig is based on a commercial muscle system plug in for Maya called

    cMuscle System by Comet Digital, LLC.

    About cMuscle System:

    The cMuscle System is a plug-in suite for Maya. Its not my intention to give a detailed

    explanation on how the system works, but I will outline the main features to help the reader to

    follow the rigging process. For detailed information about the cMuscle System, refer to:

    http://www.cometdigital.com/cMuscleSystem.php

    In my second year Specialist Project, I used the cMuscle System to build a rig with leg

    muscles.

    The cMuscle System uses a custom skinning solution that enables the objects supported by

    the plug-in to interact with the skinned object. The most important of these objects are called

    capsules and muscles.

    The capsules are in essence Maya locators with a length and a radius, and act similarly to

    regular Maya joints. These are rigid objects that can interact with the skinned object and are

    used for muscle attachment. (Fig 1)

  • 7/28/2019 Facial Rig

    6/24

    Fig 1

    A basic muscle attached to two capsules.

    Fig 2

    Moving the capsule causes the muscle to bulge.

    The muscles are in short regular NURBS surfaces controlled by a cMuscle deformer. The

    deformer uses a hermite type spline to control the squashing and stretching of the muscle.

    (Fig 2) The muscle can also be deformed by moving the spline control points, giving more

    possible shapes for the muscles. (Fig 3)

  • 7/28/2019 Facial Rig

    7/24

    Fig 3

    Moving the control points of the hermite curve.

    When a muscle is added to the system, it can interact with the skin in different ways. One way

    is to paint sticky weights. This means that the skin will move with the muscle as if it was

    glued to it. Another method is to pain sliding weights. This will cause the skin to only be

    moved outwards from muscle, The effect looks like the muscle is sliding under the skin.

    A very useful feature of the muscles is their ability to jiggle. This can help to make the rig

    appear more lifelike, simulating the inertia of the face.

    Building the rig

    The most interesting part, and also the most time consuming, has been to figure out how to

    make use of this muscle system in the face rig. As mentioned, to replicate real life facial

    muscles would only make sense in special cases. Instead I looked at the different qualities of

    the muscle objects, and how they could deform the face model.

    As a basis for the face rig, capsules are parented together to form a base root, three neck

    vertebras, a head capsule and a jaw. The skin of the model is weighted to the corresponding

    capsules by painting weights. At this stage, the set up is just like a basic joint driven rig,

    Muscles and other objects are later connected to it to add detail to the deformation.

    In the sections below, I will discuss my solutions to placement of muscles. These do not cover

    every possible face expression, but some of the issues where the muscle system can be

    helpful.

  • 7/28/2019 Facial Rig

    8/24

    Fig 4

    The polygon head with a basic capsule rig.

    Jaw / Chin

    One common problem with a basic joint based cg rig is that theres nothing to stop it from

    colliding with itself. This causes it to loose volume in certain areas, and the skin under the jaw

    is a typical example. As we open our jaw and/or bend our heads downwards, the space

    between the throat and chin will be smaller. This causes the skin, fat and muscles under the

    chin to be forced outwards and bulge.

    After looking at several ways of positioning and controlling muscles, I decided to place a

    muscle with origin under the chin and insertion in the upper parts of the throat area. The

    capsule at the origin is parent constrained to the jaw capsule, and the insertion capsule is

    parented to the third (top) neck vertebrae.

    As the jaw opens and closes, the length between origin and insertion will vary which is

    measured and used to control the squashing and stretching of the muscle. This worked nicely

    for the area directly under the chin, but the deformations on the side areas were not ideal. To

    fix this, I added two more muscles running along each side under the jaw. With this, I had

    better control of the bulging under the chin and jaw.

  • 7/28/2019 Facial Rig

    9/24

    Fig 5

    Three muscles acting on the skin as the head bends down.

    Fig 6

    The resulting deformation of the skin from the muscles under the jaw.

    Another possible way of controlling this area would be to place a muscle like a band under the

    chin. This would have the advantage of using just one muscle, which means its easier to

    position and paint weights. Still, it would be harder to drive the bulging and flexing of the

    muscle based on the jaw and head movement since it would not directly cause any change in

    the length of its control spline.

  • 7/28/2019 Facial Rig

    10/24

    The Nodes

    A very important feature in facial anatomy is the nodes. The nodes are located just above

    the angle of the mouth, one on each side and acts as a central connection point for several

    muscles (nine in total). The most noticeable function they have is to allow muscles to pull the

    corners of the mouth to the sides, up and down from this point.

    Fig 7

    The nodes are highlighted in red.

    Illustration from Human Anatomy for artists, Eliot Goldfinger, Oxford University Press, 1991.

    The functionality of the nodes can be seen as a good example of that a muscle based cg rig

    does not have to be nearly as complicated as the real thing. It would not make much sense to

    rig eighteen muscles just to move two nodes. Most of them do not influence the skin directly,

    but the results of their actions are visible on the skin as they pull on the nodes. The most

    visible exception is the orbicularis oris which is the muscle shaping the lips.

    As I recognized the importance of the nodes in a real face, I decided to mimic this

    configuration in the cg rig. I thought that many aspects of a face expression could be driven

    by the positions of the nodes, and that it would in turn make the animation process easier.

    In the rig, the nodes are represented by capsules. Although they do not directly influence the

    skin, they are connected to most of the cg facial muscles which are in turn deforming the skin.

    In the illustration (Fig 8) we can see the nodes and the cg muscles they are connected to.

    These muscles and the nature of the connection will be explained in detail in later sections of

    the report. Note that these are not necessarily direct representations of anatomical muscles.

  • 7/28/2019 Facial Rig

    11/24

    Fig 8

    The cg nodes are highlighted in red. The connected cg muscles are called:

    1: Upper lip, 2: Lower lip, 3: Mouth angle furrow, 4: Nasolabial furrow,

    5: Cheek, 6: Cheek Fat.

    The Lips

    Real life lips are shaped by the complex muscle Orbicularis Oris. It can be divided into two

    major parts: The upper and the lower lip portions. These parts are furthermore divided into the

    outer and red lip portions. As a whole it runs all around the mouth. As we can see from the

    illustration (Fig 9), it is directly connected, or even a part of the nodes.

    The real muscle is able to produce a number of complex shapes, so to reproduce this in cg is a

    real challenge. I did a lot of experimenting with cg muscles before building the lips, and

    ended up with this conclusion: The best way of representing the red lip portions would be to

    place one cg muscle in the upper lip and one in the lower because this could be shaped very

    close to the lip geometry. However, this would only make sense if I could accurately control

    the muscles. Placing clusters on selected CVs on the NURBS muscle gave good local control,

    but moving them did not produce any jiggle.

    In contrast, moving the control points on the cMuscleSpline of the muscle does produce

    jiggle. The system also lets the user choose how many control points the muscle is controlled

    by. The control points can be rotated for even more fine control.

  • 7/28/2019 Facial Rig

    12/24

    Fig 9

    Orbicularis oris highlighted in red. The abbreviation oor (out) means

    orbicularis oris outer portion and oor (RL) means

    orbicularis oris red lip portion

    Illustration from Human Anatomy for artists, Eliot Goldfinger, Oxford University Press, 1991.

    Fig 10

    The cg red lip portions seen from behind. Note the rotated

    control points.

  • 7/28/2019 Facial Rig

    13/24

    In the final rig the red lip portions of the muscle is implemented with two cg muscles. (Fig 10)

    They have five control points, three of which are controlled directly from an animation

    interface. Moving and rotating the control points gives accurate control of the lips. A cluster is

    also added on two CVs on the bottom part of the upper lip to enable the animator to give it a

    flatter shape when needed.

    To control the region between the lips and the nose, three flat muscles was added. (Fig 11)Their lower endpoints are point constrained to the control points of the upper lip, making

    them expand and contract with the movements of the upper lip.

    Fig 11

    Frontal view: The red lip portions and three muscles

    representing the outer portion of the upper orbicularis oris.

    Fig 12

    The deformed cg lip.

  • 7/28/2019 Facial Rig

    14/24

    Nasolabial furrow, mouth angle furrow and the cheeks

    The nasolabial furrow is the skin crease that runs from the wing of the nose downwards and

    outwards and ends close to the node. It is a very distinct facial feature, and marks a clear

    border between the area around the mouth and the fat pads of the cheeks. (Fig 13)

    The mouth angle furrow is a short fold running downwards and outwards from the corners ofthe mouth. The tear bag is in short the tissue between the eyes and the cheeks.

    The area between the nasolabial furrow and the tear bag of the eyes is commonly called the

    cheek, and it holds a substantial amount of fat tissue. When we smile, the nodes and the lower

    parts of the nasolabial furrows are raised and pulled backwards leaving less space for the

    cheeks. The result is that the cheeks are compressed and bulge.

    Fig 13

    Red line: Nasolabial furrow

    Blue line: Mouth angle furrow

    Green line: Lower edge of the tear bag

    For the cg model, I needed a way of reproducing the creases that appear as the nodes pull up,

    back or downwards. As I studied my own face, I noticed that the change in the nasolabialfurrow, the mouth angle furrow and the cheek was caused by the position of the nodes. Also,

    that the creases seemed to appear because the nasolabial furrow and the cheek tissue traveled

    less distance than the nodes.

    To recreate the crease effect in cg, I placed long and thin muscles along the nasolabial furrow

    and the mouth angle furrow and connected their mid control points to the node with point

    constraints.

  • 7/28/2019 Facial Rig

    15/24

    By also point constraining these control points to a non moving capsule (relative to the

    nodes), the movement of the control points could be weighted between moving 100% with the

    nodes, and not moving at all.

    Fig 14

    Default node position. The node is highlighted in red. Other muscles, 1: Upper lip,2: Lower lip, 3: Mouth angle furrow, 4: Nasolabial furrow, 5: Cheek, 6: Cheek Fat.

    Fig 15

    Node is translated backwards and up. The node is highlighted in red. Other muscles,

    1: Upper lip, 2: Lower lip, 3: Mouth angle furrow, 4: Nasolabial furrow, 5: Cheek,

    6: Cheek Fat.

    For the increasing volume in the cheeks as the node rises, I placed a large muscle (muscle nr 6

    in fig 14 and 15) with origin under the eye and insertion at the node.

    The amount of translation in all axis received from the node to the midpoints of the mouth

    angle furrow (muscle nr 3) is 50%, the nasolabial furrow (muscle nr 4) receives 50% and the

    cheek fat (muscle nr 5) receives 40%. The cheek (muscle nr 6) receives 100% of the x- and y-

    axis translation, but 0% in the z-axis which is forwards and backwards. Disconnecting the z-

    axis fixed the problem of volume loss in the cheeks as the node translated backwards.

  • 7/28/2019 Facial Rig

    16/24

    Eyes and eyebrows

    The eyes and eyebrows are involved in most of the expressions we communicate. With the

    feeling that I should not limit the possibilities for the animator at the rigging stage, I made a

    set up with a lot of control left for the animator.

    With the set up for the lips in mind, the eyelids were rigged in a very similar way. (Fig 16)

    One muscle is used for each lid, and both muscles join up at the corners of the eye where they

    are connected to the same capsule. The muscles have five control points each. At the

    endpoints they are connected to static capsules, and the three in the middle are parented to

    capsules which are in turn parented to Maya joints. The joints are controlled from the

    interface using set driven keys.

    Fig 16

    The muscles used for the eyelids and the eyebrows.

  • 7/28/2019 Facial Rig

    17/24

    Fig 17

    To the left: The eyebrows and eyelids. Note the 6 control points in each brow.

    To the right: The deformed left brow.

    For the eyebrow deformation, I made a muscle shaped as illustrated in Fig 16 and 17 with

    origin close to the middle of the forehead and insertion at the side of the eye. This shapedeveloped from looking at how eyebrows move, what wrinkles they produce and where the

    muscles are connected to the skin.

    The bend from the origin to the more horizontal part of the muscle was chosen to make it

    easier to produce the shape the brows make when frowning. The horizontal part is roughly

    where the skin is attached to the muscles. This can be tested by frowning or raising ones

    brow, and with the fingers find what parts of it that can still be moved. The curvy part of the

    cg muscle at the insertion point is not indicating muscle attachment, but leads to the area

    where the brow influence fades. Thus it makes the skin in this area move in the right

    direction. The cg brow muscles have six control points which all receive direct control from

    an interface.

  • 7/28/2019 Facial Rig

    18/24

    Interface

    A cg model with good deformation is very important in the production of an animation, there

    also has to be an intuitive interface for the animator to use. It would be very cumbersome to

    move things around at the component level, so the components need to be connected to

    control objects.

    Fig 18

    Before looking at the control objects, Id like to name some important capsules in the rig.

    The numbers in fig 18 represent the following capsules:

    1) Neck12) Neck23) Neck34) Head5) Jaw6) JawHinge7) Root

    The Root capsule is the top parent of the whole rig. Selecting and moving this will moveeverything.

    The Head capsule is the parent of everything above the neck including the jaw and all the

    muscles.

    The Jaw capsule is parented to the JawHinge which in turn is parented to the Head. I will refer

    to the Jaw and JawHinge capsules simply as the Jaw in the following description.

  • 7/28/2019 Facial Rig

    19/24

  • 7/28/2019 Facial Rig

    20/24

    Fig 20

    The controller objects numbered.

    The controller objects are shown in Fig 20. The numbers represent the following objects:

    1) Node controller:

    The node capsules are parent constrained to the node controllers. Translating and rotating this

    object moves the node capsules by the same amount. The nodes movements in turn control

    other objects as discussed previously.

    The node controllers are parent constrained to two objects called mc_left_node_parent and

    mc_right_node_parent. The reason for this set up is that the node parents receive

    translation to keep the corners of the mouth in the middle of the Head capsule and the tip of

    the Jaw. They are parent constrained to both the Jaw and the Head with 50% weight on each.

    Practically, this means that when the Jaw moves, the node parents move, the node controllers

    move, and the nodes themselves move. The advantage is that I can use the node controllers

    still have their original values and can be used to move the nodes from this new position.

    2) Jaw controller:

    The Jaw is controlled by this object with set driven keys. Translation in the y-axis rotates thejaw, which is parented to the Head capsule, causing the chin to go up and down. Translation

    in x-axis and z-axis translates the jaw in the same axis respectively.

  • 7/28/2019 Facial Rig

    21/24

    3) Lip controllers:

    The lip controllers consist of a cube and a circle. The cube translates the corresponding

    control point on the lip muscle spline curve via a parent constraint. The curve rotates the same

    points using an orient constraint. Having both rotation and translation on the cubes did not

    work properly with any of the available constraints or with parenting.

    4) Upper lip raiser:

    This object is connected to a cluster on the upper lip with set driven keys. The cluster is the

    parent of two CVs under the lip. This enables the animator to make the upper lip flatter.

    5 and 6) Eye lid controllers:

    These objects are opening and closing the eyelids by controlling the joints the eyelid muscles

    are connected to. Object nr 5 controls the lower lid, and nr 6 controls the upper. Translating

    these controls in y-axis rotates the connected joints through set driven keys.

    7) Eyebrow controllers:The cubes that lie on this curve directly control corresponding control points on the brow

    muscle spline in all axis with parent constraints. This gives full control to the animator, but

    also the responsibility not to shape impossible brow shapes.

    8) Head controller:

    The Head and the three Neck capsules are controlled by an IK spline handler. Each CV on the

    IK spline hander curve is parented to a cluster. The cluster at the Head capsule is point

    constrained to the Head controller making it able to bend the neck in all directions when it is

    translated.

    The z-rotation of the Head capsule is in addition orient constrained to the Head controller, ineffect overriding the rotation in this axis from its parent (Neck3) This makes the character

    able to look up and down without bending the neck, and also to bend the neck without

    rotating the head.

    The twist attribute of the IK spline handler is directly connected to the y-rotation of the Head

    controller, letting the character turn his head.

  • 7/28/2019 Facial Rig

    22/24

    Critical analysis

    In the process of making this rig, I have used the muscle objects in every deformation in the

    face. For the purpose of this project I feel that was justified, because I wanted to know how

    well the system performed. In a commercial setting on a tight budget, I would have used

    blend shapes in areas where there were little need for jiggle and inertia.

    In some cases I thought the system worked very well, like in the lips. I was able to shape the

    muscles close to the geometry of the model and the controls gave a wide variety of possible

    lip shapes. In the example of the eyebrows, the muscles were placed at the areas they would

    influence, but with no restrictions. This made it easy to break the rig, and create shapes that

    did not look natural. Even if it is very possible to make unnatural poses with the cg lips too, it

    is easier to see when you are doing something wrong than with the brows.

    A similar problem occurs with the node control. For example when a person smiles, the real

    nodes are pulled to the sides, backwards and upwards. In the cg model, the nodes can bepositioned anywhere while only a few positions are natural.

    There are ways of improving this. If the control objects in the interface lay on a surface

    similar to the face model, this would be a good guide for the animator when moving the

    points. If could be purely a visual aid, or a scripted set up that didnt allow the controllers to

    move outside a given area.

    Ideally, to get the best impression on the quality of the deformations using this system, I

    should have experimented more with other rigging methods. As it is highly time consuming to

    test and decide the best possible use of a muscle in a given area, I had to prioritise building

    the muscle rig.

    One area that I could not effectively rig just using this muscle approach was the forehead.

    When the brows are raised, the forehead receives roughly horizontal creases, while a frown

    produces vertical or radial wrinkles. The cMuscle System allows the user to paint wrinkle

    maps to control where wrinkles should occur. This could be a possible solution to this

    problem, but my initial tests using this method were not satisfactory so I left the idea.

    I further looked into the possibility to use blend shapes in conjunction with the muscle

    system, and discovered that it worked very well as long as the blend shapes were evaluated

    before the muscle system.

  • 7/28/2019 Facial Rig

    23/24

    Conclusion

    A major part of this project has been looking into out how to make use of a muscle system in

    a face rig. In many cases I did not mimic real life muscles, but rather used the cg muscles to

    preserve volume and simulate inertia in the face. In other cases the muscles proved to be a

    powerful tool in controlling difficult areas in the face, most notably the lips.

    Building a facial rig based on a muscle system does not seem to be something many people

    have attempted. Searching for examples on the Internet gave very few results. Well into the

    project, I discovered that many people with rigging experience actually do not recommend

    taking this approach to facial rigging. Michael B. Comet who wrote the muscle system of

    choice is one of them. Link to this discussion on cgsociety.org:

    http://forums.cgsociety.org/showthread.php?t=304707

    One common argument is that the real life muscle system in the face is so complicated that

    cg technology still is not at the level required for building a cg muscle face simulation. As Igathered information about face anatomy, I discovered that even if the real life muscle setup

    is very complex, the results they produce do not have to be as complicated.

    Building a facial rig which exclusively uses muscle simulation is probably not the most

    effective approach, but using muscle systems together with other deformation methods gives a

    very powerful toolset for creating convincing animation.

  • 7/28/2019 Facial Rig

    24/24

    Images used in this report

    Front cover:

    Render by Jan Erik Olsen

    Fig. 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20:Screen shots from Maya.

    Fig. 13:

    Picture by Jan Erik Olsen

    Fig. 7, 9:

    Illustration from Human Anatomy for artists,

    Eliot Goldfinger, Oxford University Press, 1991.

    References

    Human Anatomy for artists, Eliot Goldfinger, Oxford University Press, 1991.

    cMuscle System Documentation, included with the plug-in. http://www.cometdigital.com