It seems like I wasn’t able to find any way to remove useless vertices on my model, should I just keep them or keep trying? I doubt 2k or so parts would be that big of a problem tbh but I really aint sure
Meshes are items like the CylinderMesh, HeadMesh, and other items like the old hats and non-Part items. If you look in your Explorer window and have a Part with a Mesh in it then it’s a Part that has the visual appearance of something else but is still shaped like a Part (cylinder, sphere, wedge etc.).
Unions are just that. A Union of Parts/Unions/Negated Parts. Basically an easy to make simple shape in Studio.
MeshParts are created with 3D editing programs. You import them into Studio. They are the physical shape and visual appearance of the Mesh.
They might have 8 points, but to render properly, 24 need to be defined, effectively 6 different squares that line up
Basically, for lighting to work, each point has to have a “normal vector”, which tells the engine which way they are facing.
Since 1 point (a “vertex”) can only face one direction, there simply aren’t enough points to represent each face of a cube, making the cube get shaded like it’s a sphere or some other weird shape.
Also, there’s the issue of texturing where the UVs get messed up, but it’s basically the same principle.
Can’t you just use the cube with 8 vertices, shade flat and be done with that? It makes the normals align with the faces?
If you Reset the Normals they should all face straight out from the surface.
(I didn’t have time to open the link, so if I’m incorrect then ignore this)
Then there’s the problem of deciding which normals from which vertices to use for flat-shaded lighting. 8 vertices simply isn’t suited for a game engine with complex lighting and any sort of texturing.
Rendering is simplified to just some positions (vertices) and which order to connect them in (indices).
When you have 24 vertices, 4 for each face, one vertex can belong to a specific face, can have it’s own normal and be effectively disconnected from everything else other than the 3 other vertices it’s connected to.
But, when you have 8 vertices, one vertex will need to be shared across multiple faces, so the direction a face is facing is misrepresented as being smooth because one of it’s vertices is pointing at a 90-degree angle from another one of it’s vertices (due to built-in interpolation in most graphics APIs).
People a lot smarter than me have tested all the options, and have come to the conclusion that 24 vertices is a better generalization than 8. It’s been argued countless times and you’ll probably find better reasoning than mine online (try the search term “24 vertices cube why”).
Would this cause any sort of performance issues since the number of tris would be the same but the vertices would be tripled?
I’ve never used just a Meshed cube with Roblox, but I know that BlockMesh Parts don’t seem to have issues with appearing rounded.
What happens when you use Edges that are Marked Sharp in Blender with common Vertices? The edges seem pretty crisp and the faces look like they are rendered perfectly flat when imported to Roblox.
24 vertices is a single sugar crystal in terms of rendering. The performance difference between 24 and 8 vertices is too small to support it most of the time.
I don’t know how Roblox internally imports meshes, and I know next to nothing about Blender, but this is just a common occurrence in game engines and rendering in general. Maybe they have specific edge-case detections where the engine “tessellates” the mesh (adds more vertices) when loading or importing it.
What’s the triangle count when you import an 8-vertex cube into Roblox, and then export it out of Studio as a .obj and import it into Blender? Just a small curiosity of mine.
This probably explains a lot.
A standard 4x1x2 Part and a Union of that Part are both exported to Blender with 24 Vertices.
I know that Cylinders exported to Blender have separate end faces (36 vertices + 1 center vertex), and the cylinder walls are divided into 4 sections of 6 angled segments (14 vertices for each 1/4 circle) .
I’ve joined the common vertices so the 4x1x2 block has 8 total vertices and the cylinder has 66 total then made the 90 degree corners (edges) Marked Sharp with the Edge tool in Blender. They seem to have pretty good rendering when they are imported back into Studio, but I’m no expert in Lighting so they may not appear as well as those items rendered with the separate vertices.