Nodes/Atlas Camera/Atlas Camera Move Preset 🎬
ComfyUI Node

Atlas Camera Move Preset 🎬

The viewport's move buttons, as a node

By mikejamesvfxΒ·Created 3 months agoΒ·Updated a day agoΒ· 1
Atlas Camera Move Preset 🎬
  • solve
  • camera_path
  • exact_view
  • report
β—„movearc_leftβ–Ί
β—„angle_deg12.0β–Ί
β—„frames100β–Ί
β—„easingease_in_outβ–Ί

The viewport's one-click camera moves are great - until you want them automatically, without a human ever opening the browser. Atlas Camera Move Preset 🎬 is those same buttons exposed as a node: give it a solve and a move name, and it returns a keyframed camera_path plus the exact end pose. That's what lets the pack's auto-fill graph run start to finish without anyone touching the viewport: preset path in, holes surveyed at its end frame, a video model fills them, and the artist only opens the viewport afterwards to tweak.

The moves

The move dropdown mirrors the viewport buttons exactly - same constants, pinned by tests so the two can't drift:

orbit_left, orbit_right, pan_left, pan_right, dolly_in, arc_left, arc_right, push_in, vertigo

If you recognize arc moves as the standard shot recipe, yes - that's the default (arc_left). Alongside it you get angle_deg (how far the orbit/arc/pan swings, default 12Β° - the automated recipe's fill budget; the viewport buttons use 15Β°), frames (path length, default 100), and easing (ease_in_out default, ease_in, ease_out, linear).

The clever bit: the exact end pose

camera_path is the full animated path for the exporters. But the third output, exact_view, is the quiet workhorse. It's a string encoding the measured orbit delta with its pivot (pivot=x,y,z), so the patch re-entry loop can reproduce the identical end pose. The history here is instructive: the pivot used to be a ground-ray look-at that landed ~43 m past the subject on a near-level camera, swinging the eye four times further than the buttons and opening four times the disocclusion. The pivot now travels with the delta, so exactness costs no radius - wire exact_view straight into AtlasAddPatchView.exact_view_override and a filled end frame projects back from the identical pose, no "Bake Repair Frame" click required.

One honest caveat in the source: pan moves swivel in place and have no orbit-delta representation - they emit a zero delta and say so in the report.

Where it sits

The pivot is the scene's median-depth point along the central view ray - the same pivot the backend uses everywhere, so what this node produces lines up with AtlasCropROI's end-frame hole survey and the patch nodes' camera construction. It's filed under Atlas/advanced because it's a plumbing node: you usually don't need it until you're automating the fill loop or scripting a shot series, at which point it's the difference between "queue the whole thing" and "manually orbit, screenshot, repair, repeat."

Install is the pack's clone-and-go; this node is pure Python (path math over the solve's camera), no extras, no GPU. Outputs: camera_path, exact_view, and a report that states the move, keyframe count, fps, and the measured travel distance.

CategoryAtlas/advanced

Inputs (5)

NameTypeDefaultDescription
solveATLAS_SOLVEβ€”
moveCOMBOarc_leftSame moves as the viewport buttons. Values are append-only (they serialize into saved workflows).
angle_degoptFLOAT12.01–90Orbit/arc/pan angle about the scene pivot. 12 is the automated recipe's fill budget; the viewport buttons use 15.
framesoptINT1002–1000β€”
easingoptCOMBOease_in_out4 options: ease_in_out, ease_in, ease_out, linear

Outputs (3)

NameTypeDescription
camera_pathATLAS_CAMERA_PATHβ€”
exact_viewSTRINGβ€”
reportSTRINGβ€”