So i had a problem in this post, and so to fix it i used a method to make the paper image into a 3D mesh in roblox through blender. Unfortunately, i suck at blender, and this is my first mesh i have ever exported into roblox. For some reason, when i put the decal on the 3D paper, it wont do anything. Also one side is only visible (isn’t really a problem but could be related to the decal problem)
Since you are using a mesh, I would recommend using the decal as a TextureId for the mesh. And the only-1-side-is-visible problem, that’s because of the normals.
Go into blender → UV Editing tab, select the paper, go into Edit mode, select all the vertices, press U and choose Unwrap. And then insert that decal into blender and try aligning the decal with the UV that you just unwrapped. Finally, export that decal that is aligned and put it in the TextureId.
EDIT: Oh yeah, export that mesh again because probably, the previous mesh wasn’t UV unwrapped.
Press numpad 7 to view the paper directly from the top, and go to UV > Project From View (Bounds). It’ll give you something closer to what you’re looking for.
I also need to add another decal over the paper (player icon) and a SurfaceGui with a TextLabel (player name), which will still make the transparency thing happen. That’s why i’m trying to get the Paper on a fully visible mesh.
I’m not too worried about the amount of triangles the paper has, this is a one off. I shouldn’t really be using other complicated meshes later on in my game.
I may have misunderstood what you are trying to tell me, if so, let me know.
Ohhhhh i think you’re getting ‘depth-sorting error’ (as said from one of the replies from the post i linked) with Z-fighting confused. The problem still applies even if the ImageLabel is far from the paper image. Don’t you get the problem when you look at the paper from different angles with a decal on a separate part behind it?
I’m still trying figuring out new things about this problem, so i may be wrong.
Also could you possibly make that paper example a free model?
SurfaceGui.AlwaysOnToptrue should fix that problem. This will make it clip through geometry like walls too so that is probably not what you want. You might want to forward that to the engine team but there’s a solid non band-aid way to achieve this that is just as good if not better.
GuiObjects like TextLabel, ImageLabel,… have a parameter called ZIndex that will basically tell which object(s) of your GUI is to be layered first.
The following model uses a SurfaceGui that will display the entire thing seperated in three parts:
Paper (ImageLabel, ZIndex = 0)
Thumbnail (ImageLabel, ZIndex = 1)
Username (TextLabel, ZIndex = 1)
You can level it with a textured wall and it will still show on top with no transparency issues.
i did try all these but it didnt do much, however, for some god knows reason if i change the name of the decals parent part from head. it unpixels itself?