What is a reasonable poly count?

Started by
11 comments, last by zyrolasting 15 years, 5 months ago
Subject should be self-explanatory. Specifically, what poly count is appropriate for a hi-res mesh of a humanoid of modern graphic quality? I am constructing a human body mesh, minus head and and clothing, which has about 26,000 faces. This is on the second level of subdivision, and there is a substantial loss in quality if I drop it to the first level. Before I learn the hard way, I just want to know what limits I would typically need to consider in a modern-quality environment. EDIT: I'm looking for a quick answer. I'm aware that there are other computers to consider. I'll get to that. If you answer, please base your response on a range similar to mine. (Intel 2.66GHz Duo along with an EVGA 9800 GT. Can run Unreal Tournament 3 and Elder Scrolls Oblivion on maximum.)
Advertisement
It depends on requirements. Minimum FPS, memory limits, processing that needs to be done, how is data organized, how optimal is batching, etc...

26k is a reasonable number as long as you're drawing it in a batch.

Edit: I read that as whole scene being 26k, not each model.

[Edited by - Antheus on November 7, 2008 9:08:03 AM]
I don't know of any games with a polycount higher than 15k for a single character. Even in Unreal Tournament 3 the characters do not exceed 12,000 polys. They get their higher details by applying a normal map that was generated from a million+ poly version of the mode.

You seem to be creating your model backwards. Build the base mesh at 10k polys and then import into something like Zbrush or MudBox to create your high res detailed version for your normal map.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter
I'm not a super-knowledgable in this department... but I do know that polygon reduction is an art in itself, and can make a BIG difference in perceiving loss of quality in the model. Also, as others have stated, normal maps can help to give an impression of much higher quality. I'd definitely look into different techniques used in polygon reduction though, because you can go through this process and really break a model's appearance, or hardly notice a difference.

Cheers
-Scott
I should go into a bit more detail. Your base mesh should not be build with a Sub-D modeler. Box model your base mesh for around 10k or so. For lower LOD versions you'll want to reduce polys by hand. Using Sub-D levels is going to screw up your topology.

Once you have your base mesh and your lower LODs, then import it into a Sub-D modeler (or going into a Sub-D mode depending on your app) and start creating your details on a separate layer. Use this detailed version to generate your normal map off of.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter
I have no idea what anyone just told me. Looks like something else I have to study... I do not know what a normal map is, and all I'm doing is modeling in Maya. I take a very basic mesh and toss it in a proxy. Given I start from the basic humanoid shape, ignoring any idea of extra components, I don't know what
zer0 means by me "creating the model backwards"

All the knowledge I have in modeling in forming shapes. That's it.
What do I need to understand?
By backward I mean you're taking a pretty high poly mesh and then trying to reduce down to get a base mesh. That is backward. What you need to do is create your base mesh at a target of 10k polys and then you use a higher poly subdivided version to generate a normal map off of to get more detail in the game.

In other words, don't do any subdividing until you're happy with your base model. Subdivisions are for high detail work.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter
A normal map is simply just a clever way of faking extra geometry that is not there. A brick wall can suddenly have a lot of details and be made out if two triangles. A human face can have wrinkles etc. without actually rendering the details as geometry.

These maps are simply just created from your detailed high poly mesh AFTER you have created the low poly mesh.
I like the concept, naturally. How is it represented? A greyscale image? I believe I've seen a weird purple/green variation of image called normal map.
Also, (if anyone can help on this) what's a good way to apply them in DirectX 9 C++?

Google time as well...
Yes, it is that strange color image. You can simply Google for normal map, there are many sites about that. Considering implementation in C++ you can download DirectX SDK and with it you have several example projects using it. There is even one which has normal map on 2 poly flat surface representing much complexer objects, and it looks good.

This topic is closed to new replies.

Advertisement