If I put a SpecialMesh inside of an Accessory, the texture gets condensed and becomes low quality. This only happens to SpecialMeshes, and only happens when an Accessory is worn by a Rig.
Is there a way to prevent this without using MeshParts? Is there a better way to export my Texture Files so that they fit better inside Roblox’s constraints?
Here is my texture file. It was generated from an imported FBX File from Blender, which had Materials.
I feel like solving my question is a better solution than solving yours, which likely includes a hacky workaround or increased memory from bigger texture sizes.
Depending on your game’s character technology (R6 or R15)
R15 Has a bigger resolution limit and R6 has a smaller
The way it works is that Roblox’s Humanoid turns anything that has texture under the humanoid rig into 1 big texture sheet PNG for itself to use.
(it does that to “save” resources.)
The quality of accessories drastically decreases the more you insert accessories with textures under a rig with humanoid because the sheet texture resolution is hard set and can’t be changed, hence it gets more compressed the more you add to it.
The only workaround for this is to write a custom accessory welding system to your characters OUTSIDE humanoid so humanoid cannot touch those accessories and alter them.
What’s the reason this doesn’t happen to MeshParts though? This just seems like a very weird limitation.
Your reply was very informative, but I think I may just wait until SurfaceAppearance.Color properly gets added in order to address this issue.
I only use SpecialMeshes due to their VertexColor property, and a SurfaceAppearance.Color property will provide the same functionality but on a MeshPart, which isn’t affected by the issue I’m experiencing here.