Altering a decal's "shininess"

The Premise

While messing about with custom characters and customisation, I discovered that having MeshParts instead of parts with SpecialMeshes inside of them as limbs for a Roblox Character will allow the limbs to support Materials. This is perfect for my game, as it would provide much more character variety.

The drawback of this is that regular Shirt and Pants objects no longer work with the character. The workaround that I found, albeit messy, was to write an external Python tool that took a Roblox shirt/pants template and spat out each face as its own image. I then upload each image and use them as Decals on each side of each of the limbs. This works perfectly, except for…

The Problem

The decal method works perfectly on materials with no inherent reflectiveness, as seen here:
noReflective

However, when the decals are on materials that are inherently shiny, they appear shiny as well:
Reflective

This is a problem because most of the clothing in the game will be fabric-based, and it will look quite odd if your fabric shirt starts shimmering in the sunlight.

This may have no solution, or it may be simple and I have overlooked it. Thanks in advance!

1 Like

Have you tried the reflectance property?

Reflectance is 0 across all parts, no matter the material. I think the reflectiveness is a result of the PBR textures of the materials.

Update: I have found no solution to this, I’m just going to refrain from using reflective materials such as SmoothPlastic and Glass for my characters.

You shouldn’t mark a solution for… not finding the solution. I recommend you un-mark it until you find something that works in your situation (where you seemingly want or need to use SmoothPlastic or Glass?).

Have you tried using SurfaceAppearances instead of decals? They let you control how reflective/“metal” an object is.

2 Likes