poseReader update

david | animation,mel script | Friday, April 20th, 2007

An integral part of the poseDeformer plugin (written by Michael B. Comet) is the poseReader, a node that is added to your heirarchy every time you create a poseDeformer shape. It is the poseReader that monitors the joint orientation and sets the weight of the associated poseDeformer shape.

By default the poseReader has its readAxis set to the Y-axis. This is convenient if you build your skeletons with the y-axis pointing along the bone, but what if you prefer the x-axis along the bone? Well, you can easily change the readAxis in the poseReader's attribute editor, but its easy to forget - which means your poseDeformations dont work as you expect.

I have recompiled the poseReader.mll with an X-axis default. You can get it here.


david | animation,mel script | Saturday, April 7th, 2007

Another handy rigging tool from the genius of Michael B. Comet is the resetSkinJoint plugin for maya.

This plugin provides a simple way to easily "reset" any joint used in a Maya skinCluster, so that it's current transform (position, rotation, scale) becomes the bind transform, as if it was just bound.

This allows easily adjustment the rest pose of the joint after skinning, without having to unskin, and then reskin and reload weights. This also resets the bindPose data so any bindPose nodes are also corrected.

I obtained the source code and compiled it for maya 8.5 It works as described except for the very last part. For some reason the bindPose nodes are NOT corrected. So I create a mel script workaround.

djResetSkinJointAndBindPose.mel is a simple little script that invokes the resetSkinJoint plugin and then resets the bindPose node. There are instructions in the file header. The rar also includes the maya 8.5 version of the plugin.

poseDeformer for maya 8.5

david | animation,mel script | Tuesday, April 3rd, 2007

One of my all time favourite, can't do without plugins for maya is Michael B. Comet's poseDeformer. It works a bit like a blendshape that is controlled by joint rotation, but is so much better than that. You can read about it at Michael's site and at http://www.tokeru.com/twiki/bin/view/Main/MayaRigging

The trouble with plugins is that when ever a new version of maya is released, a new version of the plugin must be compiled. I've been using maya 8.5 for a while now and I'm still waiting for the poseDeformer to be recompiled...

Well, Michael Comet has generously provided the source code for this plugin so I decided to try and compile it for maya 8.5.

Compiling a plugin is faily straight forward. You just link to the new 8.5 libraries. But when I loaded my new poseDeformer.mll into maya and gave it a run I discovered that it didnt work.

So I dived into the C++ code, with no actual C++ programming experience. My plan was to use this as an introduction to plugin writing. Maybe if I poked around enough I could learn something - and I did! Its a bit of a hack and I still have much to learn, but its good enough to work with.

Here is my 8.5 version. Its what I am using until an official version is released by Michael Comet. I have included the required mel scripts and the source code.

UPDATE: Maya 8.5 service-pack 1 has been released (June 2007). The service-pack fixes an API bug and so now the original poseDeformer code works when compiled. Here is my 8.5 sp1 version.

Powered by WordPress | Based on a theme by Roy Tanck