In order to both keep things short, as well as offer a good visual explanation of what’s going on, I decided to basically wrap my post in the form of a YouTube video. Please watch it for a full description and demonstration of the problems (yes, not just 1). Any help will be tremendously appreciated! Here you go:
Translucency will always have issues due to deferred shading that can only be resolved by using pathtracing. The smudging and noise can be addressed by enabling “output velocity” in the material. For your specific case a masked instead of translucent blend mode would be more appropriate (logo goes in opacity mask instead of opacity).
Thank you so much for taking the time to watch my video!!!
About your solution: you’re absolutely right, making the logo use masked blending instead of translucent fixed the noise, the smudging, the weird tint on the “see-through” part of the texture, everything. BUT, I still haven’t got a clue why translucency behaves like that. I mean I’ve solved my logo case, but for actual materials which need to be translucent, I still have a major problem. Check this one out:
As you can see, things like text, decals etc. still disappear when looking at them through something translucent. Also, the translucency of other objects becomes “opaque”. And I don’t get it, why? And why are some things visible (like all other normal meshes), but decals, texts and other translucent materials get completely messed up?
Not to mention, for the initial case with the logo, I’m happy I solved it using masked blending, but I still don’t get why a translucent pixel with alpha 0 is not perfectly invisible. It doesn’t sound to me like deferred rendering would have anything to do with this. Or does it?
P. S.: enabling output velocity doesn’t fix the noise, it just gives it a sort of “motion blur” whenever I’m moving around and not staying still. But it’s there with the same intensity, it actually appears a bit more pronounced with output velocity enabled, due to smudging it according to the motion vectors.
Output velocity works best with “Surface Tranclucency Volume” lighting mode. To explain a bit why this happens: The geometry gets rasterized and the lighting is solved after. Semitransparent objects make this almost impossible since all the deferred passes like depth, normals and shading properties that end up on the “sensor” are an ambiguous mix. This is why translucency is solved separately (you wont find your object in your depth channel) and the result is missing objects with multiple stacked transparency, different shading through translucency and improper handling of interreflection, shadowing, etc. It is simply the state of things. If you want correct transparency, more expensive light transport simulation like path tracing is necessary.
Hmm… so is this a problem of Unreal, of deferred rendering, of ray-tracing, or of Lumen? Since path tracing would be able to solve this, do you think I could try this out in UE? I do have an option for Path tracing in my Project settings, but I think Lumen overrides that more than likely.
Also, I did an updated video where I think I captured exactly what you described above, when you spoke about “stacked transparency”, right around 02:25. Am I right?
Yes, it is mostly a limitation of rasterization. Ray tracing in UE mostly works by tracing rays from surfaces already rasterized so the same problems apply.
If set up correctly you can switch to path tracing in your viewport (click on Lit). If you don’t have the option, here is the guide to set it up:
I’m unable to reproduce the issue of translucent surfaces hiding other translucent surfaces behind them, but
Yeah, this is all caused by using the deprecated raytraced translucency.
The deprecated raytraced reflections/transluncy only work well with lightmaps, trying to use them in any other context is going to give you bad results. Further many types of materials will either not render correctly or not render at all in the deprecated raytracing. Such as decals and apparently text…
Moral of the story: Don’t use the raytraced translucency
@Speido : I had Path tracing already enabled and setup, the only thing I missed doing was switch from “Lit” to “Path Tacing” in the View Mode Indeed, path tracing solved everything (apart from having much heavier noise, but that’s somewhat expected). There is one small problem with path tracing though, meaning that the “Hello, world!” text has disappeared But I guess that’s also a bit expected due to it acting more like a sprite probably, not as solid 3D geometry (a mesh), so probably the path tracer doesn’t even evaluate it, it’s like passing through thin air (literally). Anyway, what you said about the deferred renderer’s G-buffer makes a lot of sense for the other artefacts, but the stacked transparency problem still doesn’t make sense, as all translucent/semi-transparent objects would be evaluated much later, like you said, they won’t even be in the buffer, so there’s no way for the rasterizer to do depth-testing or face occlusion on them so that they get masked or have their stacked transparency rendered as opaque. They should be able to behave like in forward rendering, since transparency is evaluated in a separate pass that’s different from the normal deferred pipeline. Right?
@Arkiras : I am indeed using Lumen, since in my Project settings I’ve set both the Global Illumination, as well as the Reflections to “Lumen”, not “Standalone Ray Traced (deprecated)”. Is there any other setting I should be looking at? FYI, I also have Hardware Ray-Tracing enabled, but that shouldn’t override Lumen, right?
Wow, thanks so much! Indeed, I managed to solve almost everything. If you’re curious about other small things I managed to solve, I made yet another updated YouTube video. The only thing I didn’t really manage to solve was the Material Editor preview bug, I talk about it once more around 09:52
I don’t think it is labeled deprecated only because currently Lumen does not support raytraced refraction. Regardless, deprecated or not no one should be using it with Lumen.
Thanks so much! Any idea about that Material Editor preview bug? It seems as though it always gets pitch black if I’m above the “ground level”, it’s some weird stuff, like the plane’s normal is inverted, or some weird stuff. It’s in my last video at 09:52. Thanks a lot!
LATER EDIT: After much debugging, I found the culprit, it’s due to enabling Ray Traced Skylight. However, I have no idea why this makes the preview act that way, nor do I know how to fix it in case you really do need a ray traced skylight AND have a working material editor preview As always, I made a video showing it all:
Hello guys, interesting topic, I have a similar problem with niagara particles…I want to create rocket exhaust so there is a need for a texture of fire (translucent unlit material) and with raytracing on I have weird vfx, similar to posts above.
I just wanted to report that with UE5.3 we were told there are some updates in terms of Lumen reflections. Indeed, they work a little bit better than before, but still a lot of things are broken, especially:
Decals disappear completely in the reflections
Objects with “masked” materials are drawn in all-black
Reflection bounces still don’t work despite Epic adding a new “Max reflection bounces” parameter which unfortunately seems to do nothing, as other reflective materials appear opaque when viewed indirectly through other reflections
I’ve got an issue where items behind glass render just fine, until the camera is moved a certain distance away. Then a bunch of the objects behind the glass disappear, but not all objects. I wonder if this Max Reflection Bounces setting, or one related, might fix this for me. This issue only started happening in 5.2 and was fine prior to that. Where exactly would I find this Max Reflection Bounces. if it’s not this, might you know of another option that might cause this? if I move the camera back enough that these object disappear, if I then just hid the glass they’re behind, all the objects reappear. So it’s not a LOD setting, or at least not a normal one I’d be aware of, if there are others. Thanks.
@Durghan Hmm… are the disappearing objects also translucent, or fully opaque? And do you have multiple transparent/translucent materials that overlap when this happens? Cause I’m thinking of the Translucency Sort Priority as a possible scenario…