The first of two sessions from ADAPT 2008 – members of the Disney team working on incoming CG film Bolt talk about their road to enlightenment regarding an intelligent solution for driving blendshapes to maintain a high quality of deformation on a character lacking clearly defined limbs and a neck area. Of note, TD Hide Yosumi was actually a former member of SquareEnix, having worked on Final Fantasy X and the Disney-collaborated Kingdom Hearts series.
Clay Kaytis, Philippe Brochu & Hidetaka Yosumi – Lead Animator, Lead Modeller and Technical Director for the character Rhino.
This presentation could easily be split into two parts, with the first concerning the solution achieved to maintain model fidelity in a character that could easily move between biped and quadruped movement, and the second on their general deformation solution for all areas of body/limb movement.
Beginning with an exclusive new trailer, the speakers began by describing the requirements of the rig which required the dual functionality of quadruped rodent-like movement and bipedal anthropomorphic acting. The character Rhino was described as essentially a ball of fat covered in fur that exists primarily inside a hamster-ball. While the ball-rig setup may have proven an interesting topic enough, with the TD writing special software for this alone, it proved enough of a challenge to overcome the transition between 4 and 2-leg stances.
Initially, tens of steps of deformers were employed to handle the transition which required the character to undergo a variety of transformations such as rotating the head 90 degrees to face front once standing, however all these corrective tools slowed down the rig somewhat. As is something of a standard now, the team began putting the model through its paces by forcing it into many poses and drawing on top what should be the corrections made to fully realise them. However, difficult posing not ideally suited to the rig cause further corrective work on the modellers’ side downstream, and more importantly caused the animators to treat the rig somewhat conservatively with less-adventurous animation.
At some point towards the end of pre-production, a decision had to be made whether to change the rig to better support the animators. This required a new way of approaching the modelling/animation workflow for Disney studios, eschewing the previous linear progression of modelling->rigging->animation-> in favour of a much more versatile circular progression under the banner of the “character team” where each area has buy-in at every stage, much like agile development. The name given to this month-long process was affectionaly termed “Rhino-Palooza”, and it’s success spawned similar “palooza’s” for every other major character.
As the aim was to share only one rig for both pedal stances, the solution was to to simply morph the character model between ideal quad and biped topologies, allowing for a smooth transition between running and standing even during motions. This is essentially the same method employed in High Voltage’sXenomorph XNA demo in 2004, and was overshadowed by the clever solution to the second problem posed by Rhino’s body.
With such a short neck, arms and legs, in order to fully realise Rhino’s mandate of “a ball of fat covered in fur” the team had to come up with a new system for using corrective chapes to intelligently deform the character. To this end, they improved on Disney’s own PSD (Pose Space Deformer) system that applied morphs for every major movement to maintain character model integrity. PSD is an in-house tool at Disney that directly talks with Maya’s skin-clusters.
Unlike many game-engine limitations, Disney’s animators are free to fully animate bones using all the areas of translation, rotation and scale, and most importantly are free to break the rigs as they please. As such, animators are able to get the most out of any character without fear of affecting the final result downstream, but this also means that traditional methods for employing corrective shapes do not always come into effect.
The old method of creating a shape for each an every rotation value (eg, x,y & z for the neck) did not take into account actions that were animated with scaling of the bone or even breaking it via translation, and creating shapes for each value would have resulted in far too many shapes than would both be realistic to maintain and would likely slow the rig to a halt. Additionally, simple actions like leaning the neck into the shoulder might cause the fat to bunch up there, but if the shoulder was already down the fat shouldn’t squash up at all.
The elegant solution they finally arrived at was a sytem of locators positioned on the low-res character mesh whereby, rather than using simply bone rotation values to drive keys on morphs, instead measured the relative distance between two or more relevant locators to decide if a morph should be blended in. Interestingly, the team actually found that results were increased as they reduced the locator-count and fine-tuned the driven-key inputs.
This system is a much more robust approach to the familiar driven-key morph-target and, (as were are moving closer to employing driven-keys in realtime game engines), sounds like a good method to investigate – should one ever have the chance to work on a game invloving a small number of high-resolution characters.