Load Motion Camera Preset
27 ready-made camera moves you can paste straight into your prompt
- POINTS
Writing camera poses by hand is miserable. Each frame is a 3×4 matrix - twelve numbers that mean nothing when you stare at them - and you need one per frame. Load Motion Camera Preset exists so you never have to: pick a move from a dropdown and it hands you the whole JSON string, ready to paste into Motionctrl Cond's camera field.
The dropdown has 27 entries and they mostly read like a drone pilot's shorthand. The letters are the moves: U/D/L/R for tilt up, down, pan left, right; O for orbit; I for a forward push-in. Then there are speed variants - O_0.2x through O_2.0x, same move at 20% to 200% pace - plus some real character: Round-RI, Round-RI_90, Round-ZoomIn, SPIN-ACW-60 and SPIN-CW-60 for spins, and a handful of hex-string names (1424acd0007d40b5, etc.) that are leftover named test trajectories from the original research repo. The hex ones are junk; you'll use the letters.
How it works
It's about as simple as a node gets. It opens examples/camera_poses/test_camera_<name>.json from inside the pack folder, reads the per-frame camera poses, and returns them as a JSON string. That string is the same format Motionctrl Cond expects: a list of per-frame pose rows, each with 12 numbers describing where the camera is and where it's pointed.
The inputs and output
One input - motion_camera, the dropdown - and one output: POINTS (STRING), the JSON pose string.
Wire POINTS into Motionctrl Cond's camera input. That's the whole job. Notably there's no frame_length input here: the preset emits its full set of frames and Motionctrl Cond pads or truncates to whatever the model's frame count is. If your move looks faster or slower than expected, that's usually a frame-count mismatch doing the padding, not the preset being wrong.
What it's good for
This is the fastest way to get a believable camera move in your first MotionCtrl run - pick U, wire it in, and watch the camera rise. It's also the best way to learn what the camera field actually looks like: run the preset, then peek at the string it outputs, and suddenly the 12-numbers-per-frame format isn't scary anymore. That's genuinely the most useful thing a preset can do.
Common issues
The one real failure mode is missing files. The node reads from examples/camera_poses/, which ships with the repo - if you cloned into the right place it's there, but a partial clone or a moved pack folder gives you a file-not-found error with no obvious cause. Re-cloning the pack fixes it. And remember the honest ceiling from the pack's own docs: the output feeds a model that renders 256×256 clips, so a "cinematic orbit" here is more like a well-behaved gif. Motion control is the point, not resolution.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| motion_camera | COMBO | 27 options: U, D, L, R, O, O_0.2x, +21 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| POINTS | STRING | — |