what are good performance polygon counts for characters,props,machines

I would like to get some ballpark polygon counts for creating a game that would run well on most computers that are 2-3 years old.

What would be a good polygon count for a
A character - human or animal?
A prop – a barn, a rock?
A machine – like a catapult, or motorcycle?

A scene – everything in the scene at one time?

Thanks,

Dan

These are just rough guidelines that I’m pulling out the air here, but I would suggest:

A character: 10k?
A prop: 500-1.5k?
A machine: 2k-5k?

All of the above are just based on what recent FPS type games are getting away with. A decade ago I would’ve had some kind of seizure if I saw that a game character was 20k polygons, but these days it’s not out of the ordinary. It depends so much on your game, art style, and intended audience. A really talented art team can make a 5k polygon model look amazing, while somebody new to real-time polygon modeling might struggle to get the same amount of detail into a 20k model.

For an entire scene or frame, there’s no real way for me to suggest anything as it’s really dependent on the game and what these polygons are involved in. Maybe 200k visible? If you’re creeping up to 500k → 1mil you’re probably in trouble, but it really depends on so much, especially now that we have such a great occlusion culling system in Unity 3. “As low as possible” is always good advice.

It’s important to understand that there’s a lot more to consider than just polygon count, especially on modern cards (ie, even 5 year old cards) as they can chew through an incredible number of polygons per frame. You need to consider fill rate, particles, number of materials on meshes, and a lot of other game-specific things. In Unity the “draw calls” is a good general guide.

On the PC at least, there isn’t much point in making models below about 500(?) polygons, as they won’t be a lot faster to process than a 1k model. These numbers might’ve scaled up in recent years for all I know, so the lower limit might be higher.

Check out this two-part article: Beautiful, Yet Friendly Part 1: Stop Hitting the Bottleneck it goes into some pretty technical details, but if that’s not your thing you should still be able to skim through it and pick up a general idea of what to consider on modern systems.

Unity has posted some things about performance in the docs-- I’ll post what I remember.

I believe for a character, you want about 1500-2000 polys. You want less than 500 draw calls on a PC. You want to batch as much as possible (which means less than 300 polys-- like the cans all over the place in Fallout 3).

(If you care, iPhone 3 needs 10000 polys < 20 draw calls-- I recommend nothing larger than 6000 poltys for environment, and batch as much as you can-- and change all divisions to multiplys where you can).

As far as I’m concerned, trail renderers are expensive.

Anything that doesn’t move needs to merged using CombineChildren.cs. Don’t forget to use occlusion culling.

They also posted about performance on colliders which is a useful read. I’ll see if I can dig up the resources and post back.

Here you go my friend! Note that this is not all there is to performance-- a lot goes into it, and you may want to read through more of the manual.

http://unity3d.com/support/documentation/Manual/Optimizing%20Graphics%20Performance.html

For the iphone, maybe. You’d be the king of normal mapping if you could make a good looking character for something like an FPS or third-person shooter with 1.5k polygons. You should also be able to push past 500 draw calls unless you’re designing specifically for old hardware or maybe some kind of “casual” game.

How do these two interact with each other? I haven’t tried the culling yet, but if you’re combining objects are they going to be treated as a single object by the culling system? If so, you might have to strike a balance with these two optimisation methods.

Thanks for the awesome detailed info guys.
What’s more important how many objects in the scene, or the total number of polygons…
For example would 1000 1000k polygons be the same as 1 1,000,000 polygon object?

Dan

Hey man, i’ve been working on low poly stuff too, a little heads up, you should be looking out for your textures too! i had real low poly stuff like 1k characters and becuase my textures i still lost a good amount of fps, for some reason unity turns some of my 15kb textures into 0.7MB beasts, not sure why

Indeed, textures make a huge difference on your performance.

You would have to do some research on that yourself and test, because at some point I am going to guess there is a sweet spot number where the number of objects equals a large object.

I’d highly recommend reading through the reference manual, specifically under advanced, and specifically the topics concerning lightmapping, occlusion culling, and performance. There is some really good information there.

Also pay attention to how many draw calls you have.