Nodes/Atlas Camera/Atlas Export Maya Layers 🧊
ComfyUI Node

Atlas Export Maya Layers 🧊

Your whole layered projection stack, rebuilt as native Maya nodes

By mikejamesvfxΒ·Created 3 months agoΒ·Updated a day agoΒ· 1
Atlas Export Maya Layers 🧊
  • solve
  • output_profile
  • project
  • ma_path
  • summary
β—„output_diratlas_exports/maya_layersβ–Ί
β—„retopo_methodoffβ–Ί
β—„retopo_target_vertex_count2000β–Ί
β—„retopo_smooth_iterations0β–Ί
β—„retopo_crease_angle30β–Ί
β—„retopo_pure_quadfalseβ–Ί

Maya is where matte-painting projections actually get comped, and AtlasExportMayaLayers is the node that hands your whole layered 2.5D stack to it as a real, native scene. One .ma file, per-layer projector cameras as actual Maya nodes, an embedded on-open scriptNode that imports the OBJs and builds the projection networks. Not a mesh dump - a working scene.

It's the Maya twin of the pack's Nuke layers export, sharing the same layer collection, so the two DCCs can never drift. And it's been verified live - the catalog notes the whole path was tested in Maya 2027 via mayapy with 37 checks, which caught real bugs. That's the level of care this export family gets.

What it does

Required inputs: solve and output_dir (default atlas_exports/maya_layers). Outputs: ma_path (the .ma file) and summary (a report of what was written). Optional output_profile for OCIO-style output/profile metadata, and project to route into the project tree's maya/ lane.

The part beginners should care about is the retopology controls, because projection meshes are dense:

  • retopo_method (default off) - export-only retopology applied to every layer mesh before Maya writes its OBJs: off, quad, decimate, smooth, or voxel_remesh. This is the knob that turns a 200k-triangle relief into something a DCC is happy to carry.
  • retopo_target_vertex_count (default 2000) - the budget for the retopo methods.
  • retopo_smooth_iterations (default 0), retopo_crease_angle (default 30Β°), retopo_pure_quad (default false) - quality shaping on top of the chosen method.

The catalog's detail about how it's built is the interesting part: per-layer projector cameras come through as native nodes with transforms decomposed to Euler XYZ (round-trip tested), an embedded scriptNode imports the OBJs and wires the projection networks on open, and mattes ride the plate alpha through file.outTransparency β†’ lambert.transparency. It also caught two genuinely weird Maya facts along the way - the projection node has no focalLength/aperture attrs (the frustum comes from cameraShape.message β†’ projection.linkedCamera), and Maya's OBJ importer lands raw values in internal CM regardless of scene units. Both fixed, both documented.

How to use it

Wire a solve with a layered stack (from AtlasCleanPlateLayer / the layered projection workflow) into this node, pick a retopo_method once you've seen how heavy your meshes are, and queue. Open the .ma in Maya and the scene reassembles with its projection networks attached. Start with off to see what you're actually dealing with, then reach for decimate or quad if the viewport drags.

Install

cd <ComfyUI>/custom_nodes
git clone https://github.com/mikejamesvfx/atlas-camera.git

Restart (or Manager β†’ "atlas-camera"). The core export is dependency-free (the README's tier table puts DCC exporters in the zero-deps tier). You'll want the [neural] tier upstream if your layers depend on depth-driven geometry. Brand-new pack, no community folklore - but the "verified in the real application" note is the thing to trust here: this isn't an export format that was assembled blind.

CategoryAtlas/10 Β· Export

Inputs (9)

NameTypeDefaultDescription
solveATLAS_SOLVEβ€”
output_dirSTRINGatlas_exports/maya_layersβ€”
output_profileoptATLAS_OUTPUT_PROFILEOptional OCIO-style output/profile metadata for annotations.
retopo_methodoptCOMBOoffExport-only retopology applied to EVERY layer mesh before Maya writes its OBJs.
retopo_target_vertex_countoptINT2000100–100000β€”
retopo_smooth_iterationsoptINT00–20β€”
retopo_crease_angleoptFLOAT300–180β€”
retopo_pure_quadoptBOOLEANfalseβ€”
projectoptATLAS_PROJECTOptional delivery project from AtlasProject β€” routes this export into the project tree's maya/ lane and supersedes output_dir.

Outputs (2)

NameTypeDescription
ma_pathSTRINGβ€”
summarySTRINGβ€”