I am using deffered decals extensively and I have noticed that they seem to be completely broken in 4.8. They flicker on and off a lot and sometimes seem to move up and down when camera is in motion. The issue persists on two different machines.
I was able to fix it by using the old trick - putting these lines into BaseEngine.ini under [SystemSettings]:
r.EarlyZPassMovable=1
r.EarlyZPass=2
r.DBuffer=1
and also disabling the Dbuffer decals under project settings. After restart, decals seem to be back to normal at any response.
Please look into it, I am sure other people may have these issues and it would be nice not to have to mess around with configs to get this fixed.
I am not seeing the behavior that you have been describing above. Can you post a copy of your decal material and in particular the Decal Blend Mode you are using?
Those console variables that you are adding into the engine are actually all accessible from the Project Settings >> Rendering. r.DBuffer=1 is the same as Checking DBuffer Secals to true under Lighting, r.EarlyZPassMovable=1 is the same as Checking Movables in early Z-pass to true under Optimizations, and r.EarlyZPass=2 is the same as Settings Early Z-Pass to Opaque and Masked Meshes under Optimizations. If you set all those to the above values and restart the engine DBuffer Decals will work correctly (as if you set the console variables - which is what those settings do).
Yes, I do realize that it’s basically the same thing - using those variables in config or setting them under project settings. However, I just tried that again and got the same outcome.
Here’s what I did:
get fresh 4.8 build
let it compile its shaders for the first time
go to project settings and enable Dbuffer Decals (off by default)
restart
create DefferedDecal Material, set response to Dbuffer Translucent Color,Normal,Roughness.
place in the level. Issue exists (flickering, disappearing, and that strange twitching)
disable Dbuffer Decals under project settings and exit
modify configs as mentioned.
restart (shaders recompile once again)
now the same material behaves normally.
Well, it is the weirdest thing why this happens. I wouldn’t bother you and just assume it’s something on my end, but as I mentioned - it happened on two machines, and also I’ve never seen this happening in any of the previous versions.
Thank you for the steps I was able to see what the issue is. YOu are enabling the DBuffer Decals in the engine, but are not opening up the necessary channels in the Z Pass to render them correctly. So in your steps above, When you Enable DBuffer Decals you also need to under Project Settings >> Rendering >> OPtimizations >> Check Movables in early Z-Pass true and Set Early Z-Pass to Opaque and Masked Meshes. Then continue with your steps and the Decal will render correct on Engine Restart. In your steps when you set the 3 console variables you are correctly setting the above options which is why when you restart the engine the second time after the variables are entered everything works.