Old thread update time…
If you modify
.\Engine\Shaders\DeferredDecal.usf block of MATERIAL_TANGENTSPACENORMAL to
// tangent/decal space to world space
#if MATERIAL_TANGENTSPACENORMAL
float3x3 Flip = {
float3(0,0,1),
float3(0,1,0),
float3(-1,0,0)
};
MaterialParameters.TangentToWorld = mul(Flip, (float3x3)DecalToWorld );
MaterialParameters.TangentNormal = GetMaterialNormal(MaterialParameters);
MaterialParameters.WorldNormal = normalize(TransformTangentVectorToWorld(MaterialParameters.TangentToWorld, MaterialParameters.TangentNormal));
#else
float3 Normal = GetMaterialNormal(MaterialParameters);
MaterialParameters.WorldNormal = normalize(Normal);
#endif
It should now include the critical TangentToWorld transform utilized in the material expression.