Hey there,
I’ve decided to mess around with generating procedural mesh creation, and i’ve been having a great time learning the intricacies of mesh optimization.
But I’ve hit a wall. I just can’t figure out how to have good uv’s if all the triangles share vertices with their neighbours. Since the uv information is in the vertices themselves, how am I supposed to give them two, or three, or even four different uvs when they’re shared among multiple triangles?
I’d appreciate your wisdom, if you can to formulate it in layman’s terms.
here’s a picture of my issue.

I had the same problem (and with vertex normals as well). In the end, my only working solution was to ditch reusing vertices and simply have a unique vertex entry for each different use. So in the picture you posted, I’d have 24 vertices (3 per triangle), 24 normals, 24 UV coordinates (instead of a condensed 10 vertices, 1 normal, and 4 UV coordinates).
If there’s a simple solution, great! I’m guessing I’m just abusing the system as it is, but so far Unity has surpassed all our expectations in terms of performance, especially with mass procedural generation of objects (on the order of over 2 million polygons).
Hmm, that doesn’t sound good. But knowing I can get away without sharing vertices is comforting.
I’m still curious if it’s doable though.
For example, in 3dsmax, I can have multiple instances of the same vertex in the uv mapping utility (they show up a blue when one of the clone is selected) I wonder if unity can do this somehow.
What you see in a modeling app isn’t how the hardware actually works. Since Unity only uses realtime 3D graphics, it has to conform to how the hardware does things. Namely, it’s impossible for shared vertices to have different information. Each vertex gets one entry for the first UV map, one entry for the second UV map, one entry for vertex colors, etc. It’s not a problem, it’s just how it works.
–Eric
Allright, well, I guess i’ll settle with 16 vertices for a cube.
Thanks guys!