Punk Girl

Personal Project

Facial Rig • Python Custom Script

A personal project I worked on to learn more about facial rigging. This project was rigged by scratch manually and also using python scripting to automate some parts of the rig.

Final Result

Breakdown

A front view image of the character sculpt in Zbrush

Sculpting

I sculpted out my character using Zbrush from 2d references that I found online. I mostly used a single reference, but also used a few refences to get different shapes for the eyebrows and the nose. I did my best to look out for the landmarks on the face to get better deformations in the rig.

Three-quarter view
Side view
The iris scales in the three-quarter view
The iris scale shown from the front view

Iris Scale

The iris scale was done using quaternions, which transform the z-translation to an arc around a circle. This was then used for the scaling of the iris so that as it scales, it slides along the surface of the eyeball. There are some limitations for this setup on more realistic eyes such as this character. From the side, you will notice that as the iris is scaled up, it loses volume from the front as it slide back along the eyeball. This setup is ideal for more stylized eyes, but I wanted to add this feature to see how it will work with my character.

The lip zip feature for both left and right sides
You also control the smothness of the zipper
Adjust the lips for an overshoot

Lip Zip

The zipper feature of the lips are nice to have to get tighter corners of the mouth. I used a series of curves and locators to achieve this effect. You have the ablility to control the smoothness of the zipper as well as adjust it if there is an overshoot on the lips. You can also seal the mouth completely as well as adjust the mouth seal height.

Squash and stretch for the whole head from the top
Squash and stretch for the whole head from the bottom
Squash and stretch for the lower part of the head
Squash and stretch for the upper part of the head

Squash and Stretch

I added in a squash and stretch feature in the rig to get subtle movements for more stylized animation. Higher level controls were added to the upper and lower controls of the face in order to achieve the effect. Because the effect was achieved without deformers, it is optimzed for performance.

Subtle whole head stretch
Bottom face squash
Lip corner deformations to get smile, frown, and other mouth expressions
Lips pucker with a lip roll corrective
Correctives for puffing out the cheeks and sucking them in

Mouth Deformations

I spent the most time working on the correctives for the lip corners to get clean deformations and appealing expressions. I tried my best to push the expressions as far as I can to achieve more extreme expressions. For the correctives on the face, I spent some extra time to create scripts to automate creating deltas for both sides and adding them to the body mesh.

Inner eyebrow wrinkles when eyebrows come together in an angry expression
Small nose bridge wrinkles when pushing a snarl expression

Wrinkle Deformations

Correctives were added to achieve clean deformations of the eyebrow and nose wrinkles. I used lots of facial expression references to get a look that works in both realistic and also stylized expressions. I had a lot of fun creating the corrective sculpts and really trying to push the expressions to the limit!

Gallery

Credits

Sculpt:

Jason Cho

Rigging Artist:

Jason Cho