While attempting to modify the World Align Blend function in order to map decals to a surface based on a world vector input, I discovered the function fails to compile while passing the SceneTexture:WorldNormal input data.
The error message presented states, '[SM5] SceneTexture expressions cannot be used in opaque materials'
The catch here is that the material Blend Mode for the decal has been set to Translucent, and if the SceneTexture:WorldNormal is fed directly into the Base Color of the material, it compiles without error.
It seems like the SceneTexture input data breaks when trying to read the Blend Mode of the material when placed inside a function.
1. Open attached project.
2. Open the M_WorldAlignDecal material in the Content Browser.
3. Now open the WorldAlignBlend material function.
4. Connect the SceneTexture:WorldNormal to the Input in World Vector (Vector3)
Outcome The material function fails to compile with the error message: [SM5] SceneTexture expressions cannot be used in opaque materials.
Expected Since the decal is set to Translucent, the material function should successfully compile.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-47394 in the post.
2 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.15.3, 4.16.2, 4.17 |
Created | Jul 18, 2017 |
---|---|
Resolved | Jul 19, 2017 |
Updated | Jul 14, 2021 |