Hi. It is possible I have some material settings wrong, otherwise this is a rendering bug.
I have a sprite in the scene with partial transparency. In the sprite material I use AlphaCompositing blend mode as I this content is used in video production and alpha compositing must be correct. Behind the sprite there is a plane actor with partial transparency as well. Its material blending mode is Translucent. When I move the camera, the blending order sometimes changes. Here are the screenshots:
As you can see in the second image the semi-transparent plane becomes blended in front of the image. This is wrong. And these flips happen dynamically when the camera is being moved along X axis back and forth with some amount of rotation around Z axis.
Hello, Due to the complexity of the rendering of Translucent materials, Unreal Engine often has a hard time sorting what to draw over what. This is a known common problem, and thus is not really a bug. One way to “fix” this is to set the “Translucency Sort Priority” of one sprite component over that of the other to draw the sprite over the other. Unfortunately, this is completely manual and you will have to change those values if you want to change the rendering order.
The “Translucency Sort Priority” can be found by clicking on the sprite’s component and searching for “Translucency Sort Priority” in the Details panel.
I’m open to any better solutions.
It’s not great, but I hope it helps.
First ,thank for the tip.I wasn’t aware of this option. Second, as a graphics programmer myself I wonder why UE4 can’t correctly render transparent object (usually the technique is to disable depth and render back to front order all the non-opaque).We are not talking here about intersecting geometry (which is indeed a problem) Maybe because of the deferred mode? I need to check if in forward rendering mode the same happens. If it does I still believe it is a bug unless something in the UE very long pipeline is preventing correct alpha compositing on purpose.