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__.pyrqm/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.ps1Specify version override:
pwsh scripts/build.ps1 -Version 1.10.6Cross-platform Python script:
python scripts/package_addon.pyOverride version:
python scripts/package_addon.py --version 1.10.6Output: 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.