How to rotate 2 tiled textures inside material

Hi, I have a material that uses 2 tiled textures to create a bigger one around a sphere:

I can make them rotate using this as input node of UVs on TextureSample:

However, I can’t seem to get the 2 tiles aligned when rotating. TexCoord is set to 2,1.

Any help appreciated, thanks.

Hi cdxSte,
It looks like your texture samplers are set to clamp - so a U of 2 wouldn’t of wrapped to 0 - try setting them to wrap:

image

Hi,

The issue is in the rotation itself, I can’t get the 2 textures spinning aligned with each other, please see the video below:

This is how I’m setting up the TexCoordinate rotation:

My best guess is I need to rotate the tiles 180º but I don’t know how to do it.

Thanks.

I think you need “Round” rather than “Floor” - that will always set it to zero.

I got the rotation to work but now I see some seams on the tiled parts:

This is the material:

If I connect TexCoord directly into the UVTile multiply, the seam disappear, which is great - however, the rotation stop working:

I just had a play to see if I got any seams like that, but it looks ok in this simple test:


Globe

Hi, that looks good but what we’re trying to do here is combine two 16,384x16,384 textures in order to make a 32k one.

For this, you’ll need to split into 2 the whole world texture in your example.

You can test this with lower resolution, like two split textures of 4096x4096 and you’ll see the seams appear:

Strangely enough, if we use 2 vectors instead of TextureSamples, there are no visible seams:

I notice that the seams appear to be the beginning of the other split texture:
mat05

hmmm - does it still happen (or change) if you plug the bottom texture into the “A==B” pin?

I didn’t notice any change when doing that no.

Doing something like this - with textures set to clamp and then mask them - reduces the seams from 2 lines to 1, but it still appears:

What about if you change the texture samplers to “clamp” rather than “wrap”? - that’s not really fixing it, but at least it would show that it’s a problem with the UV going over 1 (or under 0)

I’m already using them set to clamp, that’s how the seams reduced from 2 to 1.

It’s like its stretching 1 pixel from bottom to top:
mat07

Sorry for the stupid questions - but are you sure the source image doesn’t have it?

Yes I can’t see any deformation on the original textures. Either on Photoshop or inside UE Texture Viewer I’ve been zooming in like crazy but they appear fine to me.

What I did find is if I change MipValueMode from None to MipLevel the seam disappear, but this is not what I want - maybe something to do with how the mips are being computed?

I’ll try importing the textures in .tga instead of .png and see how it goes.

Right - it sounds like the mip resize filtering is averaging the left/right sides on the edge pixels… You could also test by changing the “Mip Gen Settings” in the Texture Editor details to “unfiltered” - if that also removes it then it looks like that is what it is.

Changing to Unfiltered still makes the seams to appear in the same spot;

Changing to NoMipmaps makes seams disappear.

I just split the image and tried - I got the same seam. This fixes it though:

Can you please check on the other side of the mesh? I’m using the same plug you did and the seam appears 180º on the other side

btw I’m using almost all the default settings of ue5, dx11 as rhi

Try setting “Filter” to “Nearest” in both textures - If I use BiLinear or TriLinear, I get the seam - if I use Nearest, it works - I still think it’s interpolating the sides of the textures…

[video-to-gif output image]