p2or / blender-loom

image sequence rendering, encoding and playback
175 stars 10 forks source link
blender blender-addon encoding image-sequence playback rendering

Loom

Loom is a Blender addon designed to simplify the process of rendering image sequences and specific frames.

Table of Contents

Render Image Sequence Dialog CtrlShiftF12

Using this dialog allows to render quite complex frame ranges, single frames, subframes as well as exclude frames and ranges without manipulating the Timeline, in the background (optional).

Render image sequence dialog

For example, you can enter 1, 2, 3, 5-10 to render only those frames. In order to exclude e.g. frame 7 from 1-10 range, just add a caret or exclamation mark followed by the number, like ^7 to render frame 1-6, 8-10 (similar when specifying multiple ranges on the command line).

Examples

Input (Range) Output (Frames)
1, 2, 3, 5-10 1, 2, 3, 5, 6, 7, 8, 9, 10
1-5, 10-15 1, 2, 3, 5, 10, 11, 12, 13, 14, 15
1-10 ^7 1, 2, 3, 4, 6, 8, 9, 10
1-10 ^3,4 1, 2, 5, 6, 8, 9, 10
1-10 ^3-5 1, 2, 6, 8, 9, 10
1-10 ^3-5, 9 1, 2, 6, 8, 10
1-10 23-29 ^3-5, 7-9 1, 2, 5, 6, 10, 23, 24, 25, 26, 27, 28, 29
1-10x2 1, 3, 5, 7, 9
1-10x2 10 1, 3, 5, 7, 9, 10
1-10x2 10 ^5 1, 3, 7, 9, 10
1-2x0.1 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0
1-2x0.1 ^1.4, 1.5 1.0, 1.1, 1.2, 1.3, 1.6, 1.7, 1.8, 1.9, 2.0

You can also render every nth frame of the scene by adding x followed by any number after the range, which allows to indicate incrementation steps. For example, 1-10x2 renders every second frame of the given range 1, 3, 5, 7, 9. This way, you can render subframes by indicating a float value like x0.1 or even x0.01 to get slow motion.

Loom Slow Motion
1-17x0.25 @25fps (without motion blur)

Options

Batch Render Dialog CtrlShiftAltF12

The batch dialog allows to render multiple .blend files and encoding their output sequences by using the command line in one go. You can either scan any directory or add the .blend files manually, re-order them and specify the render range or single frames for each file similar to the Render Image Sequence Dialog.

Loom Batch Dialog

Notes

Encode Image Sequence Dialog CtrlShiftF9

If FFmpeg is installed on your machine and set up properly in the Addon Preferences, this dialog allows to encode image sequences to ProRes or DNxHD/DNxHR for preview or layout purposes. You can select any image sequence, set the output colorspace (useful for encoding linear exr sequences), the frame rate and the desired codec.

Encode image sequence

Options

Utilities

Loom also includes some handy utilities that help in production e.g. display of the final Output Path, a list of all File Output nodes in the regular Output Panel, the creation of project folders and more.

Render Version

Once you add v and some arbitrary number to the Output Path, a new 'slider' appears in the Output Area which allows to change the actual version string on the fly.

Render Version

If you'd like to remove all version strings in your File Output nodes, hit F3 and type Remove version str...

Render specific Keyframes

You can render specific keyframes by selecting the keys in the Timeline, Dope Sheet or the Graph Editor and use the popover in the header of each area to call Render Selected Keyframes operator which automatically adds the frames to the render list.

Loom timeline popover

Options

File Path Variables

Loom allows to replace of all occurrences of any 'global variable' defined in the Addon Preferences via custom python expressions for the regular Output Path as well as all File Output nodes.

Globals

Notes

Render Presets

Loom allows to store custom presets for all necessary render properties. You can set the engine, samples, output path, image properties, etc. and save all settings as a new custom 'preset' in the Header of the Properties Area for reuse.

Screenshot 2023-01-14 at 14 04 22

If a preset exists, a new dropdown will appear in the 'Image Sequence Dialog' when 'Render using Command Line' is turned on as well as in the 'Batch Dialog' if 'Override Render Settings' is enabled which also allows to render the current scene or file using your custom presets, regardless of the actual render settings:

rndr_presets_dropdown

Markers

Loom adds three new operators to the Marker menu of the Timeline (Timeline > Markers). You can generate markers based on the selected cameras in the viewport, unbind the markers from the cameras or just batch rename them using a custom name or Globals that are defined in the Addon Preferences.

Batch rename markers

Rename File Sequence CtrlShiftF2

Using this dialog allows to rename any arbitrary image or file sequence on disk.

Rename File Sequence

Project Setup CtrlShiftF1

Using this dialog allows to create all relevant main folders for the current project and automatically sets the Output Path to the render folder.

Project Setup

Addon Preferences

The available settings are slightly different per operating system. However, you can set the size of each dialog, set the path to the ffmpeg binary, access as well as remove the batch files and edit the shortcuts on all operating systems.

Property Description
Timeline Extensions Allows to either turn on or off the display of the 'Loom Popover' and 'Shot Range' dialog in the Timeline
Output Panel Extensions Allows to either turn on or off the display of all File Output nodes and the final Output Path (Properties > Output Properties > Output)
Playblast (Experimental) Allows to playback the latest rendered image sequence by using ShiftCtrlF11 hotkey (requires restarting Blender after saving the User Preferences)
Default Animation Player Force using the default Animation Player (User Preferences > Files > Animation Player) for Playblast operator
Path to FFmpeg Binary Only required if not already part of your linux distribution or not added to the environment variables
Force generating .sh or .bat File Generates a batch file for all command line operations, even if those are single ones
Delete temporary .sh or .bat File Removes all generated batch files found in Blender's scripts directory
Xterm (Terminal Fallback) Fallback for all command line operations if the system terminal is not supported, Xterm is available for most Linux Distributions and older Versions of MacOS
Reset Preferences Reset all properties to their default values (except the binary path to ffmpeg)

Gotchas and Limitations

Installation

  1. Download the latest release
  2. In Blender open up User Preferences > Addons
  3. Click Install from File, select loom.py and activate the addon
  4. Save the Preferences and restart Blender

Contributions to Loom are welcome. Successfully tested on Arch Linux 2017+, Ubuntu 16.04+, MacOSX 10.6.8+, Windows 7+.