Skip to content

Separate

Separate
Utility

Splits an image into a batch of cutouts, one object per frame. Each cutout is cropped to its object’s bounding box, with the other objects’ pixels erased so no neighbor leaks into the frame.

The Separate node splits an image into layers, shown arranged side by side.
The source image beside its separated layers laid out in a row.

Mode picks how the image is split:

  • Connectivity (the default) finds every disconnected foreground region. The Background rule decides what counts as empty space, or wire a matte into the Mask input (white is content, black is the space between objects) and it drives detection instead.
  • Grid ignores content and slices the image into equal tiles, for chopping a sprite sheet or atlas into frames. Cell Size switches between an exact rows-by-columns grid and fixed-size tiles; Margin and Spacing match a sheet with a printed border and gutters between frames.

A grayscale or mask input yields single-channel cutouts. A batch input is analyzed frame by frame and every frame’s cutouts fan out into one combined batch (an M×N expansion, capped by Max Fan-Out Output Frames in Settings > Performance). Frames are named <Name Prefix>_NN in the chosen sort order (zero-padded to the object count), joined to the image’s own name when it has one: cutting up tree.png gives tree_object_01, tree_object_02, and so on. Leave Name Prefix empty for just the number.

Select the node and the Preview’s tool row offers two view buttons, Source and Result. Source shows the incoming sheet with the cut drawn over it, so a grid that came out wrong is obvious at a glance. The frame strip and playback bar step aside until you click Result, which returns to the frame you had open. The overlay is display-only and nothing in it is draggable.

In Grid mode:

Separate Grid Mode Source Preview
  • Every cell that became a frame is outlined in its own color, with its number (the same as in the frame’s name) on a tab in its top left corner.
  • The Margin band around the sheet and every Spacing gutter between cells are hatched, since both are trimmed away before slicing. One look tells you which of the two you need.
  • A cell dropped by Skip Empty Cells has a dashed outline and no number.

In Connectivity mode:

Separate Connectivity Mode Source Preview
  • Every detected region is tinted in its own color. Blobs joined by Merge Gap share one tint, which is how you can tell they became one output.
  • Each bounding box has a solid outline and the frame’s number on a tab. When Padding is not zero, the padded box is drawn dashed outside it.
  • A region dropped by Min Area or Max Objects is a thin gray box with no tint and no number.

Numbers hide where they would be unreadable: on a cell smaller than about 28 pixels on screen, or all of them once more than 256 would show. Zoom in and they come back; the outlines always stay.

The overlay follows the Manipulators button (O), and holding Q hides it. When Separate is fed a batch of sheets, Source lists them in the frame strip but draws no overlay, because a cut belongs to one sheet at a time.

In a 32-bit (Float) document Separate finds objects from the image’s own values, so values above 1.0 stay distinct and a faint shape is still found. Threshold 0 keeps any pixel with any alpha at all; raise it to split two soft shapes whose edges fade into each other.

Wire a texture set into the input and every piece comes out as a whole set: one rectangle is found in the set’s Opacity and applied to every map, so a sheet of 25 screw variants becomes a library of 25 sets ready for Scatter, Collect, or a Texture Layer stack.

  • Detection reads only the set’s Opacity, so a Base Color that is opaque everywhere cannot move where a piece is found.
  • Opacity Threshold replaces Threshold, in Opacity’s own 0 to 1 unit (the numbers the Preview reads out at any bit depth). It decides where pieces split, never how much soft edge survives: the default 0.004 keeps a feathered shape whole, and if two feathered shapes touch, raise it until they separate. Each piece keeps its full soft edge.
  • A downloaded material is usually fully opaque, with no cutout of its own. Draw the pieces with Roto or any mask and wire it into the Mask input: the mask finds the pieces and also becomes each piece’s Opacity (multiplied into any Opacity the set already had), so the pieces are cut to your shapes in the Preview, 3D Render, and every exported file. Without a mask, a fully opaque set gives Connectivity mode nothing to find, and the node says so: switch to Grid, connect a mask, or give the set an Opacity map.
  • The Background rules are not offered over a set, since Opacity has no background color to match; the panel points to Opacity Threshold and the mask input instead.
  • Grid mode, Min Area, Max Objects, Padding, and the sort orders apply per set exactly as they do per image. Skip Empty Cells drops cells with zero Opacity.

Pins

ImagePixels or Texture
InputRequired
MaskMask
InputOptional
BatchBatch
Output

Separate

ModeChoice
Default: Connectivity

A texture set is split by its Opacity into a batch of sets

  • ConnectivityDetect and cut out separate objects, found by transparency, a corner color, a chosen color, or a mask. The default.
  • GridIgnore detection and slice the image into a regular grid of equal tiles (rows by columns), for chopping a sprite sheet or atlas into evenly sized frames.

Detection

BackgroundChoice
Default: Alpha
Image input

How background is detected

  • AlphaTreat transparent pixels (alpha = 0) as background.
  • Corner ColorSample a corner pixel and treat matching colors as background.
  • Custom ColorSpecify a color directly as the background reference.
