Facial Rigging for Animation

I wanted to cover a basic facial rig that I have been working on for a few weeks. I started working on the rig with purely 'blend shapes' in mind but as I did more research I realised the amount of control seemed limited and adding blend shapes onto the file seemed heavy and honestly unnecessary. 

Instead I went with a combination of blend shape driven controls with a second layer of control that could directly manipulate the face.

In the picture below it shows the joint based system on the left and on the right you can see the individual nurbs control that give the character secondary control for a-symmetrical posing.

Here are some quick emotion poses using the blend shape driven controls. 

During the process of creating the facial rig I came across a very monotonous work flow and found myself having to do the same function over and over sometimes more than 50 or 100 times. So this called for some scripting. From taking my course at Full Sail that covered mostly mel but more importantly python scripting I was able to create some fun workarounds not to mention making a pretty hefty rigging shelf that I now carry around with me.

here are some snaps from my code and shelf setup. code is partial of course

quick tools for unlocking and showing locked attributes

creating a hierarchy tool to automate the joint system for the root_joint, neck and head.