2
$\begingroup$

How can you render out an image sequences, not a movie and have Blender save each frame image with a different file name (chosen by me) for each of them?

To be more specific what I need... I have model which represents an electric electric circuit with specific elements on it. And I want to render an animation in IMAGES where each image have one specific element of that electric circuit.

$\endgroup$
  • $\begingroup$ As far as I know there is no builtin functionality to achieve what you want. You could try the commercial addon Render+ which may allow you to set up batch renders with different names and frames easily. It is a payed addon but no too expensive I think. I am in no way affiliated with it. cgcookiemarkets.com/all-products/render $\endgroup$ – Duarte Farrajota Ramos May 6 '16 at 1:19
6
$\begingroup$

Blender allows you to render an animation to images and include the frame number in each filename. To get more control over the saved filename you can use a python script to do the rendering.

Paste the following script into blender's text editor and adjust the list of filenames to what you want to use for each frame. Instead of using blender's render buttons you can run this script to save each frame using the filenames you want.

A disadvantage is that blender's window will not get updated while rendering this way. You may want to do the render from the command line to get some feedback. If you save the script inside the blend file and name the text block myrender you can use -
blender -b myfile.blend --python-text "myrender"

import bpy
import os

# the folder to save the renders
outpath = '//renders/'

# filenames is a list containing frame number and filename
filenames = [
    [1, 'PC.png'],
    [2, 'IR.png'],
    [3, 'SP.png'],
    [4, 'Board01.png'],
    [5, 'Circuit01.png'],
]

scn = bpy.context.scene

for r in filenames:
    scn.frame_set(r[0])
    scn.render.filepath = os.path.join(outpath, r[1])
    bpy.ops.render.render(write_still=True)
$\endgroup$
  • $\begingroup$ thx, that's is what I want :D $\endgroup$ – Vildnex May 6 '16 at 14:08
1
$\begingroup$

I had the same question today, and I found that I can animate file output node, input names.

enter image description here

And you can just press I and keyframe the selected name, and see keyframe on your timeline. And without any scripting. (Nodes are in the compositor.)

This does not work in 2.8 RC2.

$\endgroup$
0
$\begingroup$

If you already made the animation with keyframes and such, you go to the render tab, under output select JPEG, and in the box you type where you want your frames to be saved. Let's say you put C:\renders\circuit in the output, then Blender will automatically assign the names of each frame, so what you will get is a series of images named circuit.001 circuit.002 circuit.003 and so on.

$\endgroup$
  • $\begingroup$ I already new that... but no that is what I need... I want to give a name like PC.png, IR.png, SP.png and so on for each of them... not... bla0001.png, bla0002.png... $\endgroup$ – Vildnex May 5 '16 at 23:47
  • 1
    $\begingroup$ @Vildnex Just rename the files after if there isn't too many? $\endgroup$ – Luka ash May 5 '16 at 23:56
  • $\begingroup$ 63... and sometime I need to rename again and again because I need to remake the image... $\endgroup$ – Vildnex May 6 '16 at 0:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.