Inhibiting certain frames from rendering during animation?

Is there any way to stop blender from rendering a stretch of frames? Lets say I have an animation that’s 4000 frames long, but I want to omit frames 3100-3200. Is there any way to do that without manually setting the end-frame to be 3100 and then restarting the render at 3200?

For an individual render, no. If you have to do two separate render jobs. You can put these together in a batch script though and get the same end result. There’s some good resources around the forum on how to set that up, reply back if you need specific help.

If you have a render queue manager, it may be able to accept comma-separated frame ranges and will split the job for you. Ex, you submit one job for frames “1-3100, 3200-400” and it creates a 1-3100 job and a 3200-4000 job.

The Video Sequence Editor could provide a pretty good workaround. Go to the Video Sequencer as shown, add->scene, use the K-KEY to cut it where you want to stop rendering and slide the end handles to begin again where you want it to. Or add multiple scene strips.

It still makes an image file for every frame, but at least it spends nearly zero time making the frames that aren’t rendered, and you can delete them later. If it’s hard finding the blanks, make a bright green slide that is easy to spot and add-image to the first channel on the whole render range of frames.

PS Any one know how to get the sequencer to skip making a frame altogether?


PSS Ignore the Start and End frame settings in the screen capture, it wasn’t quite completely set up.

This is one reason why you should always render to a high-resolution “one file per frame” format (such as OpenEXR or MultiLayer OpenEXR. This way, you can render the frames you need, easily see which frames you have, and selectively re-render any that look to be messed-up.

If you actually run blender -h from the command-line, you will get a complete list of the command-line options that Blender provides … a list which includes “starting frame-number” and “ending frame-number.” So, in this way, you can ask Blender to render only the specific frames that you need. (Also, Blender won’t try to run its pretty graphic user-interface, so it actually renders a little bit faster.)

Once you have the directory full of frame-files, VSE can deal with these as “strips” which encompass exactly the range of frames that you want. (The “one file per frame” way of doing things is actually quite normal, and many video editing programs natively support it.)

You’re welcome

@daren: Woohoo! Thanks, that sweet addon is much easier.

@sundialsvc4: oh yeah, a command line batch file would work. Just as a side note, my command line background renders sometimes actually take a little longer than from the blender UI. Seriously, the Mike Pan BMW benchmark file is usually less than .3 seconds different, but occasionally 18 seconds from command line vs. 15 seconds from the UI (per frame). I use >blender -b BMW1M-MikePan.blend -y -s 5 -e 6 -a

yeah I always render out each frame separately, it just takes forever to render so I usually do it while I’m at work or sleeping. I just didn’t want to render one section out all the way and waste time rendering a section I don’t need or wait to get home to start the next section. I’ll take a look at that batch render add on, it seems to be what I’m looking for. The strip method wasn’t a bad idea either.

One thing I’ve done in the past is use Render Layers, setting one of the layers up to be a “dummy” layer with NOTHING on that layer. Then I animate the “enable” checkbox for the layers I want, and keep the dummy on the entire time. I then let the dummy layer run through the default output, and use a File Output node in the compositor for the other layer[s] I want to render. When the render is disabled, the output file doesn’t even run, but it still runs through everything because the dummy layer is always enabled. And since there’s nothing in it (and you can set the samples for it to 1) it moves extremely fast.

This is probably a bit of a hack, but it worked nicely for my needs on a project I had recently when I sometimes had stretches of 1000 or more frames that I didn’t want to render.

Another option is to create fake images in your render directory (render one, duplicate X times, use a naming app to get everything named and numbered properly), then disable the “Overwrite” option in the output settings. Another hack, but it’ll work!