Monday, March 09, 2009

About Poly Counts

Every time I post an update to this blog, Im worried that the poly counts shown may seem excessive to the casual reader who may be aware of Auran's poly recommendations, or the poly counts of various Trainz assets, but not so familiar with the modelling process or my intentions. Ive touched on it a few times in various posts, but here, I'd like to create a post just about that, which I can refer to later.

I add the poly counts to each post so that you can see my progress, and also get a feel for the level of detail in the models, but in recent months, these counts have been creeping up, and in some cases, Ive gone over my self-imposed upper limits. It troubles me, and while I'd like to create some really nice Trainz assets, Im concerned that others reading this blog may see the counts and think that these models are too "High-Def" to run on their PC or their version of Trainz.

Here's my thinking on that...

For a diesel locomotive, Auran recommend 9000 polys for the body, 8000 for the interior, and 2000 for a bogie. There are no recommendations for electric, so lets use those numbers and add 1000 for a pantograph. That's a total of 20,000. They also recommend 12000, 8000, and 5000 respectively for a steam locomotive (a total of 25,000). That's 5000 more! Why? Well, its because with all the push rods, pistons, and cylindrically shaped boilers, its difficult to do even a basic steam loco in less polys. The lower recommendation for diesels is not because Trainz wont handle anything higher - its simply a recommendation which helps Auran to lower the minimum PC requirements for running the game. The reality is, that in the years since those recommendations were made, the power of CPU chips in current PCs has just about doubled while the price has stayed about the same.

If I were to mirror the 86 Class right now, it would come to about 23,000 polys, which is just under the recommendation for a steam loco, so the question becomes... "Why do the steam fans get to have all that extra detail?" My answer is: "They don't". There is absolutely no reason why one locomotive should be less polys than any other. If Trainz will handle 25,000 for one locomotive, it will handle it for another. Naturally, if you can build it under that, so much the better.

Having said that, the poly count expressed below each post is for a work in progress. It includes things like body, bogies, and cab mode interior detail together. In Trainz these are separate assets, as are the pantographs, and generally they are not all added together, as they are in my workspace.

By the time I split the model into separate files for body, bogie, interior, panto, levers, etc, the total count will be spread over several files, and things that a file doesn't need will be removed (ie: there will be no levers in the body file). Duplicated parts (switches etc) will become a single item, to be attached multiple times.

The 23,000 poly estimate for the mirrored 86 class includes a lot of duplication (two full cab mode interiors, with all of their associated levers and switches for example). Obviously, the duplication wont be present in the in-game asset. For example, only one cab is required - Trainz simply uses the same model at either end, and only one is ever active at any given time.

Another factor to take into account is LOD, or "Level Of Detail" modelling. I will be using LOD in all of my locomotives and trains. When an asset is set up properly for LOD, Trainz uses the high poly, high detail model only when it fills the entire screen (Zoomed in). As the train dissapears into the distance, Trainz will substitute increasingly lower detail copies as it moves further away, so with all those engines in that big yard, only the ones in the foreground will be high detail, and the rest are low poly versions. This is how it should be, and its kind of sad that more Trainz assets aren't set up this way. Obviously, in the real world, you can't see that 2cm diameter hand rail from 5km away, but you do see enough of the basic outline of the loco to recognise it's type. This is how it is with LOD modelling too.

Finally, Im building these for me. If you like them too, that's cool, but to paraphrase Tim Curry in Rocky Horror Picture Show, and with all the humour intended in that scene...

"I didn't make them for you!"

I guess you really have to see the movie.

Anyway, in conclusion, the poly counts in my working files may seem high, but this is because I want to build the best looking models that I can, and also because those work files include a lot of parts that will never be seen in-game, or be counted together. Auran's recommendations are fairly conservative, and aimed at the minimum average PC requirements, yet PCs are becoming more and more powerful, and LOD modelling will greatly reduce the poly count of distant models. All of these things combined mean that the finished product will have less of an impact on your PC performance than you might expect from simply looking at the poly counts in this blog.

Hopefully now that Ive written all that in a single referenceable post, it wont bug me as much in the future.

Oh, and when you see the models in action, you'll realise it was worth it :)

1 comment:

Anonymous said...

i love your work on creating these locos, but as you said, they are for you, so you decide how to make them, high poly or low poly, im very glad to know about this blog! :)