Can't get rotated UVs to work properly with BumpOffset

Parallax On, no rotation:

Parallax Off, no rotation:

Parallax On, rotated:

In the I changed the Parallax Depth value from 0.02 to 0.1 to exaggerate the problem.

This is my UV rotation setup:

The RemapValue node is there so that instanced materials can set a rotation in degrees ranging from 0 to 360 instead of 0 to 1.

This is my BumpOffset setup:

The UV result from the BumpOffset node are going into the UV slot of the Base Color, Emission, Normal texture samples and my own Multi Texture sampler.

Any suggestions to whats going wrong, or is BumpOffset/Parallax simply not possible with rotated UVs?

Had the exact same problem and have been trying to solve it myself for a couple of days. Finally came up with a solution.

Not an expert, so I don’t know the specifics and can’t explain it well, but I think the problem occurs because the Bump Offset node’s tangent space is rotated, which distorts it.

The solution is to simply do the rotation after the Bump Offset node is calculated. This way it only rotates the actual UV data that the BO node outputs.

Basically:

  1. Feed the rotated UV data into the Heightmap used for the BO node.
  2. Feed the unrotated UV data into the “Coordinate” input on the Bump Offset.
  3. Do another rotation, now of the UV data that the BO node outputs.

I’ve attached an image that shows the basic setup.