Friday, 6 February 2015

Newer more simpler facial rig

I found the last rig to be a bit slow and I wanted to speed it up quite a bit  to make it more efficient.

I found this rig on youtube https://www.youtube.com/watch?v=8qeOFibRmoo which it's clear that it's really fast at creating expressions. I thought about how this might be done and I came to the conclusion that I might be able to get a similar effect if I added a set driven key between blendshapes and the controllers.

Firstly I had to think about wrinkles on Phoebe. I had to add geometry to her face because she wasn't built with wrinkles. This caused her skin to become a lot less smooth, it's clearly a lot better to start building a model with wrinkles in mind than add them to a pre-existing one. This is an expirament though so I wasn't too worried about it.

Next I created lots of blend shapes, one for each wrinkle. I stuffed up with some of them because I lifted the wrinkle in the blendshape, thinking that wrinkles fold up(which they do so it's not an unfair assumption). However it became clear when I added the blendshapes to the controllers that the controller lifts the skin up anyway so some of the wrinkles that I did don't look like they form naturally. Her wrinkles have been extremely exaggurated for the purpose of understanding how to make the rig work.

Then I added driven keys between the blendshapes to the controllers. This means when I pull the controller in the corner of the mouth up it increases the nose crease and pushes the cheek out, creates crows feet and wrinkles on nthe nose. If I pull it out it creates a crease happens in the cheek. Similarly if I pull the corner of the nose up it also deepens the nose crease and creases on the nose happen. When I pull her eyebrow up it wrinkles the brow, when I pull it down it creates frown lines.



One of the most effective blendshapes that I found was that of the eyes. Its hard to tell in the picture but I have made sure that the eyes change shape according to where she is looking(it's most noticeable when it's moving). To do this I simply used the eye control as the driver of the blend shapes. It combines the blendshapes well, so for example when she's looking up diagonally it will blend the up and side blendshapes together.


Unfortunately I forgot to make the other frown lines in the blendshapes stage which is a pain because they created the most trouble in the geometry because two sets of wrinkles crossed. I would have liked to have seen how they interacted on the model.

One other thing that I did which I will not do next time is I also let some of the controllers drive the other controllers. So for example I let the start of the eyebrow in the centre drive the controller next to it a little, then I let that controller drive the one next to that a little too. This allowed me to drag the whole eyebrow around using the first controller, it looks more natural and is faster than positioning all of the controllers individually. However it wouldn't let me control the the driven controllers if I wanted to edit the position. So this is why I won't drive controllers with other controllers in the future.

Another thing that I did was restrict the movement of the main eyebrow controllers by adding a curved plane attached to the skeleton then putting a geometry contraint on the controller(then hide the plane later). I could have restricted the movement in the attributes panel but the geometry contraint actually forces the controller to follow the arc of the plane.