Overview
Channel Boolean (3D material) acts as a material mixer. It takes two materials as input (Foreground and Background) and builds the RGBA channels of the final result by choosing, for each channel, which values to pick and which operation to apply.
Main use: building hybrid materials or manipulating UVs procedurally. An advanced node, rarely needed for simple work.
Difference from the 2D Channel Booleans
Fusion has two nodes with the same name that are different:
- Channel Booleans (2D, Color category)
- Works on two 2D images (RGBA). Used to swap channels, merge alphas, etc.
- Channel Boolean (this node, 3D material)
- Works on two 3D materials (Blinn, Phong, Cook Torrance). Builds an output material. Gives access to spatial operands (position, normals, UVs).
Both have their place. The 2D one for images, the 3D one for materials.
Where to find this node
- Effects Library:
Tools > 3D > Material > Channel Boolean - Quick add: right-click in the Node Editor →
Add Tool > 3D > Material > Channel Boolean
Inputs
- BackgroundMaterial (orange) - base material.
- ForegroundMaterial (green) - material to combine with the background.
Both inputs accept either 2D images or 3D materials (Blinn, Phong, Cook Torrance).
Setup
Blinn (red diffuse) ──→ Background
Cook Torrance (gold metal) ──→ Foreground
→ Channel Boolean → Shape 3D (Material)Operands A and B
For each output RGBA channel, two menus, Operand A and Operand B, select what gets combined. Options:
Standard channels
- FG Red/Green/Blue/Alpha - foreground channel.
- BG Red/Green/Blue/Alpha - background channel.
Fixed values
- Black (0), White (1), Mid Gray (0.5)
Color space conversions
- Hue, Lightness, Saturation, Luminance - extracts that component from the FG or BG.
Spatial data
- XYZ Position - 3D position of the pixel in eye space.
- Normal vectors - orientation of the surface.
- Texture coordinates (UV/W) - UV coordinates.
- Environment coordinates - environment coordinates for reflection mapping.
Access to spatial data = the power to create strong procedural effects (e.g. a diffuse that varies with height, a specular that varies with the normal).
Operations: how A and B are combined
The Operation menu sets the formula that combines the operands to produce the output channel:
- A / B
- Pass-through - just uses operand A or B without combining.
- 1-A / 1-B
- Inversion (complement) of the operand.
- A + B / A − B / A × B / A ÷ B
- Standard arithmetic operations.
- min(A, B) / max(A, B)
- Minimum or maximum of the two operands.
- avg(A, B)
- Average of the two operands. The equivalent of a 50/50 blend.
Use cases
- Hybrid Blinn diffuse + Cook Torrance specular - BG Red/Green/Blue from the Blinn, but FG Alpha (specular) from the Cook Torrance. A material with the Blinn's color and the Cook Torrance's reflectance.
- Diffuse that varies with Y height - Operand A = BG Red, Operand B = XYZ Position Y, Operation = max(A, B). The red diffuse only appears above a certain height.
- Specular masked by luminance - uses the Background's Luminance as a mask to limit the Foreground's specular to bright areas.
- 50/50 mix of two materials - Operation = avg(A, B) with A = BG channel and B = FG channel. A smooth transition between two looks.
- Procedural UV manipulation - use Texture Coordinates U and V as operands to shift/scale the UVs dynamically.
- Blend by normal - use Normal Y (top vs bottom of the surface) as a mask between two materials = snow on top, rock on the sides (stylized terrain).
Tips
- Advanced node - keep it for cases where the other material nodes are not enough. To simply mix two materials, prefer
Material Merge 3D, which is more direct. - Debug step by step - test each channel on its own before setting up all 4 channels at once. Start with Operation = A everywhere to see the Background, then change channel by channel.
- Spatial operands (Position, Normal) give results that depend on the geometry - always test with the target object to avoid surprises.
- For a simple weighted blend between 2 materials,
Material Merge 3Dwith its Blend slider is much simpler. Channel Boolean is overkill for that. - Operation = A or B by default on unused channels to avoid accidental combinations.
