Archive for the ‘Maya Python’ Category

GDC and a New Year’s Resolution

Saturday, January 1st, 2011

Well, 2010 is now done, and I think I’ve selected some important goals for myself this year: learn to say “no” to interesting projects, and finish my own stuff! I have a TKO update forging ahead behind the scenes, and in the process I’ve built another tool I wanted to show, as it will be part of my Complete Maya-Unity tools release coming soon.

Alongside the TKO update, I’m promising a 0.1 release for the Maya-Unity tools by GDC! The board has finally approved a submission from me, so I’ll be doing a session on Automated Pipelines for Generating Run-Time Rigs. I want to have a version of the tools ready to go by then so people will be able to download them and have a look if interested. My GDC session will basically be a higher-level, expanded, and much more detailed look at some of the stuff I showed during my talk on advanced editor scripting at Unite 2010, for anyone who was there.

Unite is actually a good segue into the video I have to share today, too. At the conference, I had showed some examples I had of using editor scripts to generate sparse blend shape data offline. The point was to demonstrate the usefulness of editor scripts in reducing run-time computation, but I unfortunately didn’t have a good pipeline for it yet. So I put together a decent first pass on native blend shape support this week. It, too, will be part of my 0.1 release for my Maya-Unity workflow, so hopefully a couple of you out there will be looking forward to it. Have a great 2011!

AM Tools 1.03

Friday, February 19th, 2010

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.
(more…)

New Plug-in Coming Soon: AM_Ribbon

Wednesday, February 10th, 2010

Things have been unusually hectic so far this year, and with GDC on the horizon it’s not looking to be much clearer for awhile. However, that doesn’t mean I haven’t found a way to make all of my different obligations overlap in some ways! I’ve been working a little bit as a consultant over the last few months to help out Infinite Ammo with an upcoming title: Marian.

During the course of my work on the project, I developed a new Python plug-in for Maya to help out with hair modeling. I will hopefully have a chance to deploy a new version of my free Python package soon that will include it, but in the meantime I thought I might share this video that Alec posted up on the IA website where I show what the plug-in does. Hopefully some other folks out there will find it useful too!

MSyntax.enableQuery() and MSyntax.enableEdit() Break Object Parsing

Tuesday, January 12th, 2010

In Maya, many built-in commands support any of three modes: create, edit, and query. Although it may not be immediately obvious, each of these modes has some particularities that set them apart, and which consequently require some extra effort on the part of the programmer to support. Maya does have some built-in support, which is presently only partially functional, so it is helpful to understand what it actually gains you to use it and work around its issues.
(more…)

AM Tools 1.01

Saturday, January 2nd, 2010

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!