code of the day cotd maya mel

Code of the Day: PoseMan

PoseMan 1.3.5 script by Francis Vega:–2

PoseMan (PoseManager) 1.3.5is a MEL script for creating various 3D rig control icons.

Language: MEL
Type: Maya Editor Script
Script Files: 1
Number of lines: 3616

Functionality: 8.5
The script has some very nice functionality in creating and organizing poses. One of the things I particularly liked was the inclusion of default camera settings for creating a screenshot of the pose. The format of the poses appears to be a simple text file which is ok, but a standard data format would likely be more reusable. The ability to create “section” tabs to help organize the poses is also a nice approach, as are all the options available for organizing and applying the poses.

Design: 6.5
I never really like instructions that require modification of the code to set path variables. While the $POSEMAN_LOGO is not required, it would still be better if the code used relative paths or some of the Maya environment variables to find the correct image path. The rest of the code is actually quite well organized into logical functions and while there are a number of globals and evals, the code flow is organized and structured.

Style: 8
The code formatting is nicely organized with consistent spacing and clear and descriptive function and variable names. The commenting and use of whitespace make the code quite easy to read, although with the size of the file, it would benefit from splitting up some of the functionality into new files.

Documentation: 7.5
The code commenting is quite well done and the readme gives some install information. The code is quite readable, but some extra documentation would be nice as there are quite a few features that are not immediately obvious and require some experimentation. It is a little unusual that some of the comments are in another language (Spanish I think) but not all of them, especially since the code function and variable names are English.

Reusability: 7
The code has a few functions that could be reusable, but the code in a lot of places is not obvious what it is supposed to do based on the function names. The code style would also help improve how much debugging would be required in maintaining this script. The non-English comments help confuse a few areas when trying to debug (unless you have a programmer on the team that is bilingual).

Overall: 8.5
The functionality is great, and the code quality is very high. The comments in another language is a little unusual, but otherwise is quite easy to follow. A good approach to creating a pose library, with a few nice features not seen in some of the more standard libraries.

Until next time,
Michael Hubbard

Leave a Reply

Your email address will not be published. Required fields are marked *