New Decal System in 5.4 kills Multi-Opacity Workflow?

Hi,

I know this topic is a never ending story, but at least there was a workaround to get kinda multi-opacity for decals:

With the new system, this workaround seems not possible anymore?

You can only get four D-Buffer values (textures): Color, WS-Normal and Roughness and only one Alpha value for the A, B and C D-Buffer Textures.

There is now way to get a unique RGB+A Albedo value from the color pass of the decal material. If you key color values in the decal material, it is always interpreted as black in the response material.

Is there any blending method to bypass this problem?


Thx

One method is to pass through a coordinate system (UVs for example) and index(es) through dbuffer instead of the actual decal. Then the receiving material can map any number of texture samples to that coordinate system.

This effectively frees you of the dbuffers limited channels, but the drawback is you’ve moved a bunch of complexity to the receiver material.

1 Like

@BananableOffense

Thx.

I’ve already tried to pass an rgb mask (texture) through the “Customized UVs”, but the response material only gives me the UVs (gradients) of the corresponding mesh, not the mask channels of the decal material:

Decal Mat:

Response Mat:

This video shows a mostly complete example of this workflow.

1 Like

Nice…thx a lot.
So far it seems to work!

1 Like

After some testing, everything works with mesh decals, except POM.

If I use POM, this method will only shift the normal values on two axis. I don’t really get a height value, it just offsets the UVs on the two axis based on the camera vector.

I guees, it works only with decal actors, but not with mesh decals, which have their own tangents?

Based on this tutorial (https://www.youtube.com/watch?v=NOifAPle9zo) , I tried to fix the issue, but it only works for decal actors, not mesh decals.

Current issue, if I increase the Height Ratio (UV shift based on world space and current camera angle):

Is there a way to get the tangent normals of the decal mesh and use it with the Camera Vector in Unreals “POM Function” to get a proper a world space alignment?

Here is also the time stamped link for the tutorial regarding the issue: