Big Takeaways:
Empower the Rigging team to OWN the tool kit as their own, it's not the 100 controls they personally named themselves that makes them a Rigger but the overall artistic design and functionality of the creature they just designed for kinematic movement. Accuracy of joint placement is so important that it must be a higher priority than speed in any system where you are laying out a skeleton.
Starting Out
Early on my first task at Turbine was to work on our rigging tools, this was great for me - my background in tech art began from learning rigging and I really wanted to bring the pipeline into a modern standard. The final product went through three major "versions", but it all started with trying to wrap up a bunch of helper functions into a build procedure. This was still so early that we were still exploring exactly what would the animators' preferences be for basic feature styles, orientations, etc. We knew we ( the tech art team ) were making a shift from MEL to Python, and we were starting to explore PyMel - so I started up coding that build procedure in PyMel.
It was fortunate that most of the characters at the time were bipeds, the build process only handled our basic biped. I realize most auto riggers start out with a biped design and some branch out to quadrupeds...I knew my vision for our tool kit would be a system that would aim to let the artist dictate the rig and not the tool kit itself - but it took some time to imagine how best to enable that control.
Inspiration, Incubation and Implementation
The skeleton layout tools for the first release of the rigging tool kit were heavily influenced on a Siggraph paper from years ago by ILM on their Block Party system. A lot of auto riggers use locators to set up a layout for a skeleton. Although the locator technique gives a lot of accuracy - I didn't feel like it was particularly fast enough. I adopted the Block Party term "Volume Guide" loosely applied to my proxy resolution biped mesh guide. The rigger would move the body parts to fit within the mesh, the skeleton would be built to replace the guide and then they could proceed in the build rig procedure.
The biped guide was styled like an art maquette, the rigger would use translate/rotate/scale to manipulate the proxy mesh into place. The shapes of the proxy geo were actually shape parented under their respective joints, this gave the user the speed of rotation mirroring across the body during the layout process because they were actually manipulating joints and not polygonal objects. Later on this iteration of the tool kit grew to support more "Volume Guides", horse, lion, bird and spider were added. The ability to "kit-bash" body parts was also added. For example combining the upper body of a human with the base of the horse allowed you to create a centaur, or adding wings onto a human would give you an angel, another example is a werewolf - top half human, bottom half lion/cat guide.
The basic Human Biped Guide |
"Kit Bashing" together a Human and Horse Guide |
The actual building tools and how the Guide's "knew how they were to be rigged" was inspired by a power point presentation at GDC from several years ago as well by Bungie, you can view the power point here. The main thing I learned from the Bungie talk was to add mark up data (meta data) onto the maya objects, that the building procedure could later find and determine what to do with that.
This was the start of the "modularity" of what the system would become, it allowed artist to load in parts of other guides to have multiple fingers, arms, spines, legs, tails, wings, etc and plug them with a simple press of the P button (maya parent). This allowed a lot of quick development for creature rigs. The speed of the Guide rig to create a skeleton layout that could be rigged with a click of a button was great - but I started to notice that it was somewhat difficult to get our Rigging team to adapt to a "volumetric" way of building a skeleton - so there needed to be some changes to improve and adapt to how we as a team wanted to work.
Volume Guide - The term used for a master anatomical creature maya file that I built to serve as a building block for a character. The Guide could be "Kit-Bashed" together with other Guides to create something unique.
Template - The Rigger has edited a Guide and wanted to save it for re-use. This could just be as simple as an A-pose Human Biped or as complex as a Centaur with 4 Human arms, 2 Human Heads, Bird Wings and a Lions Tail.
Below is the Version 1.0 UI layout, it was awkward and very "tabby" - it served it's purpose of having a way to list the available Guides and Templates. Along the way, other tools were added to other tabs, a Skinning tab, Control tools, etc. The actual meta data editing tools were rather limited at this point to just strings and float based UI widgets. At the time, meta data was only thought of as simple hooks to make the python code to build the rig find the right objects - later on it would become the core foundation of thought for the Rigger in designing their vision for the character's movement.
Rigging Tool Kit Version 1.0 |
Looking Back
Overall this first release served best as a way to get our rigging team to start thinking less on the topic of "how do I make this IK setup?" and more on "how does the anatomy of this creature function?". This was a really key growth point I think for most of our Riggers, as we were hand building most rigs for each project. We already saw speed gains from originally 5 days for a rigged character down to less than a day.
There was a ton of personal growth as far as becoming a better Tech Artist, I learned a lot about supporting a team, good coding practices and it was a good way to build my understanding of games - Turbine was my first game job. The expectations of rigs for games are different than what I had run into in film.
Version 1.0 did have some downfalls that ultimately lead to developing version 2.0. The pseudo geometry/joint based manipulation of the layout was fast but not accurate enough - it needed some way to be more precise without any effort from the rigging artist. The other main issue was the guides were created by myself, which meant if a new anatomy was needed I would have to have the forethought to make the volume guide. These 2 issues of lack of accuracy for faster speed, and the rigging team empowerment were enough to spend a little more time into the rigging system to build something that would really be the core of the tool kit in version 2.0 and eventually version 3.0.
No comments:
Post a Comment