A licensee reported that the world normal is not consistent on a skeletal mesh with SkinCache recompute tangent enabled. You could see the issue on the picture below. I upload the mesh in attachment.
The repro steps are:
I did some debug and suspected the issue is because of the following shader codes in RecomputeTangentsPerTrianglePass.usf
Orientation = (cp > 0) ? 1 : -1;
// Multiply by additional flip if the triangle had it's tangent space inverted
Orientation *= Corner.OriginalOrientation;
I did some change and it looks fine for now.
Orientation = (cp > 0) ? Corner.OriginalOrientation : -1 * abs(Corner.OriginalOrientation);
[Image Removed][Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-139523 in the post.