Title: Process Automation for Massive Game Productions
  • Part 1: Semantic Traversal and Modular Procedural Rigging (90min)
  • Part 2: Animation Tools that Leverage a Metadata Node Network (90min)
Experience
Level:
Intermediate
Takeaways:
1. An in-depth look at how Bungie used Autodesk Maya to conquer multiple obstacles in animation and character rigging in the making of Halo 3. 
2. Analysis of MEL Script systems for procedural rigging and animation tools.  
3. Look at Bungie’s future tool and pipeline developments – leveraging the open framework of Autodesk products as tool creation platforms. 

Part 1: Semantic Traversal and Modular Procedural Rigging
This class focuses on strategies for Character Rigging in a large production setting.  It includes an example set of MEL Script rigging tools called the MetaRigging Toolkit which can be used to automatically generate custom character rigs in Maya.  The MetaRigging Toolkit operates on a custom Metadata Node Network which enables Semantic Traversal of rigs in Maya scenes.  This is the main solution we found to dealing with complex animation scenes required to create modern day game productions such as Halo 3.

Introduction and Table of Contents

Demonstration of MetaRig in Action

  • Camtasia video capture of the rig animating in Maya
  • Advanced rig features:  a requirement for modern day production

Lessons Learned from Halo 3

  • Halo 3 is an example of how huge current day productions are
  • Sandbox game design multiplies the complexity
  • Illustrate production challenges
  •  Analyze a typical Halo 3 Rigging task: Weapon rigging system

Illustrate the Problem of Explicit Scene Traversal

  • Example: “Get the Left Elbow”
  • Explicit Scene Traversal examples:  Name-based traversal, DAG Hierarchy traversal, Dependency Graph traversal,  Mixed traversal
  • Conclusion:  the old solutions to scene traversal impose limitations on creativity
  • Solution:  Semantic Traversal

Designing Systems for Semantic Traversal

  • Different scene data requires different Semantic Traversal Methods
  • Discuss the problem with a universal system of Semantic Traversal
  • Design philosophies that will help keep things consistent
  • Managing joints on the skeleton: FBIK .side and .type attributes
  • Managing multiple rigs:  Namespaces
  • Managing files and directories
  • (the big one) Managing members of the rig itself:  Custom Metadata Node Network

Building a Metadata Node Network

  • Disclaimer!  This is one possible solution that has worked well for us.
  • Analyze what type of rig data will need to be tracked
  • MetaNodes
  • MetaRoot
  • Traversal Functions
  • Custom connections from MetaNodes to parts of the rig

Modular Procedural Rigging

  • Rig Components
    • createRigFKGrip.mel
    • createRigIKChain.mel
    • createRigFKIKChain.mel
    • createRigStretchyIKSpline.mel
    • createRigFKIKSpline.mel
    • createRigFingers.mel
    • createRigReverseFoot.mel
    • createRigColors.mel
    • createRigLayers.mel
  • Full character rig templates
    • rigBiped.mel
    • Maybe add more character types as examples
    • Extreme character with a billion complicated parts?  This would illustrate the flexibility and power of Modular Procedural Rigging.
    • Examine the methods of Semantic Traversal used in the rig template scripts
  • “Build Rig” tool


Part 2:  Animation Tools that Leverage a Metadata Node Network

Tool building is fun and easy when you can leverage a Metadata Node Network in Maya scenes.  This allows MEL/Python code to be written clean and simple for maximum extensibility.  This class demonstrates examples of animation tools that were built and used during Halo 3 and future game productions at Bungie.

Introduction and Table of Contents

Introducing the Bungie Technical Art Empire

  • Tool developers for Maya and Max
    • Serves the Bungie Art Team
    • Integrates with Engineering departments
  • History, growth over the course of Halo 3 production
  • Close allies: 
    • Production Engineers
    • Software Development Engineers in Test (SDET)
    • Managed Coderz

Architecting Script Libraries for Collaboration Between Coders

  • Script Help
  • Example included in MetaRigging Toolkit:  Robodoc

Rig Tools

  • Rig Display Options
  • Rig Colors:  shaders and wireframe
  • Custom Flag Shapes
  • Aligned FK/IK Switch
  • Aligned MultiConstraint Switch

Animation Tools

  • ReAnimator:  motion retargeting
  • Skeleton Pose Tool
  • Core function:  alignRigToSkeleton.mel  relies heavily on Semantic Traversal of the Metadata Node Network
  • Face Toolbox:  Halo 3 facial animation rig with integrated GUI control panel.  Enabled by Semantic Traversal

Cinematic Animation Tools

  • Examples of non-character systems that use the Metadata Node Network
  • UberCam
  • Cinematic Toolbox

Rig Update Tools

  • To Reference or not to Reference animation rigs, that is the question
  • Xrig Live rig updating tool
  • Maya Asset Wrangler Database (MAW DB)

Extending the Metadata Network Beyond Maya

  • Architecting the Bungie New World Order (brief overview of strategic goals)
  • MAW DB:  a stepping stone for future data structures
  • Cross-platform tool development with .net technologies
  • Write once, run anywhere:  Max, Maya, Bungie proprietary game editing tools
  • Bungie Librarian
  • Bungie Material Manager

The Future of Rigging:  Tools-Based Workflow

  • Solutions for working with baked keyframe data
  • Layered Animation:  formerly through Trax, new layer system in Maya 2009
  • Rick Lico’s Locator Tricks
  • Freeform IK
  • Ideas for extending these concepts to a fully tools-based workflow
  • Discussion of advantages/disadvantages inherent to this approach