ComfyUI · 110 nodes · MIT · v0.8.1

It solves a camera,
not a mesh.

One photograph in. A metric pinhole camera and a colour-managed projection setup out — for Nuke, Maya, USD and Blender. A professional VFX tool for single-image camera recovery and matte-painting projection, running as a ComfyUI custom node.

ComfyUI Registryatlas-camera licenseMIT python3.10+ nodes110
SOLVE · PROJECT · EXPORT github.com/mikejamesvfx/atlas-camera
01 — WHAT COMES OUT

Four steps, one node to start

AtlasInput is the front door — it runs the solve, derives projection geometry, and hands you a scene you can look through. One node, sensible defaults, no wiring.

01 · SOLVE

The camera

Focal length, orientation and horizon from one photograph, with a confidence value. A deterministic geometric solve, or a learned prior (GeoCalib) for harder frames.

02 · PROJECT

The geometry

Projection geometry — relief mesh or fitted primitives — with the plate cast back through the recovered camera.

03 · REVIEW

The move

A real-time fullscreen viewport with simple camera moves — dolly, orbit, pan — at your delivery resolution.

04 · EXPORT

The handoff

Native setups for Nuke (.nk + Python), Maya (.ma), USD, Blender, and a relief mesh (OBJ/GLB) with the projection baked into UVs.

It solves a camera, not a mesh — the inverse-problem job a projection pipeline actually needs.

Where most 3D nodes generate geometry from an image, Atlas does the inverse: recover a real metric pinhole camera, then project the photograph onto derived geometry.

From the recovered viewpoint the plate reassembles exactly; scale error shows only as parallax on a move — never as smeared texture.

Colour-managed and float-safe throughout — plates tracked by reference in ACEScg and EXR 16/32-bit float, the projection path staying floating-point, handing off to OpenColorIO, Nuke, Maya and Resolve at up to 8192px.

ACEScgEXR 16/32-bitOpenColorIOup to 8192 px
02 — THE PIPELINE

The menu reads as the job

In the ComfyUI Add-Node menu, Atlas holds ten numbered folders in pipeline order — so you read the job, not an alphabet.

01
Input & Camera
02
Solve
03
Depth
04
Geometry
05
Projection
06
Layers
07
Viewport
08
Review
09
Colour
10
Export

Atlas/advanced holds every gated node — experimental, legacy, iOS — still supported, still tested, just not where you start.

03 — NATIVE EXPORT

Verified in the real applications

Not an interchange guess — real scene files, opened and checked in the host apps.

.nk + Python

Nuke

A camera and projection setup wired the way a compositor expects to receive it.

.ma

Maya

Native ASCII scene — camera, geometry and projection ready for lookdev and layout.

USD

USD

A portable stage for pipelines that speak Universal Scene Description.

Blender

Blender

Camera and projection brought across for artists working outside the Autodesk stack.

OBJ / GLB

Relief mesh

Projection baked into UVs — the derived geometry travels with the texture.

RAW → ACEScg

Shoot it yourself

AtlasLoadRAW reads NEF / CR2 / CR3 / RAF / ARW — measured focal and sensor, so the solve starts from the physical lens, not a guess.

Install

Drop it into ComfyUI and load the quickstart workflow — that one node is the whole tool. A pure-NumPy core means you can solve and export with no GPU; a GPU is only needed for the optional neural features.

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

# then, in ComfyUI:
LoadImage AtlasInput
   solved camera
   projection geometry
   viewport