PyCarrara, a free Python scripting plugin for Carrara
© 2010 Frederic Rible

Carrara procedural animation:

My first idea was to generate keyframes in a “.car” file with a small external software which parses a MIDI file and computes objects motions. After studying the file format and doing some simple tries my conclusion was it will be very difficult to achieve something easy to use with this technique. The major problem was the binding between the objects to be moved and the associated MIDI events : GUI interaction is mandatory to do that job.

So, I decided to study the Carrara SDK and the embedded Python techniques. After a few hours I was convinced that a Python plugin should be feasible. I started a first implementation called “PyTweener”. I got the original tweener example available in the SDK and started to link the C++ “SimpleTween()” function with an embedded Python interpreter. As I was totally new to SDK and Python, I have been very surprised to achieve something running in only two days ! This early release was not clean and had many problems such as memory leaks, but it was enough for my first boomer animation driven by an audio file. For sure, this has been possible thanks to the quality of the SDK: the API is incredible and gives access to almost every parameters and features of Carrara.