Within the last couple days, I returned to my best restaurant cup model, the Mary’s medium cup, in preparation to re-import it to Roblox. I might be proud of it, since it’s the most detailed and realistic disposable cup that I believe has and will be in a video game–but that’s the problem with this cup’s lid: its detail really increases its polygon count! Like, the lid alone is ~⅚ of its triangles.
Once I exported the cup from Roblox Studio (a while back) and noticed this, it has sort of bugged me since; That cup’s lid is way higher-poly than the cup and straw, which have a lower triangle density. I couldn’t leave it like that, so I’m going to try simplifying the lid in a different way, by using a normal/bump map.
First, I completely remade the cup’s UV maps:
- In general, all three meshes will use separate textures, so their textures and UV islands can be placed somewhat more optimally. (I still kind of suck at prioritizing which sections get more texture space, but I refuse to use automatic UV mapping; I like creating and organizing my textures by hand.)
- The cup texture’s upper half is dedicated to the sides of the cup; Below this are its lip (under the lid) and underside “walls”, followed by its bottom surface (inside and outside the cup).
- The lid and straw have much more basic texture mapping. The lid’s just a top-down projection, and a tall, thin texture will wrap around the straw.
After I re-mapped the lid, I exported parts of it from Blender to Inkscape as SVG files, then made each shape solid, saving the results as PNG files. These images were imported into Substance Designer (Yep, I own it!) and used as height maps for normal maps.
The normal map will imitate the lid’s smaller details, like the logo text, Mary’s mouth, and the four cute buttons around the “straw platform”. This is what the project’s node graph and final normal map look like:
Oh, and here’s what the medium cup looks like with my cute UV grid texture applied, showing part of its UV map:
Lastly, I made a new cup mesh today! I figured that since Mary’s is a fast-food restaurant, it needs multiple cup sizes, so I stretched and added extra rings to the medium cup to make a new large cup! Conveniently, it reuses the medium cup’s UV layout, so textures made for it will work for both cups (though I would still like to make specific textures for the large cup to account for its thinner lower section).
This probably wasn’t interesting (and it’s probably badly-written thanks to my brain falling apart), but I felt like I should share what I’ve been working on. Hopefully, my next post will show the more optimized cup model in Roblox Studio.
EDIT #1: I’ve removed any lid details that the new normal map imitates, and it doesn’t look too bad for a mesh with ¼ the polygons of the original mesh, even if the buttons look obviously flat now… Some things have to be sacrificed for optimization, unfortunately…
This is what the lid looks like now, with a temporary colorful texture applied so it’s easier to see the normal map. Anything that doesn’t have a black outline is formed using the normal map.
EDIT #2: Oh, how knowledge of Roblox development and mesh optimization can really help improve potential tool/item models… Before very recently, my cute and realistic cup was ~6k polygons. Now, with my post-2022 knowledge (SurfaceAppearances and Blender experience), that same cup is just under 2k polygons!