Help creating Multi-scene Animator

Hi All,

There may be a script or add-on already in existence, my apologies for not being able to find it in advance.

I’m looking to create a multi-scene animation script which handles batch animation rendering of various scenes within one .blend file. My workflow involves creating an animation of moving parts, that may last 600 frames, but I need 5 or 6 different camera views and some layers are enabled at different frame ranges. I run my renders while I sleep, but some don’t take all night so I have to wake up at 4a and queue up the next scene. Being half awake I sometimes forget to turn on a layer or whatever and the rendered scene is junk. Of course, it would be nice to set up all my scenes the way I want them while my brain is firing on all cylinders and then catalog them in a list so that when I hit “animate” the next morning everything is rendered as intended.

I’m not a great programmer, and really have no clue where I would start. Is there anyone who could help me or point me in the right direction?

Below is a mock screen of what I imagine it would be. The layout would be similar to the materials pane in cycles for nodes. You would add a scene and all the attributes would appear below.

Thanks for your feedback.

James


https://www.blender.org/manual/advanced/command_line/index.html might help. Can specify blends, layers etc. Whip up some test batch files for practice.

Probably are add-ons too, but I can’t recall them right now.

Oh…the ol’ RTFM response. Thanks.

It doesn’t have a UI and it needs a lot of tweaking to set up for each project, but I have used this script a few times:

import bpy

def renderscene(scn):
    bpy.ops.render.render(write_still=True,scene=scn)
    
def renderanim(scn):
    bpy.ops.render.render(animation=True,scene=scn)
    
def setdpi(scn,dpi):
    scn.render.resolution_percentage = dpi*10
    
def setqual(scn,qual):
    scn.cycles.samples = qual
    
def scn(name):
    return bpy.data.scenes[name]






scenelist = ['A1a','A1b','A1c','A2a','A2b','A2c','A3','A4','B1','B2','C1','D1','G1','G2','G3','J1','K1','L1','L2','M1','N1','U1','U2','U3','U4']




qual = 100
dpi = 10


for i in scenelist:
    print (i)
    setqual(scn(i),qual)
    setdpi(scn(i),dpi)
    scn(i).cycles.device ='GPU'
    scn(i).render.threads_mode = 'FIXED'
    scn(i).render.threads = 11
    scn(i).render.tile_y = 256
    scn(i).render.tile_x = 256
    renderscene(i) 
    



This will render multiple scenes in sequence. I can set the # of samples and change the resolution on all scenes at once. This is great for doing test renders at 10% and just a handful of samples to check for any glaring errors before cooking it overnight. Each scene contains its own settings, including layers, animation frames, etc.

More like copy paste & change naming as appropriate. If being pointed in the right direction isn’t good enough why pretend it is?

http://blender.stackexchange.com/a/548 (simplest answer / more popular above)

Happy new year.

Thanks, that’s more what I’m looking for.

I just discovered I can set up multiple scenes in one file, so your script will work perfectly. Maybe I’ll figure out how to make an interface for it.

Do you know if it will work with animation too?

Cheers,
James

I wasn’t pretending, rather restraining my frustration.

It’s also frustrating that people cannot do a bit of searching themselves before starting a thread.
As a test I put into google
“blender multi-scene animation script” (a phrase from your original post plus the addition of the word blender)
The first link was the stackexchange site in post #5

The manual is incomplete, erroneous, and outdated.

By the way the blender manual page for the command line references blender 2.78 (the latest version) if you bothered to look