Decals not rendered without direct lighting?

After Adding the three lines to the BaseEngine.ini file, restart the editor. Then go to the Project Settings menu. Under Engine - Rendering/Optimizations change Early Z-Pass setting to Opaque and masked meshes. This worked for me. I hope this helps. Thanks!

So how do I edit the engine.ini file? Every time I add the three lines and restart engine.ini just seems to reset itself to how it was befor.

it’s still there, in 4.5.1, guys!

Hey Pirog -

You will have to input the BaseEngine.ini Variables under the [SystemSettings] and then make sure you are using the DBuffer Decals instead of the default Deferred Decals. (See 's Previous Answer.)

Thank You

Hi,

4.7 and still the same problem. I get the solution mentioned, I just think it should be in the new version by now.

I’ve tried everything, but it just doesn’t work on 4.7.4, if i recall correctly, on 4.7.0 after changing some of this options:


the engine restarted and rebuilt all the materials, but not it doesn’t anymore, so maybe that is the reason, because i fixed the problem in 4.7.0 with the same steps.

I got mine working by following the instructions above, plus a few missing/commented elsewhere steps (see below)

Unreal 4, build 4.7.5:

  1. While your decal-broken project is
    open, open Project Settings: and
    change these under ‘Rendering’:

    • Save & close your project
    • Search for ‘DefaultEngine.ini’ in your projects folder (not
      ‘BaseEngine.ini’ which was likely
      the old name) & open it.
    • Scroll down, look for ‘[/Script/Engine.RendererSettings]’
      & change these (may not be required)
      FROM: r.EarlyZPass=2
      r.EarlyZPassMovable=TRUE
      r.DBuffer=TRUE TO: r.EarlyZPass=2
      r.EarlyZPassMovable=1 r.DBuffer=1
    • Reopen your project
    • Open your decal’s Decal Material and change ‘Decal Blend Mode’ to any
      of the ‘DBuffer…’ options [I used ‘DBuffer Translucent Color’]
    • DONE! - it should now show up properly!

Thanks, it works!

This worked for me too. Although at first I thought UE had but it was just working things out on re-launch then compiled 5000+ shaders. Decals are now opaque and look much nicer. Also my particles and other effects were great and the Oculus Rift rendering was unaffected.

Is there going to be a not-temporary fix to this problem someday?

I’m sorry if I seem rude but this thread was opened a year and a half ago, and while we now can activate the DBuffer decals/Early Z-pass directly in the project settings, the problem remains.

There is no documentation about this, and you’d have to be a rendering expert to figure out the solution by yourself.

I’m not one, so I just lost my whole afternoon trying to figure out what the problem was, assuming it was my mistake for hours then thankfully stumbling upon this single old lost thread with a temporary fix and year-old promises to resolve the issue or write documentation about it.

And while the fix helps, it’s not perfect: DBuffer decals can’t be metallic (nor use a specular map), and seemingly have a substantial performance cost.

Decals are important to a lot of games and the problem happens in every single map with indirect lighting so I can only assume countless man hours have been lost because of this issue. It’s pretty much a critical bug in my eyes.

I do realize it’s easy for me to complain while the solution is probably way beyond my understanding of rendering (the fix already is), but just an annex to the current decal documentation would already be extremely helpful. Thanks.

my projects cannot open once i enable dbuffer true. :confused: sad times
no workaround then

Yeah I’m going through this issue as well - but these workarounds do not work in a useful way for me and in fact make it look even worse - the decals are rendered on top of everything in the line of sight making it useless and further, still don’t render in indirect light! 4.9.2

Hello -

The default Deferred Decals with a Decal Blend Mode of Translucent, Stain, Normal or Emissive will NOT render in indirect lighting by design.

In order to get a Deferred Decal to render in indirect lighting you will need to use the Deferred DBuffer Decals. By default this type of decal is not turned on in the engine. Here is a step by step guide on enabling and using this type of decal:

  • Open your Project Settings and go to the Render Section
  • Enable and adjust the highlighted parts of the Render Section:

  • With the changes made above, you will need to restart the editor to make the changes take effect.
  • Now create a Decal Material and select one of the following Decal Blend Modes:

  • After Saving the Material, apply it to a level using default settings and you can achieve a look like this one:

  • Or even a Night time look like this one:

I have attached a 4.9.2 project below which shows the setup and use of both of the light environments from the above examples as well as the Decal setup shown above.

Thank You

[Test Project 4.9.2][5]

I dunno but decals work for me when I put the texture in emissive instead of base color. How to add quick archtectural details - Architectural and Design Visualization - Unreal Engine Forums

This doesn’t seem like a good long term solution - what if I want a Masked decal that covers seams - how would I achieve that/ What if I don’t want to mess around with the project settings purely to get a decal to be visible…

You might need to change Directional Lighting from Static to Stationary, though I don’t know why as it is.

Version 4.15 and this is still happening.

Wouldn’t it be better for your users to have Deferred DBuffer Decals turned on by default? Unless you really know the inner workings of Unreal this is something that no average user would be able to figure out.

Should this still work? Because for me, it doesn’t. The “r.EarlyZPassMovable” setting doesn’t even exist any more. So I’m currently unable to render my decals in shadow areas…

1 Like