Atlas Camera Move Preset π¬
The viewport's move buttons, as a node
- solve
- camera_path
- exact_view
- report
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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| solve | ATLAS_SOLVE | β | |
| move | COMBO | arc_left | Same moves as the viewport buttons. Values are append-only (they serialize into saved workflows). |
| angle_degopt | FLOAT | 12.01β90 | Orbit/arc/pan angle about the scene pivot. 12 is the automated recipe's fill budget; the viewport buttons use 15. |
| framesopt | INT | 1002β1000 | β |
| easingopt | COMBO | ease_in_out | 4 options: ease_in_out, ease_in, ease_out, linear |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| camera_path | ATLAS_CAMERA_PATH | β |
| exact_view | STRING | β |
| report | STRING | β |