This little teaser for the History Channel’s Vikings was a great opportunity to flex my rigging muscles a bit. The end of the spot called for swarms of snakes to come bursting through the door of the great hall, and with no tools available other than the default install of Maya 2014, all of the snakes needed to be easily animated by hand. This called for a bit of creative rigging.
Using a few custom math nodes available from Autodesk and a whole lot of Python to automate the process between iterations, I was able to combine a motion path system for plotting out the paths of the snakes with some easily-tuned offset controls to allow for the animator to quickly block out where all these snakes were going to go, then fine-tune poses and movements to bring life to the animation. Slithering movements were automated through a series of sine wave-driven offsets on the motion path controls, and could be tweaked or blended as needed. Even the tongue had automated spline motions with offsets, so it could flick in and out along a prescribed path with just a single channel.
The main driver for the bones in the rig was a hybrid between Spline IK and Ribbon IK. Spline IK maintains length, but has limited twisting ability and is prone to jittering at the ends. Ribbon IK is very stable and can twist from anywhere, but has no idea how to preserve volume. Combining the two approaches allowed the animators to freely twist and maneuver the snake’s body at any point along its length, without causing unwanted stretching or jittering.
The animators had a great time with the rig, and it was gratifying to see both the final results and the happy faces of the animators who didn’t have to fight so hard to get good results.
If you’re interested in reading about more of the technical details of how this rig was built, take a look at my blog post.