Download

UMG Object Occlusion

Hi guys.

I was just wondering if it’s possible to render some sort of mask (using custom depth?) to hide certain UMG actors “behind” a 3D actor on a scene.

Here’s a simple example of what I’m talking about. Consider that the yellow sphere is a 3D object, while the two dots are widgets rendered in a 2D space. The two dots are, however, in different places on the Y axis (the red dot being behind the sphere, blue in front).

The third image shows the type of occlusion I’m trying to achieve.

https://dl.dropboxusercontent.com/u/2739873/widget_occlusion.png

I posted the same question here a few days ago: Widget actor occlusion - UE4 AnswerHub

We see this kind of thing on many games, and more recently this was used on The Division. In this game, the menus are usually in between your character and the rest of the world. They do seem to use some sort of 3d-widget solution, but they render it on a different layer, and not “as a texture” like UE4 does. The major issue with rendering a UMG widget as a 3d object (as a texture) is that it’ll react to the environment. Not only lighting and shadows will affect it, but also post process, motion blur, and all that goes with that. Of course this is not the proper solution to rendering a 3D Widget.