How do I darken a mesh that has a texture?

I’ve tired everything I could, however I just can’t darken my mesh’s texture because there are no properties to do so.

The only solution I’ve found so far, is making a mesh that’s slightly smaller, make it black, and then when I increase the transparency of the bigger one it gives the effect of becoming darker. However, that doesn’t work for my case, because it’s a more complex mesh with holes and simply changing the size doesn’t make it cover everything.

Is there anything else I can do?

3 Likes

Maybe use a SurfaceAppearance as the ColorMap → TextureId

Yeah but the SurfaceAppearance object doesn’t let you change the transparency of the texture either

Edit the texture in an art program to be darker. If you don’t have the texture, you can get it using the TextureID, take just the numbers (for example 15484659423), go to any asset, and replace the numbers in the URL with the numbers you got.

I’m aware of this, but I want to slowly darken it because my mesh is dough and while you cook it I want it to smoothly become darker

There are 2 ways I know of that can let you use mesh textures that change colour without needing to make new images:

You can use the MaterialManager to make MaterialVariants to create custom Textures under a preset material. These textures are affected by change in the Part / mesh’s colour.


1. Open MaterialManager:


2. Find the Material you want to create a Variant under, select it:


3. Select the ‘+’ icon to create a Variant. The Base Material will be the material you selected. You can change the name if you need to.



4. Import Texture Maps, and tweak any other options you want to, such as Studs Per Tile which changes the size of the texture per stud, or the Physics for custom Friction, etc.


for the sake of speed I will import a random Color map


5. Now you can select your MaterialVariant under any part or FileMesh. When you change the Colour, the texture will change colour too.



Footnote: the Colour Map’s Texture will be offset by the Part / Mesh’s colour, so if you want it to become the same colour as the part, make sure those sections of the Texture are completely white.


SpecialMesh VertexColor (much less variable but an option nonetheless)

A less advanced option is to use a SpecialMesh instead and change the VertexColor (darker must be a float from 0 to 1). Not sure if you can use PBR with those though.

SpecialMesh with VertexColor at 1, 1, 1 (regular appearance):

SpecialMesh with VertexColor at 0.5, 0.5, 0.5 (appears to be shadowed):

SpecialMesh with VertexColor at 5, 5, 5 (appears to be under bright light):


Now, with either of these options, you can use iteration to dynamically change the colour of the Texture! :smiley:

1 Like

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