Atlas Export Scene Package (.atlas)
Export the whole scene, not just the camera
- solve
- project
- package_dir
Most of the exporters in this pack hand a camera to Maya or Nuke and the conversation ends there. AtlasExportScenePackage is different: it writes the entire solve - camera, planes, geometry, plates, mattes, and the solve JSON itself - into a single self-contained .atlas package designed to come back edited. It's the "save the scene file" of the Atlas world, and it's the last node in the chain that starts with a solved photograph and ends with an editable 3D scene.
How it works
A .atlas package is a folder (or single archive) where every asset the scene names is copied in and referenced by package-relative path - never by whatever temp location the plate was in when the solve ran. That's a deliberate rule from the writer's source: "a package pointing at the plate's original location is not a scene, it is a note about one." Evidence is copied, never converted - mattes that live as base64 PNGs in the solve are written as the same PNG bytes, so nothing re-encodes and changes your pixels. The solve JSON travels along in an atlas/ directory so the package can show where its camera came from.
Two things it refuses to do: it never invents a completion policy (a plane the occlusion graph hasn't classified licenses none, and the editor will refuse to extrude on it - run AtlasOcclusionGraph upstream to fix), and it never writes a package that would fail its own format checklist. A bad export stops here with a complaint, not later in someone else's editor.
The inputs that matter
solve is the required one, plus output_dir (default atlas_scenes) and scene_id (default street_001 - the package lands at output_dir/<scene_id>.atlas).
The optional inputs are where the quality lives:
plate_path- overrides the solve's ownimage_path, which routinely points at a temp file that has since vanished. Set this to the real plate location.relief_mesh_path- the GLB fromAtlasExportReliefMesh. Without it the package has a camera and planes but no geometry to edit. The single most common reason a package opens as a skeleton.cleanplate_path+cleanplate_mesh_path- both together, from a second relief-mesh run on the cleanplate/depth branch; they build a separately editable cleanplate relief behind the foreground.project- anATLAS_PROJECTfromAtlasProjectroutes the export into the project tree'sscenes/lane and supersedesoutput_dir.
Output is one thing: package_dir (STRING) - where the package was written.
Installing
Same pack install as everything else - Manager search "atlas-camera", or:
cd <ComfyUI>/custom_nodes
git clone https://github.com/mikejamesvfx/atlas-camera.git
Restart. This node is in the fully public, self-contained export path - no atlas-world, no GPU, no extra pip packages for the package writer itself. If you're coming from AtlasInput, this is the natural endpoint: solve, derive geometry, merge, export.
Where people get burned
- The package opens with no editable geometry - you skipped
relief_mesh_path. The tooltip says it plainly: without the GLB you get camera and planes, not a scene to sculpt. - Complaints in the export note - the node reports what it couldn't include right on the node. A quietly-dropped plate produces a scene whose missing features nobody can explain; read the note before you hand the package to anyone.
- Planes refuse to extrude in the editor - no occlusion classification. Run
AtlasOcclusionGraphbefore exporting.
The practical flow is AtlasInput → AtlasDeriveWalls → AtlasExportReliefMesh → AtlasExportScenePackage → open in the Atlas editor, and this node is the handoff that makes the whole loop worthwhile - you can edit, re-export, and compare against the photograph you started from.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| solve | ATLAS_SOLVE | — | |
| output_dir | STRING | atlas_scenes | — |
| scene_id | STRING | street_001 | — |
| plate_pathopt | STRING | Overrides the solve's own image_path, which names wherever the plate was when the solve ran and is routinely a temp file that has since gone. | |
| relief_mesh_pathopt | STRING | The GLB from AtlasExportReliefMesh. Without it the package has a camera and planes but no geometry to edit. | |
| cleanplate_pathopt | STRING | Optional scene-linear cleanplate EXR. When paired with cleanplate_mesh_path, Atlas Camera writes a separately editable cleanplate_relief behind the foreground relief. | |
| cleanplate_mesh_pathopt | STRING | Optional GLB from a second AtlasExportReliefMesh run using the cleanplate/depth branch. Both cleanplate inputs are required together. | |
| observation_idopt | STRING | Which photograph this is. Part of every plane's identity, so the same wall shot twice stays two pieces of evidence. | |
| cleanplate_observation_idopt | STRING | obs_cleanplate | Evidence identity for the cleanplate projection. Defaults to obs_cleanplate when left blank. |
| projectopt | ATLAS_PROJECT | Optional delivery project from AtlasProject — routes this export into the project tree's scenes/ lane and supersedes output_dir. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| package_dir | STRING | — |