Unable to overwrite Color Maps on Surface Appearances with Texture ID

Recently me and a friend of mine made a 3D muscle mesh for my game
image
And to preserve performance we’ve decided to use normal maps, which require a surface appearance to be used. Here’s the catch if I want to change the model to fit the users shirt I have to change the color map, but u cant change the color map during runtime. Texture ID also doesn’t overwrite the color map even if its empty. What do I do? Are there other ways to still have a normal map but not use surface appearances?

1 Like

You can try using a white solid color image as the color map and then change the color of the parts.

image
the upper torso is “red” so it doesn’t really do anything

the only 2 solutions i see to this is for someone to make an engine feature request for color maps to be able to recompute during runtime (since I’m not a regular)/textureid to overwrite color maps or find some alternative to normal maps or just have each body part have 10k tris which would still look worse than the normal map variant and be way laggier. Another solution would also just be able to change color maps with a script, even if u change it manually in studio it will not do anything, but if u first put the color map image into the textureid field of the mesh, create a new surface appearance put in the normal map and the color map, suddenly the color map changes fully to the new image and everything works just fine. The only issue with this process is that you can’t physically do it since you can’t change color maps with a script. Again for this to take action someone has to make a feature request since I’m not a regular. If you’re seeing this and you’re a regular please make a feature request on the 3rd solution as it’s the easiest to implement for Roblox while still providing the much-needed effect.

On the part that you want recolourable (like the blue part of the floral pattern), make it transparent on the ColorMap texture and then you can use the MeshPart’s Color property to recolour the transparent parts of the texture.

Nevermind, you want a changeable texture on top of the surface appearance. I don’t think there’s a way to around that with Surface Appearances since you can’t layer them or update their properties at runtime like you said.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.