ComfyUI Node

PBR Preview Grid

Stop squinting at five separate maps

By P5ina·Created 7 months ago·Updated 7 months ago· 1
PBR Preview Grid
  • basecolor
  • normal
  • height
  • roughness
  • metallic
  • preview

This is a look-at-it node, and it's honest about it: it takes the five PBR maps (basecolor, normal, height, roughness, metallic) and stacks them into one 2×3 grid you can preview in a single glance. Top row is basecolor, normal, height; bottom row is roughness, metallic, and a blank black cell to fill out the grid.

Why does that matter? The generate nodes in this pack each spit out five separate IMAGE outputs. ComfyUI will happily show you five separate previews, but that's a lot of panels to cross-check - and it's genuinely hard to tell if a normal map is sane or a height map is inverted when you're comparing them in different parts of the canvas. One composite grid makes the whole material read at once.

How it works

The mechanism is embarrassingly simple, and the source is happy to show it: each map is a [B, H, W, C] tensor, and the node just concatenates them - torch.cat across width for the top row, again for the bottom, then stacks the two rows vertically. The empty sixth slot is a black tensor (torch.zeros_like). No resizing, no labels, no compositing tricks - the maps have to already be the same resolution, which they are, since they come out of the same generation.

That's also the honest limitation: you're getting a visual composite, not a deliverable. The grid has no text labels telling you which cell is which, so you'll want to remember the layout - and the black cell is a reminder that this is a six-slot grid with five maps, a little lopsided by design.

Inputs and output

Five required IMAGE inputs - basecolor, normal, height, roughness, metallic - and a single IMAGE output named preview. Wire that into a PreviewImage node and you're done.

One genuinely nice use: check tiling. Because this pack's materials are seamless by default, a quick look at the grid shows you the maps side by side - much faster than loading each into a texture viewer to hunt for seams. The grid is the fastest way to eyeball whether the roughness matches the basecolor's texture before you commit to saving five files.

Install

It ships with the pack, so it comes along for free: ComfyUI Manager, search "StableMaterials", or clone https://github.com/P5ina/comfyui-stable-materials into custom_nodes, pip install -r requirements.txt, restart.

If you're going straight from a generate node to five Save Image nodes, you don't need this node at all - it's pure convenience for inspection. The only way to misuse it is to treat the grid as the final asset. Save the individual maps; the grid is for your eyes, not your engine.

CategoryStableMaterials/utils

Inputs (5)

NameTypeDefaultDescription
basecolorIMAGE
normalIMAGE
heightIMAGE
roughnessIMAGE
metallicIMAGE

Outputs (1)

NameTypeDescription
previewIMAGE