(Enduring Games)

I investigated it and found that the following primitive data flag test in BasePassPixelShader.usf fails:
(GetPrimitiveData(MaterialParameters).Flags & PRIMITIVE_SCENE_DATA_FLAG_DECAL_RECEIVER);
The corresponding bit contains a nan instead of a 0 (Line 1080 in 5.0.3)

Included a render doc capture in which:
Event 1339 draws a procedural mesh (Green and pinkish mesh)
Event 1358 draws the static mesh (white mesh).
Both these meshes have “Receives Decals” turned off.

The problem does not occur when the material has the decal response set to off.

Steps to Reproduce

Included Test Project:
1. Open provided test project
2. Open DecalTest map if not already open
3. Observe the procedural mesh influenced by orange decal even with “Receives Decals“ turned off in the component while normal static mesh is not affected by decal as expected.

From Scratch:
1. Open a map
2. Create a blueprint actor with a procedural mesh component, add functionality to copy from mesh and initialize procedural mesh with a basic cube
3. Add a decal actor to the world
4. Create a decal material with a base color other than black and assign to decal actor
5. Add a normal static mesh cube to the scene
6. Move procedural mesh and static mesh within decal bounds
7. Disable “Receives Decals” on both mesh components and observe difference

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-167164 in the post.

Login to Vote

ComponentUE - Graphics Features
Affects Versions4.
Target Fix5.2
Fix Commit23268899
Main Commit23268899
CreatedOct 14, 2022
ResolvedNov 25, 2022
UpdatedDec 14, 2022