FL Parallax Stack From RGBA Batch
Layers in, camera move out
- images
- layer_stack
If you've generated your layers as a batch of RGBA images - which is what a layer-decomposition or matting workflow tends to hand you - you don't want to wire up six FL Parallax Layer nodes by hand. FL Parallax Stack From RGBA Batch takes the whole batch and converts it into one stack object, spacing the depths out for you.
Two inputs beyond the images, and that's the entire node.
images is the batch, ordered back to front, background first. The tooltip adds a warning worth reading twice: "Exclude any reconstruction/composite image." Layer-decomposition pipelines often output the flat composited result as one of the images - if you leave it in the batch, it becomes your nearest foreground layer and sits on top of everything, which is both baffling and completely predictable once you see it.
near_depth (default 2) and far_depth (default 10) are the range the layers get spread across. The maths is linear: the first layer after the background gets the far depth, the last gets the near depth, evenly spaced between. Near depth must be less than or equal to far depth, and both have to be positive, or you get a clear error instead of a broken stack.
Output is a single layer_stack socket - type FL_PARALLAX_STACK - which plugs into FL Layered Parallax, or into FL Parallax Depth Sources if you want depth maps for the relief passes.
The important bit: layer order is your depth
Because the depth assignment is purely positional, the ordering of your batch is the geometry. Background first, nearest last. That's it. Which means the failure mode here isn't a crash, it's a plausible-looking render where the depth is subtly wrong: a mid-ground element that ends up nearer than it should, or a foreground detail that got shoved to the back. You'll see it as a layer that moves too fast or too slow, not as an error.
Worth checking with the locked_composite output from the parallax node - that's the stack with no camera movement, so any compositing weirdness is visible before you spend time rendering frames.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
Restart ComfyUI. Part of the Fill-Nodes pack; it comes with the pack's long pip list (OpenGL, audio, PDF, API clients) but needs no models of its own. If you're building the layers yourself, the companion packs worth knowing about are the ones that do layer decomposition - Qwen's layered latent route generates RGBA layers natively, which is why the pack's poster pipeline is built around EmptyQwenImageLayeredLatentImage and an RGBA VAE.
Where people get burned
Non-RGBA input. The node needs a 4-channel batch. RGB images with a separate mask won't do - this is a convenience node for work you've already separated, and if you haven't, use FL Parallax Layer instead and supply masks per layer.
Expecting variety. Unlike a stack of FL Parallax Layer nodes, you can't give each layer its own scale, offset or opacity here. Every layer comes out at scale 1, centred, fully opaque. If one element needs to be resized or nudged, you're better off building the stack manually - or splitting the batch and using one Parallax Layer per element. Reach for this node when the geometry really is a simple back-to-front stack, which, to be fair, it often is.
Depth compression. The default 2–10 range is fine for a handful of layers, but if you cram eight layers into it they end up within a whisker of each other and the parallax goes limp. Widen the range as your layer count grows.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | RGBA layers ordered back to front, background first. Exclude any reconstruction/composite image. | |
| near_depth | FLOAT | 2.000.25–100 | — |
| far_depth | FLOAT | 10.000.25–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| layer_stack | FL_PARALLAX_STACK | — |