Atlas Export Blender Scene
Get your solved scene into Blender without leaving ComfyUI
- solve
- output_profile
- project
- script_path
Atlas's whole pitch is "one photo in, a metric pinhole camera and a colour-managed projection setup out - for Nuke, Maya, USD and Blender." AtlasExportBlender is the Blender end of that promise: it takes the solved scene and writes a build_scene.py script you run inside Blender to rebuild it there. Camera, plate, and ground - as code, not as a fragile mesh drop.
It's the simplest of the export family, and that's deliberate. Where the Maya export writes a full .ma with projection networks and the USD export writes a time-sampled camera path, this one hands Blender a Python script. Blender is the most scriptable of the DCCs, so the pack leans into it: script in, build_scene.py out, you run it with Blender's bpy and your scene appears.
What it does
Required inputs: solve (the ATLAS_SOLVE - the thing carrying the recovered camera and geometry) and output_dir (default atlas_exports). The node writes build_scene.py there and returns the path as its script_path output, so you can see exactly where it landed and feed it onward if you want.
Two optional inputs give it context:
output_profile- optional OCIO-style output/profile metadata to include in the exported solve context. Wire it if you're colour-managing the handoff.project- an optionalATLAS_PROJECTdelivery project, which routes the export into the project tree'sblender/lane and supersedesoutput_dir. This is the pack's "delivery project" pattern - one project definition, every export landing in its own lane (blender/, usd/, maya/, ...).
One output: script_path (STRING), and the node is marked as an output node - it's a terminal step, not something you wire mid-graph.
What it's not
Worth saying clearly so you don't go looking for the wrong thing: this is not the experimental headless-Blender bridge. The pack has a separate, gated node (AtlasBlenderMassing) that drives a real Blender ≥ 4.2 installation headlessly for massing and mesh import - that one is behind ATLAS_EXPERIMENTAL=1, needs a Blender install, and is a much bigger machine. This export node is the lightweight, always-available path: write the script, run it in your own Blender, done. Everything else in the pack works without the experimental tier.
Install
cd <ComfyUI>/custom_nodes
git clone https://github.com/mikejamesvfx/atlas-camera.git
Restart (or Manager → "atlas-camera"). Here's the nicest part about this particular node: the core export tier is dependency-free - no GPU, no torch, no neural stack required. The README's dependency table is explicit that schema, solve JSON, and DCC exporters run on pure Python. You only need the [neural] tier upstream if you want a learned solve or depth-driven geometry feeding the export; a vanishing-point solve plus this node is a fully CPU path.
Run the script it writes in Blender - the exporter handles the coordinate conversion at the boundary (Blender is Z-up, Atlas core is Y-up) so the camera and plate land where they should - and your scene assembles. One honest limitation from the docs: this export writes the camera + plate + ground scene-builder, and hasn't yet been extended to the per-layer ProjectionSource model - the layered story is currently Nuke + Maya. If you need per-layer projections in Blender specifically, that's the experimental headless bridge's territory, not this node's.
It's a brand-new pack with no community war stories yet, so if something looks off, the script itself is the documentation - it's plain Python you can read.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| solve | ATLAS_SOLVE | — | |
| output_dir | STRING | atlas_exports | — |
| output_profileopt | ATLAS_OUTPUT_PROFILE | Optional OCIO-style output/profile metadata to include in the exported solve context. | |
| projectopt | ATLAS_PROJECT | Optional delivery project from AtlasProject — routes this export into the project tree's blender/ lane and supersedes output_dir. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| script_path | STRING | — |