When applying a Texture to a mesh that shares a Model with a Humanoid, the Texture gets deformed. This is especially noticeable if the Texture object is semi-transparent (which is required for my use case).
In the examples you can see when I add the Humanoid object, the texture (+mesh) becomes deformed - causing the transparency to be applied inconsistently.
This only happens when there is a Humanoid present in the model with a Mesh + Texture. This does not happen with Decal objects - however Texture objects would be ideal to use, as you can resize the textures without uploading multiple images.
This is because you are using texture instances rather than setting the TextureId property of the MeshPart. Your textures are being wrapped to the deformed mesh as you are not actually properly UV mapping a texture onto it.
Once the engineering team roll out a fix for the mesh deformation issue, this should be fixed. But I could be wrong.
but this happens if you use it with a Mesh+Humanoid
also…
The Decal/Texture Renders perfectly if you DON’T use a mesh and DO use Humanoid
Decal+Humanoid
It also Renders Correctly if you DO use a mesh and DON’T use Humanoid (This was expected)
Decal+Mesh
To be honest i think the problem is with the Head Mesh because it still renders correctly if you DO use Humanoids and DO use a Mesh too, except the Mesh has the MeshType set to anything but Head or Sphere.
I want to inform that the bug has not been fixed. also in response to @AdministratorGnar, setting the textureID doesnt change a thing, as shown in this gif where i reproduced the problem.
Hello, we are currently experiencing the same issue. Suddenly lower resolution textures on any character mesh that is being updated. Deleting the humanoid part fixes the issue. Is there a solution for this?
Still an issue, reproduced in real-time. Textures get horribly pixelated, but as soon as you drag that same mesh out of the humanoid’s group it looks crisp again. This affected us heavily with our previous game as well when trying to do custom character heads with textures to save memory, but now we’re going to likely need to add even more verts to the game to model out faces which will slow creation of character art a ton + impact performance.
This happens because we currently pack multiple textures into slots of a single texture atlas when a Humanoid is present for improved performance. Currently the slots have fixed sizes around 264x284. You can avoid using the atlas by removing the Humanoid or by naming the part something other than “Head” or any other standard R15 part name, since the atlas only picks up the standard R15 body parts.
We’re working on a project to make the atlas much smarter so it uses texture space more efficiently, and doesn’t downscale textures in cases that it doesn’t need to. In the future, we can look at scaling the size of the atlas based on available device memory which should help even more.
apologies for possible necro bump. I bumped into this bug and was searching for a solution so figured I would post it for any others. The humanoid still deforms your basic MeshPart TextureID. To fix this, insert a Surface Appearance instance instead parented to your Mesh Part. Insert your Texture Id from your mesh part into the Color Map on the surface appearance to fix any distorting on your character!
Lol I know this post over 3 years old at this point, but just in case you check this, I was sort of able to bypass this limit by inserting a SurfaceAppearance object into each mesh and then putting the mesh’s texture into the Color ID slot. Not the best, the colors seem more saturated and darker, but it works for what I’m doing. Just thought I should share. ︎
Turns out it was the shadows screwing with the chainmail texture. Ig ima have to cope with no chainmail texture. I have noticed, it only happens on compatibility and voxel.
Hi all!
As @Homeomorph mentioned, this is due to the way we pack textures into a texture atlas for Humanoid. In addition to the workarounds they suggested, using SurfaceAppearances, as other developers suggested, can avoid this issue. This is because SurfaceApperances are not packed into a texture atlas.
This is an inherent issue due to our engine architecture. I will close this bug report since we are not treating this as a bug, but we will be tracking this pain point as a feature request that we’ll consider in our future work.