Nodes/ComfyUI-TextureAlchemy/Detail Map Blender
ComfyUI Node

Detail Map Blender

Adding micro-detail without washing out the base map

By amtarr·Created 9 months ago·Updated 4 months ago· 58
Detail Map Blender
  • base
  • detail
  • mask
  • blended
map_typegeneric
strength1.00

Every material artist eventually hits the same wall: your base roughness or normal map looks flat, you have a nice high-frequency detail texture, and the naive way to combine them - just average them together - murders the contrast and gives you a washed-out mess. This node exists to do the blend properly, and it understands that "properly" means something different depending on what kind of map you're blending.

That's the whole design: one map_type dropdown that picks the correct blend math for the map, which is the thing beginners get wrong. The three options:

  • normal - uses RNM (Reoriented Normal Mapping). Normals aren't ordinary images; they're directions stored as RGB, so you can't just lerp them. RNM adds the XY components of the detail normal onto the base and multiplies the Z, then renormalizes. This is the mathematically sound way to stack a micro-detail normal on top of a base normal, and it's the one you should use if you're blending normal maps. This is the biggest win the node gives you - doing it wrong (plain mix) produces normals that bend light incorrectly and just look smeared.
  • roughness - a multiply-style blend that stays centered, so the detail adds texture to the roughness rather than sliding the whole value brighter or darker. Perfect for scuffs and micro-grain on top of a base roughness.
  • generic - a simple overlay-style blend (base + (detail - 0.5) * strength), right for albedo tweaks and generic detail layers.

strength runs 0 to 2 and scales how much of the detail comes through (0 = base only, 1 = full, up to 2 to exaggerate). For normals it scales the detail vector before the RNM blend, so you can dial in subtle micro-bump without touching the base.

The optional mask input is where it gets really useful: provide a grayscale or RGB mask and the detail only lands where the mask is white. That's how you get detail that fades out near edges, or only on the weathered parts of a surface - combine it with a curvature or AO mask from this same pack and you've got a fully procedural wear-and-tear blend.

Output is a single blended image. It resizes the detail (and mask) to match the base automatically, so mismatched resolutions won't error out.

A practical chain from the pack's own docs: base map → Detail Map Blender (RNM mode) → fine detail pass, repeated a couple of times to stack detail layers without cooking the base. And the mask version - base + detail masked by a dirt or curvature mask - is the "add grime only in crevices" trick done right.

Install is the pack standard: Manager → search "Texture Alchemy", or:

cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy

Restart, then Texture Alchemist/Effects → Detail Map Blender. No dependencies, no models. The usual gotchas: the README's copy step uses the pack's old folder name, and a blocked Git-URL install means the security level - clone by hand.

CategoryTexture Alchemist/Effects

Inputs (5)

NameTypeDefaultDescription
baseIMAGE
detailIMAGE
map_typeCOMBOgenericMap type determines blend method
strengthFLOAT1.000–2Detail strength (0=no detail, 1=full)
maskoptIMAGE

Outputs (1)

NameTypeDescription
blendedIMAGE