Check out my portfolio and contact me.

Archive for the ‘Rigging’ Category

Auto Rigging Awesome Spine

Posted on: February 14th, 2013 by Redd No Comments

I hope everyone had a wonderful holiday. Mine was good and bad at the same time. I had my wisdom teeth pulled between Christmas and New Years. Not really a great experience if I do say so myself now onto Auto Rigging Awesome Spine

Thanks to having my teeth pulled though I finally sat down and finished up creating a script to make faith of the fallen’s Awesome Spine Setup. I really like this implementation of an ik spine mainly because of how versatile it is and that you can’t gimbal lock it.

Manually Rigging The Spine

To start off with I first went through and did the tutorial manually so I would better understand what all I was doing when I went back and turned it into script. I did cheat at the end when I was connecting all the output and input nodes. I have gotten so use to doing things through code that I have begun to forget how to do certain tasks through Maya’s interface, so instead of spending an hour looking up how to connect input nodes through Maya’s interface I just wrote up a simple static script to connect everything for me. I don’t see this as much of a problem since doing connections can be tedious and messing up can cause problems, it was just faster and simpler to have the system handle it for me.

The final result from doing it manually actually didn’t work for me. I had managed to miss click one of my ik constraints in the early steps and so I failed at creating the rig manually. This was ok since I had gotten and understand of how the rigging process worked and I knew what I had messed up on.

Auto Rigging Awesome Spine

The Auto Rigging of the Awesome Spine was rather difficult and fun for me. To start off I duplicated the spine joint chain using a function I had already created with python, where I stored the joint rotations, positions and parents of each joint and then created a whole new set of joints and parented them according to the information I queried.

After that, it was actually rather simple array manipulation creating the other parts of the rig. Though during this proceses I had to speak to my mentor Ryan Griffin, who is always very patient and kind to me, several times for clarification and help. I managed to globally change Arrays, which I still haven’t figured out how I managed to do, though my mentor called it clever i’d argue with him on that one. The creation of the groups, locator nodes, and ikHandles was all just array manipulation from when I created the ik chain originally. I just had to find a way to execute the information that I had already to yield the results I desired.

This script does have limitations. There must always be 5 spine joints or it wont work. I have some ideas on how to make it dynamic but it would still always require the number of joints to be an odd number. There must also be control curves created and named properly in the scene for the script to execute. I did learn some things along the way. I gained a better understand of array manipulation and I learned how to loop through two different arrays at the same time, which doesn’t seem to be a big deal until you try and do it. I feel that my code became less bloated as well and that I started using dynamic solutions instead of static ones. I hope this has been an interesting/insightful read on Auto Rigging Awesome Spine.

All in all this was a difficult but fun process that I thoroughly enjoyed. I also added my shoulder control curve setup to my arm rigging script. My next step is to setup the auto rigging for the head controls and then from there I don’t know if want to start on the auto rigging of the facial controls or setup the FK with space switching scripts.