An Automated Pipeline for Generating Run-Time Rigs

On account of getting the flu at GDC, and then having to catch up on all of my work that wasn’t getting done, I’ve been a little behind, but I wanted to make sure I got up a write-up for my main conference presentation from GDC this year.
Continue reading An Automated Pipeline for Generating Run-Time Rigs

AM Tools 1.05 and Unity Maya Extensions!

Although I still need to do a formal write-up for my GDC presentation, I do finally have all of the source code ready to go (or at least I think it’s ready enough), so I wanted to make it available for download now. Here’s a brief summary of changes:

  • All of my Python stuff is officially copyrighted under the MIT License now.
  • Since I know a fair number of people out there rely on decent API examples for learning, I refactored all of my plug-ins to conform to better practice.
  • As part of the plug-in refactoring process, the AM_HipConstraintCmd and AM_ShoulderConstraintCmd plug-ins are now deprecated, and the commands are contained in the same plug-in files as the nodes.
  • Math has been dramatically simplified in both the amHipConstraint node and amShoulderConstraint node. In the case of the latter, the results you get should be identical to before, while the former will yield some minor different results when out of the lateral plane of rotation.
  • All of my comments have been reformatted so that Doxygen can generate more useful information for the online documentation.
  • All tool help menus now link to the online documentation to bypass text formatting issues with maya.cmds GUI in Qt.
  • Added files module with utilities for batch conversion of files to FBX, or for downgrading Maya ASCII files. (Note it is pretty hacky and not tested especially thoroughly, but I included it in case anyone might find it helpful.)
  • Added unity sub-package with utilities for modifying files to work in conjunction with my Unity Maya Extensions.

Continue reading AM Tools 1.05 and Unity Maya Extensions!

Adding Unity Tools

Waiting on videos to render is the perfect time to add and update site content, because everything else is bogged down. In that respect, I wanted to note that my Unity tools page is now open for business, where I will be posting more components and editor scripts in the future. For starters, I have uploaded two basic components (each zip file contains a UnityScript and a C# version).

The first component is an aim constraint, to simply mimic the behavior of Maya’s aim constraint. The benefit of using this over a simple call to Quaternion.LookRotation() is that you can specify arbitrary forward and up axes on the constrained object (just as in Maya). You could use this with the AssetPostprocessor class to automatically import constraints in your asset files (FBX, Maya, etc.).

The second component is a look rotation constraint. It allows you to not only specify arbitrary forward and up axes on the constrained object, but also constrain it to a world forward-vector and world up-vector (so it does not need to aim at a target, but can mimic the “pointing” direction of another transform).

AM Tools 1.03

I just uploaded an update to my AM Tools package, which contains some new goodies. In addition to including the AM_Ribbon plug-in that I previewed previously, I have also included an AM_ExposeTransform node, which I will be discussing in an upcoming Autodesk MasterClass that I am doing with Ryan. This node, much like its counterpart in 3D Studio Max, outputs transformation data for an object with respect to another object. In addition to basics like translation, rotation, and distance, the node also allows you to compute the angle between arbitrary axes on the objects as well as an angle from the exposed object’s arbitrary axis to the reference object’s position. Take a look in the example file to get some ideas of how you might use it. Special thanks to my friend, Sean Binder of Raven Software, for providing me with the torso model.
Continue reading AM Tools 1.03

AM Tools 1.01

I just uploaded version 1.01 of my AM Tools Python package today, which you can of course download from the Maya tools section. You can look through the files to see all of the changes that I made, but here are some of the major highlights.

  • amInsertParents is now a Python command. I have therefore retired the old MEL version.
  • Added API Debug Mode to menu. Enabling this mode overrides some Maya Python API classes for debugging. For this release, this mode overrides the __str__() functionality of MMatrix and MVector.
  • Substantially improved a number of utility functions for validating input.
  • Added validation for custom plug-ins.
  • Fixed some language-related bugs that existed for Maya 8.5.

As always, please let me know if you have any problems or other feedback!