I noticed that the textures on my Sprite3Ds are “smearing” across transparent areas next to where non-transparent colours sit on the edge of the texture. It looks like this (see the black-to-white line right of the top):
In some other cases there’s a white line overlaid where the opaque black pixels butt up against the edge of the texture:
It seems this happens when I use any of the three Linear texture filters, and doesn’t happen when I use any of the Nearest filters. I want to use the linear ones for the smoother look, however, so are there any good ways of stopping this from happening? I figure I could include a buffer zone of one completely transparent pixel on all sides of the sprite, but I’m hoping there’s some more systemic way of removing these artifacts that doesn’t require an extra step in the art pipeline.
To avoid this kind of artifact regardless of whether the material is repeating, you need to ensure there’s a 1-pixel line of fully transparent pixels on the edges of your texture.
Thanks! For now I don’t have a lot of sprites so I’ve just added a 1-pixel border, and I could potentially automate that in the future. If that workflow becomes too onerous I may look into switching away from Sprite3D for the time being.