Skip to content

Instantly share code, notes, and snippets.

@cigumo
Created February 21, 2013 19:26
Show Gist options
  • Save cigumo/5007370 to your computer and use it in GitHub Desktop.
Save cigumo/5007370 to your computer and use it in GitHub Desktop.
Blender render automation for Ring Run Circus characters
characters = { 'lion', 'man', 'motoman', 'strongman', 'tiger', 'magician', ...
q = 7 # number of camera angles from side to top
edge_threshold = 3 # outline edge threshold
render_path = '//out/'
# main loop
cs = bpy.data.scenes['characters']
for c in characters:
# render multi angle scenes:
for name in [ ('_action', '.action'), ('_side-l', '.side') ]:
scene_name = c + name[0]
object_name = c + name[1]
scene = bpy.data.scenes.get(scene_name)
if scene == None:
print(' scene not found, skipping:' + scene_name)
continue
cs.node_tree.nodes['RenderEdge'].scene = scene # select layers and scenes
cs.node_tree.nodes['RenderEdge'].layer = 'edge'
cs.node_tree.nodes['RenderSolid'].scene = scene
cs.node_tree.nodes['RenderSolid'].layer = 'solid'
cs.frame_start = 0
cs.frame_end = scene.frame_end # set rendering scene length
co = scene.objects[object_name] # object to be rotated
for i in range(0,q):
cs.render.filepath = render_path + c + name[0] + '-' + ("%02d" % i) +'-##'
co.rotation_euler[1] = (-math.pi/2) * i/(q-1) # rotate the character
bpy.ops.render.render(animation=True) # start rendering
co.rotation_euler[1] = 0 # reset character rotation
# render crash (just side angle)
scene_name = c + '_crash'
scene = bpy.data.scenes.get(scene_name)
scene.render.edge_threshold = edge_threshold
cs.node_tree.nodes['RenderEdge'].scene = scene
cs.node_tree.nodes['RenderEdge'].layer = 'edge'
cs.node_tree.nodes['RenderSolid'].scene = scene
cs.node_tree.nodes['RenderSolid'].layer = 'solid'
cs.frame_start = 0
cs.frame_end = scene.frame_end
cs.render.filepath = render_path + scene_name + '-##'
bpy.ops.render.render(animation=True) # start rendering
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment