Pixel Perfect Texture Bleeds Through Decals In Game

I have a custom clothing system in my game that grabs multiple textures and combines them into one outfit. This is so I can allow players to Color specific “regions” of their shirts and pants, rather than the entire thing.

These are what my texture files look like. The “White Shirt” layer and the “Belt” layer are uploaded separately. The green background is to demonstrate the lack of seams/bleeding.

In game, on a similarly green character, seams and bleeding are visible.

Here is how my Decals are setup. Base contains the “Belt” image file, and PrimaryColor contains the “White Shirt” image file. My Meshes are custom UV Edited to match the Roblox Shirt Template. Changing ZIndex of the decals does not affect the bleeding.

image

Any help?

1 Like

this is probably just roblox downscaling textures for optimizing, so issues will arise from it

Have you tried coloring outside the lines to counteract the bleed? (I dont think this is the source of your problem tho.

Could we get a closer look at the layers you have? as well as the sides of the person?

1 Like

I fixed it a couple days ago by doing something similar to this.

I did end up switching to SurfaceAppearances for a variety of reasons, although I am disappointed you can’t layer these like Decals with ZIndex. You have to instead make copies of your part that are 0.001 studs larger.

The way I ended up fixing this (and I’m sure this would work with decals too) was to make the “White Shirt” layer consist of the entire shirt texture, and then layer stuff (belt layer) on top of that. This solved the skin color bleeding issue, and any other bleeding issues were solved by extending or including an outline of the layer. Conveniently, all of the shirt textures I use have solid Black Outlines that distinguish between portions of the clothing.

On a less well defined piece of clothing, I can see this fix not working at all.

As you can see in the video there isn’t any bleeding or seams.

Probably should’ve mentioned this sooner, but I never really considered it an actual “fix” to the issue. Textures still don’t line up properly and need a “buffer” to prevent bleeding. This fix was helpful for my use case, but I can easily see people having similar troubles that wouldn’t be fixed by this, since the main issue (pixel perfect textures not lining up in game) is still present.

I figured this would be a possible solution., but yeah I don’t think there will be a perfect solution to pixel perfect textures due to roblox image compression and such. (Even UV maps have to have a certain level of bleed or else your textured model will have visible seams)

Also have you tried to make your layering more “paper doll” like? If that make sense… I think you are already doing it kinda…

Also also, is there a reason you can use decals and surface appearances? Or like textures and/or texture Ids? Is there a reason you stick to just one method of tecturing?