Technical Art: Project 2 – Character Import Tool
Created Thursday, March 21st, 2013 | Added Thursday, March 21st, 2013

Class:
Technical Art

Assignment:

  • Make a tool in Maya that will use XML data to create either a full character or environment
    • Character
      • Must include the following:
        • Character Mesh
        • Skin Weights
        • Shaders(can NOT come inherently from the mesh source!)
    • Environment
      • Must include the following:
        • A varied scene (must be
          a scene filled out enough to look like something that would be found in a game. Don’t go minimal)
        • All shaders assigned to their appropriate meshes. These shaders CAN NOT come inherently from the mesh source.
        • All scene lighting
  • Tool MUST have error handling

General design and function of the tool is up to you, but keep in mind that the design and functionality of the tool will be graded. Make smart choices. Have non tech artists try your tool and get feedback. See what works and what is frustrating. Like playtesting, but for your work. Think about what the user will probably want to do with your tool and try to incorporate it.

BONUS:
15-30 bonus points will be awarded for the ability to save any changes made in the imported scene back out to the XML and the ability to bring it back in, with the changes, at a later time. Assume completely different work environments at any and all times.

Description:

For this project, you can see that I opted to make a character import tool rather than an environment import tool.  I figured the best case would be that we could use the tool for Grapple (which would potentially and hopefully have many different characters that could reuse skeletons and rigs) and in the worst case, the tool would just be a nice tech art piece.  With that in mind, I took my Samus model and decoupled it into different scenes–the 3d model (without textures or materials), the skeleton, and the NURBS controllers.

The tool is comprised of five scripts–one for the GUI, one to import the model and assign materials, one to import any constraints for the rig, one to import skin weights, and one to delegate all of the tasks.  There are also two additional scripts for exporting constraints and exporting weights.  These two scripts create XML files that are used by the tool when importing.  I wanted to integrate these export options into the GUI so that they didn’t have to be run separately, but I ran out of time.  Since I wasn’t able to incorporate these in with the other scripts, they use hard-coded paths rather than relational paths like the other scripts use (so be aware of this if you try to use the tool).

Our teacher wanted the GUI to be as simple as possible.  “It should have a Get Art button that does everything,” so that’s exactly what I went for :P.  When the GUI appears, the user must search for an XML file containing the different components to be imported and combined (model, skeleton, controllers, textures).  After that, one can press the GET ART button, and everything else is automatic.  The tool imports the different scenes and applies materials, skin weights, and constraints.  Then, the user has a fully functioning character rig!

You can download the tool here.  For instructions on how to use the tool, read the README.txt file in the .zip.