Wednesday, 25 April 2012

Bolo - Rig Development

Hey animation Maaaaniacs :D,

Here we have presentation of first more/less final rig of Bolo. You know already by designs that rigging and animation this kind of 2d look characters are not easy tasks, so we have spent a lot of time thinking about solutions, research and tests. Person who stands behind all riggs is my close friend Kamil Hepner. We have meet each other remotely when I was working as a freelancer in one company where he worked as a full time TD. We work together now at Platige Image and I am so happy about that fact :).

Kamil wrote an article about process, tools and methods he used to rigged the character, here it is:

"It's very important for the character TD to be involved in the early process of designing characters. We have started figuring out of what we need in the rigs just after the script and the first rough sketches of characters appeared . I knew we need full stretchable and bendable rig either for body or face part. We can clearly recognize on the concept designs the internal character of characters, it's very important that the rig should provide possibility for the animator to recreate sketched poses (closes as is possibility).

I'll try to introduce you some techniques used in this rig.

The whole “motion” rig was created by modular auto rig, written by me in Python, pyMel and mayaCmds.

FK <-> IK snap:
I wrote simple library in Python to handle automatic creation of switching and snapping FK and IK. The marking menu was created automatically. Whole system is character independent (every character use the same scripts).

Bendy limb:
Basically this setup is based on one curve with joints on it. But it contains some special features:

- Automatically straightening:
We can define straightening of bended limb at every angle of rotation.

- Correct elbow:
As I mention earlier this setup is based on one curve, this can cause problem with loss of the acute angle when the elbow or knee is rotated. I developed system which helps to keep nice acute angle of elbow (correctElbow) when the arm are not bended, there are also few attributes for controlling this system.

                                                    with correct elbow:

 without correct elbow:

- Independent rotation and volume control:

We can control the rotation of every part of limb, also we can specified how stretched or squashed limb should looks (volume control), also in the case of the elastic rig of spine.

The fingers can by controlled by three ways, by FK or IK controls and by the attributes, of course fingers can be stretched and squashed no matter of what type of control animator use.

Dynamic re-parenting:
Some parts of body can be dynamicly reparented. We can also change rotation and/or translation space of some controls like: hand, foots, hip, neck, head. I wrote in python (pymel, cmds) small library to handle this switching, it is also character independent. That marking menus were created dynamically.

Most deformation based on smooth skinned joints, but I also use the PSD (pose space deformation) defromer (written by Mike Commet), corrective shapes was entirely modelled by me. On the top of all deformers is StrechMesh deformer (kickstand), I use it in some areas like shoulders, neck or belt for nice smoothing out deformations.

Gui for characters was written in PyQt, There is one window for all characters in animation scene, animator just switch between characters by clicking on buttons with potraits of characters.
The animator can easily add to actual selection more controls by holding shift key. To avoid hard coding what should be selected or what should be done when we click on specified button. I create special library, which helps with this task. You just simply create GUI in designer, and simple file with relation between button types, controls and functions, basing on this file, the script recognize what should be selected or which attriburte should chagned when we change slider.

By the main controls the animator can change the main expresion of character face. But also he has the controls for bending and squashing the bolo face. At the last layer of controls there are tweak controls (blue ones) for the finally tweaking of the mesh.

This is the current status of the bolo rig. I'm still working of it to improve the functionality, GUI, tools and deformations. If it's possible, we try to supplement information about that on the blog and put a new videos.

Thanks for the patience...

Kamil Hepner - TD"

Hope you enjoy it, see you next time :).