Blender add-on for structured multi-job rendering with clean foldering, compositor integration, and stereoscopy.
Per-job folders · Zero-based numbering · File Output node management · Extension hooks · Windows‑safe paths
- Per-job overrides: scene, camera, view layers, engine, resolution, animation range (remapped to start at frame 0 for consistent filenames).
- Deterministic directory layout (with optional job-name suffixes for generated folders):
- Base renders:
<root>/<job_name>/base/<basename><frame>.ext
- Compositor outputs:
<root>/<job_name>/<NodeName>/...
(no separatecomp/
folder)
- Base renders:
- Multiple Compositor File Output nodes per job (we only manage base path + optional format + default slot naming).
- Smart slot naming: empty/default slot paths become
<job>_<basename>
. - Marker-linked frame ranges: when markers move, linked jobs update their start/end frames automatically.
- Optional stereoscopic (multi‑view) rendering with selectable output format.
- Non‑blocking compositor mode (warn instead of abort) per job.
- Pluggable preprocessors: inject logic before each job via
JOB_PREPROCESSORS
. - Windows‑safe name sanitizing (reserved device names avoided).
__init__.py # Add-on entry (bl_info + registers submodules)
rqm/
__init__.py # Internal namespace
utils.py # Sanitizing, tokens, path helpers
properties.py # PropertyGroups (jobs, outputs, state)
comp.py # Compositor File Output handling & path resolution
operators_queue.py # Queue operators and render loop
operators_outputs.py # Output mapping operators
handlers.py # Render handlers (complete/cancel)
ui.py # Panels & UILists
- Create a zip of the add-on root so the archive contains directly:
__init__.py
rqm/
directory
- Blender → Edit → Preferences → Add-ons → Install… select the zip.
- Enable: Render Queue Manager.
- Open the panel in Properties → Output tab.
- Open your target scene & camera.
- Add a job: Add Job (Current Scene/Camera).
- Adjust output folder (defaults to
//renders/
). - (Optional) Enable animation & set start/end OR link timeline markers.
- (Optional) Enable Stereoscopic or Compositor Outputs.
- Press Start Queue.
For a job named Shot01_MainCam
with basename render
:
<output_root>/Shot01_MainCam/
base/render0000.png …
<FileOutputNodeName>/<job>_<basename>0000.png
Enable Suffix folders with job name on a job to automatically append _JobName
to generated render and compositor directories when you need extra disambiguation.
Animation frame range (e.g. 101–148) is internally remapped so exported files still begin at 0000
.
Enable per job. Choose:
- Stereo 3D (combined)
- Multi-View Images (separate left/right)
If disabled, we restore standard single‑view output.
When enabled:
- Add one or more outputs.
- Choose (or auto-create) File Output nodes.
- Optionally pick base source: Job output folder, Scene output folder, or a folder inferred from a chosen file.
- Optional node-named and custom token subfolders (
{scene} {camera} {job} {node}
). - Slots with default/empty paths are renamed to
<job>_<basename>
.
Note: The previous “Detect View Tags” utility was removed. Use the free‑text Extra View Tags field to specify additional tags if needed.
This add-on is structured as a package under rqm/
. You can import modules (e.g., rqm.jobs.apply_job
) from scripts to drive custom workflows, or fork and extend operators/handlers.
Issue | Cause | Fix |
---|---|---|
Add-on fails: No module named 'rqm' |
Zip contained an extra parent folder | Re-zip so __init__.py is at archive root |
Compositor outputs not written | Node missing or disabled | Enable node or use “Create if missing” |
Wrong frame numbers | Expectation of original frame numbers | Tool intentionally remaps to 0-based for consistent batches |
Overwriting from multiple jobs | Same job name/basename | Ensure unique job names or change basename |
Why always start at 0000? Consistent naming prevents gaps and cross-project confusion when merging outputs.
Can I keep original frame numbers? Not currently; a future option may allow an offset.
Does this change render settings permanently? Only for the duration of the job; subsequent jobs override again.
- Queue import/export (JSON)
- Per-job color management & sampling overrides
- Dependency ordering (render B after A)
- Optional original frame numbering toggle
See CONTRIBUTING.md
. Pull Requests welcome—keep changes modular.
MIT. See LICENSE
.
Semantic-like tuple in bl_info['version']
: (MAJOR, MINOR, PATCH). Patch = fixes / packaging, Minor = new features, Major = breaking changes.
You can build the distributable zip in three ways:
PowerShell (auto-detect version):
pwsh scripts/build.ps1
Specify version override:
pwsh scripts/build.ps1 -Version 1.10.6
Cross-platform Python script:
python scripts/package_addon.py
Override version:
python scripts/package_addon.py --version 1.10.6
Output: render-queue-manager-vX.Y.Z.zip
at repo root and staging under dist/
.
GitHub Actions: Push a tag (git tag -a v1.10.6 -m "Release" && git push origin v1.10.6
). Workflow builds, attaches zip, and creates release notes with commit diff since previous tag.
Made for production batch rendering and extension. Enjoy.