ROBLOX texture object being weird on certain meshes

Hi

For clarification:
TextureInstance = The decal alternative that you parent to a part for repeating textures
TextureID = The property you set in a MeshPart to add textures to it
Texture = The image

I made a post recently thinking that TextureInstances were applied based on the mesh UV unwrap but I figured out that it has nothing to do with UVs. So, why are TextureInstances being ok for one mesh, but not for another nearly identical but scaled up version of the mesh?

Here is a depiction of the problem:


On the left is the mesh with the TextureInstance, and on the right is the one with the screwed up TextureInstance. To make things worse, depending on how I export the mesh (and how I UV unwrap the mesh…?), the texture from the TextureInstance may not even show up at all no matter how big or small StudsPerTile properties are because the TextureInstance scales the texture either too small or too big, but the TextureInstance is definitely applied because I can change the texture color and an obvious change will appear on the mesh.

If the checkered image is applied as a TextureID in the mesh properties, then it looks fine:

I wanna use TextureInstances so I don’t need to make different textures every time I want a texture for a mesh but in a different color. If there is a different way to achieve this, please tell me!

1 Like

Are you able to share the two meshes and the texture file? It’s hard to see exactly what’s going on from two pictures and your description. And maybe making a distinction between when you mean TextureID (as part of a MeshPart) and the Texture instance (the thing that looks like a repeating decal) would clarify things since they are very different :smiley:


Also for future reference, if you found another issue that pertained to your previous thread (Mesh with enormous UV scale) you can just edit (or add to) that one instead of making a new one since it’s technically the same asset/problem you’re having :slight_smile:

3 Likes

Ok, here are the meshes and the texture.
The blocks are separated by material, just so you know. :slight_smile:

Mesh with working texture instance:
block.obj (6.1 KB)

Mesh with broken texture instance:
blockLarge.obj (9.7 KB)

Opaque texture (for TextureID):

Transparent texture (for texture instance):

The reason why I made a different post is because the other one was getting kind of long and the problem did change a bit, but I guess I could have just deleted the contents of the old post and changed the title…? Thanks for the reply though! :slight_smile:

1 Like

Thank you for supplying the materials, I’ll look into this now and let you know what I find :smiley:

Just for confirmation, you would rather these blocks use a Texture instance instead of a TextureID, correct? :slight_smile:

Yep!

The reason for this is so that I can easily change the texture color from ROBLOX Studio, but if there is an easy alternative or none at all, then I just want to know.

1 Like

I’m getting some very confusing results that should definitely not be acting as they should be…

Can you send me these meshes/textures in a place file so I can see what you did specifically? I can’t even get the most basic decal to work properly haha :stuck_out_tongue:


Edit: It might be a scaling issue but I’ll need to see :slight_smile:

1 Like

Here is the ROBLOX Place file from the screenshots:
Help.rbxl (216.4 KB)

It seems to just be the large block grass mesh that is having issues.
Thanks so much for helping me out, I really appreciate it! :smiley:

1 Like

AFAIK Roblox uses cube mapping when projecting Textures to Parts and MeshParts. If you for example add different textures on each side of a sphere, it’ll look something like this:

image

Guessing there’s a conflict on the grass sides as they’re angled at around 45°, which means they aren’t always included when rendering the Texture applied on the Top side.

Try angling them less and the Texture should work.

3 Likes

Thanks for the reply!

Yea, I’m guessing roblox uses cube mapping as well, but the problem isn’t that the texture appears distorted one the angled sides, it’s that it won’t show up because the scale of the texture or something is ridiculously huge.

In the original post, if you look at the cube on the right, in order to get the texture instance to show a texture, I need to set the StudsPerTile properties to a very big number, and I just forgot to do that to the texture instances on the sides of the grass mesh. :stuck_out_tongue:

If I wanted to render the sides of the grass mesh by just putting one texture instance on the top surface then you’re right, I would need to angle the grass sides -44.99 degrees from the top surface.

Ah okay, that’s interesting.

Could maybe try changing the UV or adding faces on the bottom side?

2 Likes

I really don’t know, I’m starting to think this could be a bug.

I made the block one big mesh instead of separating by parts (dirt and grass), but the textures are definitely extremely weird:

Thanks for pitching in! I did try making it so that the sides were less than 45 degrees (I just didn’t show it in a previous post when I should have) and it’s still not working as expected

This has to be some sort of glitch, but what on the mesh could be causing it?

Honestly I have absolutely no idea. I tried isolated variables but all of them were messed up or not acting as expected… I’m tapped out haha.

MeshTextureIssue.rbxl (68.0 KB)

I’ll see about escalating this as a bug report. Thank you!

3 Likes

No, thank you man! I think I’m just going to go ahead and use different colored textures for the meshes, so no need to look further into it I guess. I wonder what could possibly have caused this…?

Should I mark this as solved or leave it unsolved?