Arrange
Places any number of images side by side or stacked for quick comparisons, contact sheets, or layout composition.
Arrange takes any number of inputs: wiring the trailing empty pin adds another, and disconnecting a middle pin closes the gap. Images are laid out in pin order as a row (Horizontal), a stack (Vertical), or a Grid with a fixed number of Columns for contact sheets and sprite layouts. A fourth layout, Original Positions, puts trims from a Trim Sheet back at their places on the sheet.
When images differ in size, Alignment positions them on the cross axis and Fit decides whether they keep their sizes, stretch, or scale proportionally to match the largest.
Original Positions: rebuilding a trim sheet
Section titled “Original Positions: rebuilding a trim sheet”Every image in a Trim Sheet’s Trims batch remembers where it sat on its sheet, through the nodes you edit it with, through Split Batch, and through Collect. Set Direction to Original Positions and Arrange puts each one back there, on a canvas the size of the sheet the trims came from.
- Wire the Trim Sheet’s Trims output into the nodes that make each material, splitting it with Split Batch where each trim needs its own branch.
- Bring the trims back together with Collect and wire them into Arrange.
- Set Direction to Original Positions. The result is the sheet again, with your edits in it; wire it into Export Image and into Export Data, whose rectangles, names, and colors match the original sheet’s.
- Fit decides a resized trim. A trim that changed size on the way fills its place by Fit: Stretch fills the place exactly, Fit keeps its shape centered inside it, and None places it at its own size from the place’s corner. Picking Original Positions sets Fit to Stretch in the same undo step.
- A cut-out always lands over its parent, whatever order the branches arrive in on the pins, so a parent trim you filled edge to edge never covers the trims cut out of it.
- Alignment and Gap are grayed with the reason, since every trim already has its place.
- An image with no place is left out, and so is one from a sheet of a different size than the first trim’s; a note says how many.
- Extrude (Original Positions only) repeats each trim’s edge pixels outward into the gaps around it, on every map and the Opacity, so a padded sheet survives mipmaps: each pixel it fills copies the nearest edge pixel of its trim (a corner copies the corner pixel), so a noisy trim stays crisp and two trims never mix. Under a trim’s fully transparent edges, such as a decal’s, it copies in the color of the nearest opaque pixel, so the edge never darkens toward black when the texture is filtered.
- Auto (the default) closes the sheet’s Padding exactly: each trim grows back over its half of each gap, around its cut-outs too, and nowhere else, so empty space stays empty. Padding 20 needs no number typed. The panel says what it does (
Auto: 10 px, closes the sheet's 20 px Padding.), and trims from sheets with different Paddings each close their own (Auto: closes each sheet's Padding (8 px and 20 px).). - A number (clear Auto, then 0 to 64 px) grows every trim that far instead, whatever the Padding, for example further than half the Padding to cover what a mip level blurs across. It also grows into empty space, and 0 turns Extrude off.
- Auto (the default) closes the sheet’s Padding exactly: each trim grows back over its half of each gap, around its cut-outs too, and nowhere else, so empty space stays empty. Padding 20 needs no number typed. The panel says what it does (
- Notes. A trim removed from the sheet while its branch was still wired is skipped, with
Trim 'Oak' was removed from the sheet.as the note, and the rest of the sheet still cooks. Arrange also says how many inputs were stretched unevenly to fit their place, and names trims that still show their flat sheet color (3 trims still show their flat color: Oak, Pine, Steel.). The removed trim is a problem, so it shows on the node body as well as the Parameters panel; the other two describe the setup you chose and stay in the panel.
Joining Texture Sets
Section titled “Joining Texture Sets”Wire texture sets, or a library straight out of Separate, into Arrange and it lays them out as it does images, then outputs the arrangement as one joined set. Every map of an input lands in the same rectangle.
- A gap is transparent, not colored. Outside every input, Fill Color still paints Base Color and Emissive; every other map takes its role’s neutral value and the Opacity is zero, so a gap reads as empty. Once any input is a set, the swatch is RGB only, with the reason beneath it.
- One Normal convention wins. The first input, in pin order, that carries a Normal decides OpenGL or DirectX, and every other Normal is converted to match.
- Fit and Stretch resize every map of an input together, and the Normal reorients to match, as on Transform and Resize. None keeps native sizes.
Recipe: cut, edit, rejoin a trim sheet
Section titled “Recipe: cut, edit, rejoin a trim sheet”- Separate in Grid mode slices the sheet into a library: a 1 x 4 grid gives four strips, one set per frame, in row-then-column order.
- Run whatever the one strip needs on the frame you want to change.
- Arrange in Vertical (or Horizontal, matching the sheet) with Gap at 0 puts the library back together at the sheet’s original size. A sheet with several rows and columns rejoins in Grid, with Columns set to Separate’s.
- Export Texture writes the rejoined asset.
Separate’s Margin and Spacing are cut away, not restored: set Arrange’s Gap to the Spacing to reopen the gutters, and expect the sheet back without its margin.
Parameters
Section titled “Parameters”Pins
Layout
Joins texture sets the same way, so a Separate batch of strips goes back together
Grid mode: number of columns. Rows fill left-to-right, top-to-bottom
How smaller items align on the cross axis
Pixel spacing between each image
Over a texture set every map scales the same way, and the Normal reorients with it
How far each trim's edge pixels grow into the gap around it, on every map including Opacity, so mipmaps never pull in a neighbor or black. Also fills color under transparent edges.
Auto (the default) grows each trim by its half of its Trim Sheet's Padding, so every gap closes and empty space stays empty. Clear Auto to type a number that grows every trim that far instead.
Color
Background fill color. Fills Base Color and Emissive gaps when joining texture sets
- Places any number of images side by side (Horizontal) or stacked (Vertical). A fresh Arrange shows a single empty Image 1 pin. Connecting the trailing empty pin auto-grows the array so another empty pin appears at the end. Disconnecting a middle pin renumbers the rest down so the array stays compact with exactly one trailing empty pin. Images render in pin order (Image 1 first).
- Alignment controls positioning in the cross-axis when images have different sizes. Fit = None keeps original sizes and pads smaller images with the fill color. Fit = Stretch resizes all images to match the largest cross-axis dimension (may distort aspect ratio). Fit = Fit scales proportionally to match the largest cross-axis dimension.
Usage Tips
Section titled “Usage Tips”- Wire the original and processed images into two inputs for a before/after comparison, and save the strip or contact sheet with Export Image.
- Gap spacing is transparent by default. Fill Color is one RGBA swatch, as on Pad: raise its alpha in the color picker for a colored gap.
- Wire Arrange’s output into Export Data to write where each image sits on the sheet, as CSV, JSON, or code.