Overview
sBoolean combines two vector shapes into a single new shape according to the chosen operation. It only works on shape nodes (prefixed with s) - not on images.
Essential for building shapes that are not in the box of primitive shapes. With sBoolean and the 4 primitives (sRectangle, sEllipse, sNGon, sStar), you can draw almost any 2D geometric shape.
Where to find this node
- Effects Library:
Tools > Shape > sBoolean - Quick add: right-click in the Node Editor →
Add Tool > Shape > sBoolean
Inputs
- Input1 (orange, required) - the base shape. "Input 1" in the operation descriptions.
- Input2 (green, optional) - the second shape. "Input 2" in the descriptions.
Important: the input order matters for Subtract (Input 1 − Input 2 ≠ Input 2 − Input 1). For Union, Intersection and XOR, the order does not matter.
Setup
Donut:
large sEllipse → sBoolean Input1 (orange)
small sEllipse → sBoolean Input2 (green)
sBoolean (Operation = Subtract) → sRender → Merge
Crescent moon:
sEllipse → sBoolean Subtract ← offset sEllipse
↓
sRender
Star with a hole:
sStar → sBoolean Subtract ← centered sEllipse
↓
sRenderThe 4 boolean operations
- Union (OR)
- Combines the two shapes into one. Every area covered by A or B (or both) is included. Useful to merge complementary shapes.
- Intersection (AND)
- Keeps only the areas covered by both A and B at once. Creates a shape that is the exact intersection (useful to isolate an overlap area).
- Subtract (NOT)
- Takes A and removes every area covered by B. Result: A with a hole shaped like B. The most used operation (donut, cutout, crescent).
- XOR (AND NOT)
- Keeps the areas covered by A or B but not both. The overlap area is removed. Result: a geometric "exclusion" pattern.
Controls tab
- Operation
- The choice between the 4 modes above.
- Style Mode
- Replaces the color of the source shapes with the color set on the sBoolean itself (lets you manage the color of a compound shape in one place).
- Allow Combining
- Keeps consistent alpha values when shapes are combined downstream. Avoids alpha stacking that could go above 1.
Chaining several sBoolean nodes for complex shapes
One sBoolean = one operation on two shapes. For more complex shapes, chain several sBoolean nodes:
Example: a ring with a notch
large sEllipse → sBoolean Subtract ← small sEllipse
↓
(simple ring)
↓
sBoolean Subtract ← sRectangle (the notch)
↓
sRenderEach sBoolean takes the previous result + a new shape → a shape built from N operations.
Use cases
- Donut / solid ring - large sEllipse − small sEllipse = a filled ring with precise control over its thickness.
- Crescent moon - sEllipse − offset sEllipse = an asymmetric crescent. A classic night / Islamic design icon.
- Custom shape (pac-man, etc.) - sEllipse − sRectangle or sNGon = custom geometric shapes.
- UI cutouts - rounded rectangle − areas for built-in icons = UI boxes with slots (a notification bubble with an offset number).
- Complex mask for a reveal - combine several shapes to build a precise, animatable mask (reveal part of an image with a Merge FG + shape mask).
- Animated geometric intersection - two moving shapes, Intersection shows only their shared area = a dynamic visual pattern.
- XOR for checkerboard-like patterns - two offset sGrid nodes in XOR = an alternating visual pattern.
Tips
- Subtract: Input 1 then Input 2 - connect the shape to keep to Input 1 (orange), the shape to remove to Input 2 (green). Swap them = you keep the small shape and subtract the big one (not what you want).
- Union for a single compound shape - not an sMerge (which keeps the shapes separate). Union really fuses them into a single vector path.
- Animate the Input 2 shape of a Subtract = a progressive reveal. The subtracted shape shrinking = the final shape growing.
- Allow Combining ON for clean compound shapes - avoids alpha > 1 issues when several sBoolean nodes are chained.
- Name your sBoolean nodes explicitly - in a flow with several chained Booleans, names like "sBoolean_Donut" or "sBoolean_ Notch" make it much easier to read.
- Style Mode for a unified color - if all the shapes must share the same color, set the color on the sBoolean with Style Mode = no per-shape setup.
- For really complex shapes (custom typographic logos), import an SVG from Illustrator / Figma instead. sBoolean is excellent for simple to intermediate geometric compositing.
