deferred decal material not usable without actor?

I`m wondering why it is not possible to use the deferred decal material without the deferred decal actor. if the texture coordinates are simple and don’t have to be projected or if tri-planar mapping is used this would be very easy to setup using mesh decals. From the looks of it everything seems to be in place to do proper decal blending already. The only thing needed would be the correct G buffer blending of albedo/roughness etc which seem to be included in the deferred decal domain already.

This is used extensively in Star Citizen and Alien Isolation where it’s not feasible to create unique materials per object and where tileable textures are not precise enough. A good example and discussion on this topic can be found here:

if used properly, this can be a very powerful technique so it would be great to have that available in UE4

the only other issue coming up with this would be the decal mesh in front of the regular mesh creating false shadowing with lightmass. not sure but I think it should be possible to flag a material to be ignored in lightmass rendering.

Hi akaChrisV -

The TriPlanar Setup shown by Obscura over on Polycount will work with Static Lighting IF (<-- It’s a big if.) you have generated your own lightmap UVs for the total object (mesh and decal planes) and aligned the UV Island boundaries to the pixel lines based on your desired Lightmap Resolution. The engine’s default Generated UVs are fairly good in most cases. It just so happens that this case requires more precision than the auto generated UVs require.

You should also look at the Lightmap resolution sometimes with the auto-generated UVs you can increase the lightmap resolution and achieve better results. In working practise doing both is the best way to go, for performance and quality.

I have attached a test project with a small sample of the setup with the correct UVs versus the Auto-Generated Lightmap UVs.

Thank You

Eric Ketchum

Test Project 4.10.2

Thanks for the detailed answer and example Eric!

The issue I`m having with this solution however is that it doesn’t seem feasible in production with real assets containing several thousand tris. manually unwrapping that accurately and finding enough space, especially with hard surface objects which tend to require a multitude of uv islands seems not very practical. I find this method of detailing objects a very good alternative to unique textured/unwrapped unique meshes and the benefits are pretty obvious and proven in production (see alien isolation for example). especially for indies who often don’t have the luxury of moving things through a hi/lo poly pipeline. It’s also a good approach to conserving memory. As such I still think it would be great if this could get looked into as a proper implementation

Thanks again for the effort Eric! Very much appreciated!