Coloring decals to match what is behind them (ex: cracks from an impact decal)

hey all, im having some trouble with coloring a decal to match the material it is on top of. I want to have one decal of impact cracks that i could put on any surface and have it match. its difficult for me to explain, but my decal is similar to the one in this thread: Parallax Occlusion with Decals - Rendering - Epic Developer Community Forums

right now, with the base color my cracks appear as black with the rest of the image white, and when i tried inverting base color and changing it to black or a dark gray it appeared as a glow rather than an opaque decal. I don’t understand it lol.

Any help would be appreciated.

EDIT: On a similar note: The tutorial on Parallax Occlusion Mapping from CorebGames doesn’t work for Decals, how would i make a decal like this? Here’s my current node setup:

Here is the current state of it as a decal vs as a surface.

Update: Im still having this same issue. anyone know how to help?

Edit: just stumbled upon this, so it seems to be possible, if you just don’t plug anything into the color channel (Chris M. our savior):

Original answer:
Use the opacity slot. I don’t think there is another way.
Like wherever you want to overwrite things, opacity = 1, wherever you want your default color, opacity = 0;

The other option would be to use the new DBfufer material options epic has added. You can basically specifiy inside your ground material, which things to overwrite (e.g. normal only).
Chris Murphy shows how to do it here:

In #UE5 the Material Editor DBufferTexture node lets you manually handle decal responses on a given surface. Here I blend the.. uhh.. tomato soup decal into the cracks before I cover the left surface. Make sure you *disable* receives decals on the custom surface first! #UETips

— Chris Murphy (@HighlySpammable) February 25, 2022


Nice! i’ll check it out!