Loom is a Blender addon designed to simplify the process of rendering image sequences and specific frames.
- Render Image Sequence Dialog
- Batch Render Dialog
- Encode Image Sequence Dialog
- Utilities
- Gotchas and Limitations
- Addon Preferences
- Installation
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).
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).
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.
1-17x0.25
@25fps (without motion blur)
- You can verify the output before rendering the animation by clicking the Verify Output operator
, which reports all frames that are going to be rendered (in the Info Area as well as in the terminal). If you hold down Ctrl or Cmd while clicking the button, all images will be output to the Info Area as and the terminal individually
1,2,3,4,5,7 ...
. - When you click the stopwatch
, Loom tries to find out which frames are missing based on the regular Output Path and automatically adds them to the list. If you hold down Ctrl or Cmd while clicking the button, the regular frame range of the timeline is forced to be taken.
- You can enable Filtering
to handle each number after the caret (
^
) separatly, this allows to add single frames or frame ranges right after any excluded frame, e.g.1-10 23 ^3-7 4 6
renders1, 2, 4, 6, 8, 9, 10, 23
instead of1, 2, 8, 9, 10, 23
if the property is disabled.
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.
-
Encoding
is optional and takes place after the rendering (path tracing / rasterization) is done
-
Execution of that operator generates a batch file in Blender's scripts directory (
.sh
or.bat
depending on the operating system) and runs all commands via command line one by another - you can make the generated batch files your own and modify them (for easy access, click the disk icon right beside Delete temporary batch file operator in the Addon Preferences, to open up the scripts directory on your system) -
In case you need more space within the dialog itself or e.g. you'd like to see the path of each file, you can change the appearance of the elements within the dialog by clicking the arrow in the upper right corner to change the display settings
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.
-
Select
ProRes 4444 XQ
to get an alpha channel -
You can verify the image sequence on disk before encoding by clicking the Verify Image Sequence operator
, which also detects all frames missing frames of the sequence
-
In case there are missing frames, the addon either provides an utility function to fill the gaps of the image sequence with copies of the previous (nearest) frame to get the full lenght animation and another operator to render all missing frames. If you just want to fill the gaps of the given sequence, enable the Ignore Scene Range property
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.
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.
If you'd like to remove all version strings in your File Output nodes, hit F3 and type Remove version str...
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.
- If Limit by Object Selection toggle
is enabled, only the keyframes of the selected objects in the scene are added to the list.
- Holding down Ctrl while clicking 'Render Selected Keyframes' button will add all keyframes to the list, regardless of what's selected in the Timeline, Graph Editor or Dopesheet.
- Holding down Alt or Option while clicking the 'Render Selected Keyframes' operator limits the selection of keyframes to the current frame range of the scene.
- If you hold down Ctrl and Alt or Option when clicking 'Render selected Keyframes' operator without any object selected, all keyframes within the frame range of the scene are be added to the list.
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.
- The replacement only works if Loom is used for rendering, e.g. using CtrlShiftF12.
- Defaults for demo purposes are
$BLEND
,$F4
,$SCENE
,$CAMERA
,$LENS
,$MARKER
,$COLL
etc. - To customize the provided time variables for e.g. dailies, see the official documentation on
strftime()
for all options.
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.
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:
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.
Using this dialog allows to rename any arbitrary image or file sequence on disk.
Using this dialog allows to create all relevant main folders for the current project and automatically sets the Output Path to the render folder.
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) |
- Loom does not support direct encoding, make sure the File Format is set to Image.
- Activation of the Playblast hotkey requires restarting Blender.
- In case encoding fails for some reason, make sure the path to ffmpeg binary is absolute.
- Renewal of hotkeys once entirely removed, requires resetting the Addon-Preferences and restarting Blender.
- Switching the terminal back from Xterm to the default system terminal requires resetting the Addon-Preferences in some cases.
- Download the latest release
- In Blender open up User Preferences > Addons
- Click Install from File, select
loom.py
and activate the addon - 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+.