Nodes/MTB Nodes/Auto Pan Equilateral (mtb)
ComfyUI Node Runs on cloud

Auto Pan Equilateral (mtb)

Fly a virtual camera through a 360 panorama

By melMass·Created 3 years ago·Updated about a month ago· 721
Auto Pan Equilateral (mtb)
  • equilateral_image
  • floats_fovX
  • floats_fovY
  • floats_elevation
  • image
fovX45.00
fovY45.00
elevation0.50
frame_count100
width768
height512

Got a 360 panorama - a skybox, an equirectangular render, an AI-generated pano - and want to turn it into a moving shot? Auto Pan Equilateral does exactly that. It renders a virtual camera panning around inside the panorama and spits out a batch of frames, so a single flat 360 image becomes a smooth sweeping video.

Under the slightly-off name (the description says "equilateral" but the projection it wants is equirectangular - the 2:1 unwrapped-sphere format panoramas come in), it's a neat trick for giving otherwise-static generations some motion, and for previewing what a 360 image looks like from the inside.

How it works

It treats your input as the inside of a sphere and places a camera at the center. For each of frame_count frames it rotates the camera a bit and re-projects the panorama into a normal flat (rectilinear) view at your chosen width×height. The result is a batch that pans across the scene. The field-of-view controls how much you see (i.e. how zoomed in), and elevation controls how high or low the camera looks.

The inputs and outputs that matter

  • equilateral_image (IMAGE) - your equirectangular panorama. This needs to actually be a 2:1 pano, or the projection looks wrong.
  • fovX / fovY (FLOAT, default 45) - horizontal/vertical field of view. Lower = more zoomed in.
  • elevation (FLOAT, default 0.5) - the vertical look angle.
  • frame_count (INT, default 100) - how many frames to render. This is your batch size, so it drives render time and VRAM.
  • width / height (INT, default 768×512) - the output frame size.

There are optional FLOATS inputs - floats_fovX, floats_fovY, floats_elevation - that let you animate the FOV and elevation over time instead of holding them fixed. Drive those with the batch-float curve nodes (Batch Float Fit and friends) for a zoom or tilt during the pan.

Output is a single image (IMAGE) batch → your video combine/save.

How to install it

Via ComfyUI Manager: search MTB Nodes, install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/melMass/comfy_mtb

then restart. No models.

Common issues & troubleshooting

The output looks warped or wrong. Almost always because the input isn't a true equirectangular panorama. It expects the unwrapped-sphere format (twice as wide as it is tall). A normal photo or a non-2:1 image will project into a mess.

It's slow / eats VRAM. frame_count is your batch size - 100 frames means 100 rendered images. Drop it while you're dialing in the FOV and elevation, then raise it for the final render.

The pan feels flat. Wire a curve into floats_fovX or floats_elevation to add a zoom or a tilt as the camera sweeps. A static FOV gives you a plain rotation; animating it is where it starts to feel like a real camera move.

Categorymtb/utils

Inputs (10)

NameTypeDefaultDescription
equilateral_imageIMAGE
fovXFLOAT45.00
fovYFLOAT45.00
elevationFLOAT0.50
frame_countINT100
widthINT768
heightINT512
floats_fovXoptFLOATS
floats_fovYoptFLOATS
floats_elevationoptFLOATS

Outputs (1)

NameTypeDescription
imageIMAGE