Can I use UV offset to pan a part of texture instead of entire sheet?

guys I want to scroll uv texture through time with Shadergraph so I have a shader like this: https://i.imgur.com/S9aVmag.png
the problem is when i pack multiple texture in to a sheet and use Texture Sheet Animation in unity Particle System, its scroll the entire pack instead of a single texture. Is there anyway to fix it? I dont want to create multiple materials to improve the performance.
Thanks so much!

Maybe make a black and white mask of the area you want to scroll, and then multiply that by your Time node so only the areas in white increase? I’ve never tried only panning a certain section before.

Or do you mean only panning a single color channel of the packed texture?

basically I tried to group all the uv scroll with time texture together so its only use 1 material. I don’t think the mask idea work.
I can group 4 panning texture in 1 and pan each channel I guess but its only 4 texture…

This is how to achieve in-tile scrolling in Unreal.
I haven’t tested it in Unity, but the same logic should work.

Still the issue is pixel bleeding,
if pixel with color lies at the edge of the tile or too close to the edge.

While technically it’s possible to fix it by allowing some safe margin,
but it would be too fiddly to my taste and not worth the effort.

Another option is to use Nearest texture filter mode,
but the final texture will look blocky/pixel-art-ish.

1 Like

You can keep the packed texture, and then have 4 separate Sample Texture 2D nodes that all use the same texture, but you just output a different channel for each one. While there are 4 samples, it should only read it as 1 because it’s just the same texture being used for all 4. Then you just pan each one however fast you want

thanks so much guys I will try it!!!

Thank you so much!! This works in unity👍