[Accidentally posted this in Pimping & Previews so I'm reposting here. Whoops]
Hey guys, I have a couple questions just to ease my mind and make sure my understanding of some things are concrete.
First, a facts check:
1) Speaking strictly about 3D model integrity, vertex count is what matters most for performance in games (not talking about conservative texture usage, etc.)
2) Modeling software pretty much never displays the correct amount of vertices on a model
3) Vertex count is affected by smoothing splits, UV splits, and material splits
4) Following the guidelines that hard edges require UV splits, (in the cases of normal mapping) I split UVs at all hard edges in the image below, therefore the two models below have the exact same impact on performance:
Now onto my questions.
1) This question sort of stems from fact
#4. Assuming my UV splits match my hard/soft edges, and there are no additional materials applied to the model, is it safe to count a model's UVs inside my modeling software (assuming a completed unwrap) as the vertex count? Are there any instances outside fact
#3 that would further affect vertex count?
2) How might "technical modeling" such as this be perceived by hiring managers? Do they possess the knowledge to know that a model with tons of beveled edges doesn't necessarily impact performance? Will a high triangle count negatively affect my chances of being considered for a position? Do they even look at triangle/vertex count?
3) How wrong are my perceived facts?
Thanks in advance
Replies
TLDR version, in practice and with more complex shapes the spots with the bevels aren't always going to be continuous/soft edged.
2. People outside of tech artists and studious environment artists don't grok this, and it will not impact your hire-ability. Just make your portfolio pieces as awesome as possible. And if a potential employer gives you a target triangle count for a test, don't smart aleck them and bring up vertex counts. Wait until you are hired to confuse them.
3. Your thinking is correct. The only thing to keep in mind is that unless you are working on mobile games, polycount and vertex count don't really matter. Look for the Killzone PS4 paper online to see how insane specs are these days.
Here's an image I made that shows how smoothing and UV splits affect vertex count in game. There's a couple of really interesting things to note here.
1. The model on the left has more geo, but less vertices. So this proves that more triangles can be more performant than less.
2. The model on the right is the same model as the one next to it except for creating smoothing groups/hard edges from the UV seams. Yet the vertex count dropped in game. I still don't understand why this happens. Technically they should be the same. But there you have it.
Isn't it still a relevant concern in mobile development?
still is, but it is far from the only thing to consider, i have worked on teams a few times where there bitching about poly counts when most of there problems are coming from there 2k textures, overdraw or fillrate.
Most game engines provide profiling features to easily track down what is slow the game down.
However, I don't think we are "worrying" about this issue. To me this is foundation information similar to knowing where to put cuts in character joints, avoiding seams in normals maps, and what size textures to use.
When you are working with these things in mind you'll build technically sound models. And in the end that's our goal.
I believe he's referring to the following paper: http://www.guerrilla-games.com/presentations/Valient_Killzone_Shadow_Fall_Demo_Postmortem.pdf
http://tech-artists.org/wiki/Beveling
http://www.polycount.com/forum/showthread.php?t=106108
If you have Marmoset Toolbag 2 it tells you the real vertex count. There is also a program made for modding Legend of Grimrock that gives you the real vert count, if you search for Grimrock Model Toolkit you'll find it.
monster:
They should be exactly the same. I just did a quick test and checked. How were you calculating real vert count? You must have made a mistake. Perhaps one model has different UV's. Or maybe you used the higher tri count model from the left mistakenly for the right?
UV/Hard edge splits don't stack, and this is my understanding of why: A single vert can only have one normal and one UV coordinate. When a vert is split because it is a hard edge, you can now have a UV seam for free, because you now have two (or three) vertices—enough for each UV coordinate.
I'm aware of the sort of insignificance of triangle/vertex count in next-gen games when considering the larger picture of performance. I've been working in mobile stuff lately where that is still sort of an issue, so being able to stay economical while boosting visual quality has always been a goal.
Max Script:
http://www.ericchadwick.com/examples/files/HaywoodTools-UberVertCount.mcr
Suprised Eric hasn't dropped this down already. It's a really nice tool, even if just for understanding, it's great to see what the real vert count is ultimately.
Also, a vert count can increase base on the shader using it. This is evident in Unity when I use a custom unlit shader which does not require knowing binormals and tangents, which means it ignores smoothing verts.
And as a general rule, put smoothing edges where your UV edges are because it's much more efficient. Baking normals makes more sense as goes for lighting in scenes (baked or realtime).
But as many are saying, vert count isn't something should you concern over, especially when your making stuff first round through. Optimization is best done later on when you know that the models being made are truly going to be in the final product. This is not to say making everything hi poly. Keep it in the realm of the project specifications.
Vertex counts are more important for memory than performance. Anyone who says vertex counts don't matter usually hasn't ever been given the job of getting a level under mesh memory.
It doesn't matter if you're making a 10,000 or 200 poly model you can cut your memory profile in half by modeling with vertex count in mind.