Insane Pipeline... suggestions?

OK I’m looking for a way to simplify or automate my art pipeline, have a look an you’ll see why:

For games we use a basic package of parts. All these parts are in
parts.blend

We use these parts to make lots of ships and because the parts are updated regularly we duplicate link them in the part.blend

Then in the .blend we have a camera animation set up which renders 5 frames as .png’s from different angles
And 3 node systems, because we need the color, heightmap and normals from the mesh

So far so good.
Now the bottleneck:
Rendering one ship takes ages:
1 modelling
2 texturing
3 moving to camera layer
4 pressing anim rendering 5 images
5 opening inkscape and “reverting” thus updating the 5 images
6 export bitmap from inkscape
7 switch node from color to height
8 pressing anim rendering 5 images
9 opening inkscape and “reverting” thus updating the 5 images
10 export bitmap from inkscape
11 switch node from height to normal
12 pressing anim rendering 5 images
13 opening inkscape and “reverting” thus updating the 5 images
14 export bitmap from inkscape
15 moving ship to “dump” layer.

And did I mention we have a LOT of ships planned … I’d love to automate steps 4 to 14, BUT I cant seem to find the api I"d need and switching nodes is as far as I know not even IN the blender api (in 2.5. it probably will be, but not currently in 2.49)

Any suggestions of a way to script this or make it easyer are welcome.
Basically I could already avoid having to go to inkscape as I’m using an orthogonal camera anyway… but updating a ship or a part would result in having to do all the rendering again too… also, the .part blend file is getting kinda bulky and it would be nice if I could save each ship as a linked, yet separate, .blend. (appending doesn’t do it as there’s no way I’m going to remember which meshes to append in a file, as I’ve said, there are a lot of ships, and I’m not naming all meshes on duplication because of the sheer amount of typing THAT would result in.

Note: I’m trying to solve this using google IRC and other channels, but any help here is welcome :slight_smile:

Are you on Windows or Linux ?

If you’re on Windows, I’d use AutoIt which a really simple scripting language to automate task in Windows framework. You could easily automate these steps with it. BUT, since Blender doesn’t contain win32 controls, you couldn’t reach the blender’s command directly with the script. It requires a way to perform the specified actions within blender using keyboard shortcut or mouseclick position. I’ll run some test for you and I’ll let you know…

But theorically, it would work…

maybe with macros in 2.5, but you’d have to wait.

If its possible to eliminate inkscape from the pipeline and somehow replicate what you’re doing there in python than its very possible you can do it all inside blender using the API. I’m not really sure what the “reverting” actually is but seeing as inkscape is open source you can look at the source of the tool/function that you use and maybe use that at as guide when making your own version.

However, all up that may actaully take longer than doing it manually.

doing this 16 times would be ok, unfortunatly it’s more around 200 times, and lets not forget that sometimes stuff needs to be done again…

"Reverting’ in Indesign is just pressing a buttong to reactualise the linked files (appended, if you want to use blender jargon). SO as to save the updated images.

I’m curently trying out 2.5 (own builds) so I can stay on top of the latest and hopefully can script it all…