CornerChoice
Default: Top-Left
Background = Corner Color

Which corner pixel to sample as the background reference color

  • Top-LeftSample the top-left pixel as the background reference.
  • Bottom-RightSample the bottom-right pixel as the background reference.
ColorColor (RGB)
Default: rgb(255, 255, 255)
Background = Custom Color

Background reference color

ThresholdInteger
Default: 1 Range: 0–255
Image input

Cutoff between content and background.

  • Alpha: pixels with alpha above this are content. 0 keeps any pixel with any alpha.
  • Corner Color / Custom Color: how far a color may be from the background color and still count as background. Raise it for soft or compressed edges. 0 = exact match only.
Opacity ThresholdNumber
Default: 0.0040 Range: 0.0000–1.0000
Texture set input

Opacity above this counts as a piece, on a scale of 0 to 1. Raise it to split pieces whose soft edges touch; each piece keeps its whole soft edge

Merge Gap (px)Integer
Default: 0 Range: 0–100

Expand the foreground mask by this many pixels before detecting regions.

Merges objects that are nearly (but not quite) touching, such as a leaf with a thin transparent gap through it.

Filter

Min Area (px²)Integer
Default: 64 Range: 1–100000

Regions smaller than this area are ignored (dust, compression artifacts)

Max ObjectsInteger
Default: 0 Range: 0–2048

Hard cap on output frames. 0 = unlimited

Grid

RowsInteger
Default: 2 Range: 1–64
Mode = Grid

Number of horizontal bands to slice from the input image

ColumnsInteger
Default: 2 Range: 1–64
Mode = Grid

Number of vertical bands to slice from the input image

Cell SizeChoice
Default: Rows & Columns Range: Rows & Columns / Fixed Cell Size
Mode = Grid
  • Rows & Columns: an exact grid of rows and columns (default).
  • Fixed Cell Size: as many Cell Width by Cell Height tiles as fit, with a smaller partial tile at the far edge when the size does not divide evenly.
Cell Width (px)Integer
Default: 128 Range: 1–16384
Mode = Grid

Tile width in Fixed Cell Size mode

Cell Height (px)Integer
Default: 128 Range: 1–16384
Mode = Grid

Tile height in Fixed Cell Size mode

Margin (px)Integer
Default: 0 Range: 0–4096
Mode = Grid

Pixels trimmed off all four outer edges of the sheet before it is sliced, for a printed border. Spacing sets the gaps between tiles

Spacing (px)Integer
Default: 0 Range: 0–4096
Mode = Grid

Gutter between adjacent cells, kept out of both, for the printed gaps in a sheet. Margin sets the border around the outside

Skip Empty CellsToggle
Default: false
Mode = Grid

Leave out cells with no content (fully transparent, or zero Opacity in a texture set) instead of outputting an empty frame

Output

Padding (px)Integer
Default: 0 Range: 0–500

Extra pixels kept around each detected object's box, for surrounding context. Connectivity mode only: a grid cell is always an exact rectangle

Sort ByChoice
Default: Reading Order

Order of the output frames. Reading Order scans left-to-right, top-to-bottom like a grid

  • Left → RightOrder objects by their left edge, leftmost first.
  • Top → BottomOrder objects by their top edge, topmost first.
  • Reading OrderScan left-to-right, top-to-bottom, like reading a page.
  • Largest FirstSort by bounding-box area, largest object first.
  • Smallest FirstSort by bounding-box area, smallest object first.
Name PrefixText
Default: object

Each piece is named <prefix>_NN (zero-padded to the object count), joined to the image's own name when it has one (tree_object_01). Leave empty for just the number

Mask

Mask FromChoice
Default: Luminance
Color image connected to the mask input

How the connected color image is read as a mask

  • LuminanceRead the image's brightness as the mask. The default.
  • AlphaRead the image's transparency as the mask.
  • RedUse the red channel as the mask.
  • GreenUse the green channel as the mask.
  • BlueUse the blue channel as the mask.
Mask FitChoice
Default: Stretch
Mask connected

How the mask is mapped when it doesn't match the image

  • None (native size)Center the mask at its native size, with no resizing. Unmasked regions are unaffected.
  • StretchStretch the mask to exactly match the image dimensions. May distort the mask shape.
  • Fit (letterbox)Scale the mask to fit inside the image, preserving aspect ratio. Letterboxes where needed.
  • Fill (crop)Scale the mask to fill the image, preserving aspect ratio. Crops edges if aspect ratios differ.
  • Wire the Batch output into Scatter to use each object as a stamp, or into Export Batch to save each one as its own file.
  • Raise Merge Gap when one object comes out as two: a leaf with a thin transparent seam through it becomes one cutout.
  • Raise Min Area until dust and JPEG artifacts stop producing extra frames.
  • Because each cutout’s name already starts with its parent’s name, the default {name} in Export Batch keeps fan-out filenames readable (tree_object_01.png); {source} still names the original file.