Autodesk 3ds Max
Posted by Christopher Diggins, 3 January 2012 10:30 am
Other the last few months I have been exploring the feasability of cross-product scripting: running the same Python script in multiple Autodesk DCC tools. I am doing this by wrapping the Python APIs for various products (e.g. 3ds Max, Maya, MotionBuilder, and FBX) with a common set of classes so that I can write scripts that run in multiple products.
I am hoping to hear from my readers to tell me how useful it would be for them if there was a single Python API that they could use for common scripting tasks across products, in addition to the existing native scripting API.
I believe there is value to at least some studios. For example Blur invested a signficant amount of effort in developing a common Python API for controlling 3ds Max and Softimage (see http://code.google.com/p/blur-dev/). Over the long term there would be an advantage for people hiring technical talent if much of the scripting knowledge and libraries developed by technical artists and tool developers could be transferred across products. Today learning MAXScript does almost nothing for you if you want to try and write scripts for Maya.
During my experimentation I developed a prototype of a common API for traversing the scene graph and extracting mesh and transform data. I even have a common interface for creating geometric objects. This API was used to create the WebGL server described in my previous blog.
What I hope to learn from my readers is how far I would need to go to develop an API that would have real-world value, beyond being a toy for creating fun demos. I also need help understanding what kinds of APIs would be the most important for cross-product scripting.
For example would you most want a common API to:
I'm also interested in hearing what products you most would like to be able to run the same script in.
I look forward to reading your suggestions and comments, thanks!
Please only report comments that are spam or abusive.