Archiving old reel & development

After more than 3 years it was time to do a new rigging reel with a compilation of some work from MPC and goodbye kansas. Potentially will update it with few rigs from DNEG.

This post mainly is about a collection of some of my old muscle rigs and show I have been working since I was student until leaving for London.

The muscular biped character is from my diploma thesis project, a short film animation which has been in 3 animation festivals (2 Greece, 1 in Spain). The second creature is for a tvc at Ixor vfx.

A reel with various rigs for tvc and tv shows

A facial rig tool I developed for my diploma thesis in the first place and implement it in few rigs for Ixor vfx as well. The second one is a py class for tails, tongues and hair.

InfiniteTwist – node

This post is about a dependency node created to deal with the angle twist limitation in a standard arm or leg setup. Secondary purpose to encapsulate multiple nodes for a regular twist network chain.

The regular flipping behaviour can be easily analysed with some basic trigonometry knowledge, such as the radius of the circle and the three main trigonometric functions. As many before me have already said that extracting a reliable twist over 180 degrees is impossible. you can try all day long, for years, it wont change math and physic core limitation…

The basic concept is something like the no flip option in a orient constraint, storing the previous values and make a delta difference. But to pull it through in a complex animation and workflow of multiple undos/tweaks without losing the accurate twist extraction, needs something more robust.

A great example is the QuatTwist by Braverabbit. Although the twist works from parent to child, inversely with the target implementation and the undo sometimes breaks the twist, but the UI is really intuitive!

The primary structure of this implementation was to draw forth a reliable angle difference. Firstly euler to quaternion then filtering the axis, find the orthonormal and make a matrix. Use the stored vector in order to calculate the angle between the current axis and some other conditions. Overall the node needs to store one vector only.

The secondary essential step was to make a counter measure for a previous value dependent node on the twist extraction and the undo method. finally a intuitive UI for the components ratio modification.

Here is a first look of this node:

Available for download: