Monday, May 17, 2010

Maya Python API fondue...

So Ive been playing around with Maya's python API for the last few weeks, and I've been developing a custom node called a dualSplineNode. It was based on a prototype character spine setup that I created back in 2008 which uses 2 curves, a bunch of utility nodes and some set driven keys to avoid using spline IK.

Now the reason I built this was to have more control over what the spine is doing at a point along the curve. Spline Ik is rather limiting when it comes to twisting and adding stretch starts to make things abit messy. To cut a long story short, its not as cool as it could be. So in comes the dualSpline. As a prototype its relatively simple to setup, as it requires 2 input curves driving joints via pointOnCurveInfo nodes and tangent constraints. It also does volume preservation via set driven keys. The prototype is possibly more messy then a conventional spline Ik setup, but it gets the job done. I had the opportunity to battle test it on some productions, which it seemed to work well.

I have spent the last while learning (and cursing) the Maya Python API while writing this into a node. Its basically a glorified pointOnCurveInfo node, except its more of a twoPointsOnTwoCurvesInfo node with none of the extras.. :p At the moment it circumvents 2 pointOnCurveInfo nodes and a tangent constraint which I'm really happy with.

I managed to find some awesome guys online with a wealth of knowledge on writing plugins with python, most notably a guy named Ryan Trowbridge who had some really useful stuff on using matrix's in the API. Many thanks Ryan! Also check out Judd Simantov and Riggerman's Blog.

I will post progress on this stuff as I go.. and the node when its done.

later..

James

Tuesday, May 4, 2010

Into the Blogosphere...

Hey!

Welcome to my new blog for all things 3d animation and Autodesk Maya related. There isn't much in the line of content, but that will hopefully build over time.

I will also have various mel / python scripts for download in the future.

Later
James