Anyway to get two-sided, angle-limited decals? (Rendering decals on glass)

I use decals to darken surfaces where an explosion has happened:

To avoid weird stretched decals, I angle-limit these decals so that they don’t render on orthogonal surfaces:

One downside to this is that if the decal is placed on a thin, transparent surface, like a window, it will only render from one direction. For example:

Then here’s the other side of the glass:

I can get it to render on both sides if I turn off the angle limiting, but that has its own drawbacks.

Is there a way to get both angle-limited and double-sidedness on decals? I know I could spawn every decal twice, with the second one facing the opposite direction, but doubling the number of decals doesn’t feel like a great idea.

I see two options here, both based on the assumption that you are able to detect that the decal is projected on a thin surface :

  • Double the decal as you mentioned
  • Disable angle fade when the decal is spawned, and make it very thin (just a bit thicker than the surface itself) to avoid “bleed”.
1 Like

That second option is probably pretty good. I can probably easily detect that I’m adding a decal to a window, and adjust the decal settings accordingly. Thanks for the idea.