Skip to content

p2or/blender-loom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

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

  • You can verify the output before rendering the animation by clicking the Verify Output operator I1, 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 stopwatch_small, 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 I1 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 renders 1, 2, 4, 6, 8, 9, 10, 23 instead of 1, 2, 8, 9, 10, 23 if the property is disabled.

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

  • Encoding encoding-flag-disabled 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

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

  • 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 I1, 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 Screenshot 2022-12-15 at 08 32 33

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

  • If Limit by Object Selection toggle limit_by_object-in-selection 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.

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

  • 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.

Render Flipbook CtrlShiftF10

Using this dialog allows to render the viewport based on the given frames, frame range(s), or subframes without manipulating the Timeline similar to View > Render Viewport Animation. Since rendering the viewport is quite fast, this can be useful for layout purposes, previewing subframes as well as utilizing the real-time compositor.

Render flipbook dialog

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

Metadata Variables

All predefined variables in the Addon Preferences e.g. $CAMERA, $F4 or $LENS can be used in the Note field of the Metadata panel for previs. In order to format the text and make it easier to read, line breaks (\n) and spaces are supported as well.

Metadata Variables

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

  • 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.

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+.