PDA

View Full Version : Polycounts, textures etc



jayholland
June 7th, 2011, 06:09 AM
Being a relative newcomer to creating content, I have read much of the arguments concerning keeping the polycount as low as possible, using one or two large texture files as opposed to many smaller ones and so on. I have re-skinned and created some items on the DLS, and my main interest is in creating high quality models of buildings and structures, so I decided, simply as an exercise, to create as detailed a model as possible (within a certain amount of reason!) - mainly to improve my grasp of gmax. I have ended up with a model of Heathfield station in East Sussex, constructed from the original drawings, copies of which are still kept in the house, and from my own observations and photographs. Modelled down to the level of the doorknobs, the polycount is ridiculously high for a building - 35k, but the texture files, eight in all, are quite small. Having made the thing, I decided to see what sort of impact it had on the performance of TRS2009. None at all, as far as I can see, and my computer system is really relatively modest by today's standards. It has occurred to me that perhaps a high polycount and render count is perhaps not so bad on a static object, since, unlike a moving object such as a locomotive, it does not have to be continually re-rendered. Given the massive increase in performance of computers over the past year or two, is this now so much of an issue as in the past? Were I to release this to the DLS, would I be inundated with complaints that it is too large to be useable?

http://www.exbourne.freeserve.co.uk/sta.jpg

The booking office at night - Quite a shock when I first saw it light up - I remember these buildings well. That stained glass really did look like this...

http://www.exbourne.freeserve.co.uk/bkgnight.jpg

leeferr
June 7th, 2011, 08:51 AM
Being a relative newcomer to creating content, I have read much of the arguments concerning keeping the polycount as low as possible, using one or two large texture files as opposed to many smaller ones and so on. I have re-skinned and created some items on the DLS, and my main interest is in creating high quality models of buildings and structures, so I decided, simply as an exercise, to create as detailed a model as possible (within a certain amount of reason!) - mainly to improve my grasp of gmax. I have ended up with a model of Heathfield station in East Sussex, constructed from the original drawings, copies of which are still kept in the house, and from my own observations and photographs. Modelled down to the level of the doorknobs, the polycount is ridiculously high for a building - 35k, but the texture files, eight in all, are quite small. Having made the thing, I decided to see what sort of impact it had on the performance of TRS2009. None at all, as far as I can see, and my computer system is really relatively modest by today's standards. It has occurred to me that perhaps a high polycount and render count is perhaps not so bad on a static object, since, unlike a moving object such as a locomotive, it does not have to be continually re-rendered. Given the massive increase in performance of computers over the past year or two, is this now so much of an issue as in the past? Were I to release this to the DLS, would I be inundated with complaints that it is too large to be useable?

http://www.exbourne.freeserve.co.uk/sta.jpg

The booking office at night - Quite a shock when I first saw it light up - I remember these buildings well. That stained glass really did look like this...

http://www.exbourne.freeserve.co.uk/bkgnight.jpg


I think that it looks great. Go ahead and put it up on the DLS and I'm sure that it'll get tried out.

Mike

paulzmay
June 7th, 2011, 09:16 AM
Firstly - WOW!

That is a truly stunning piece of work.

For a landmark building like that, 8 textures is high, but not too scary (bear in mind that it the number of materials in GMax, not the number of texture files that actually counts). It probably would be possible to create it in a single material (plus one for nightmode), but I imagine that re-mapping it now would be far too large and depressing a task for moderate benefit. Almost all of my (not quite so detailed) work now is done with a single texture file.

35k polys is OK if you use mesh table LOD (supported in versions since TS2009) - that way the high poly version is only seen from close up, and you can use a number of lower detail versions as distance increases. I'd suggest upoading it as is, and perhaps looking at LOD as an update later.

The issue is not so much what performance impact a single building like this will have on a route, it's more a case of the impact if Trainz tries to load 100+ objects of similar complexity. If this was a background building I'd worry, but this will be close to the action, so the detail is warranted.

I hope this is taken in the spirit in which it is intended - I'm a route builder as much as a content creator, so whenever something this gorgeous comes out, I like to know I can use it in my detailed urban routes without performance problems on my rather outdated computers...

All the best,

Paul

I just have to keep going back to look at that nightmode... :udrool:

bekaember
June 7th, 2011, 09:23 AM
Hi jayholland,

Your question is a very good, but very complex and difficult to give the right answer. It always depends on the type of the model Auran/N3V has requierd polygon values for each object types on Trainzdev Wiki.

But these required values can easily confuse the average modeller (like me... :hehe:) so it is better if you make your own measurements (tests) in the game before publishing.
To be honest - in my opinion - the given standarsd by Auran/N3V sometimes quite irreal but sometimes not.

I tell you my own experiences. :)
When I begin to develop something it is very important to know cca. how much object would be placed on a layout... Maybe it sounds stupid, but just a short example: there is a watercrane - probably a layout builder will place max. 10 watercranes on a (huge) layout, but tracks are everywhere... In this examle I don't save polygons on the watercrane model (ok, it won't be 20.000 polys, but i don't care if it is 1000), but tracks - the little is too much...
I am unfamiliar with LOD-s because polys kill the GPU, (too many) Lods kill the CPU...:hehe:
When you make frequently used objects, always try to make "extreme" tests. For example, I develop a catenary system now. It is tested on a 40 tracks yard...

Always try to use phototextures - a perfect phototexture can save a huge amounts of polygons.

Krisz :wave:

jayholland
June 7th, 2011, 03:39 PM
Many thanks to all for your complimentary remarks. I was somewhat surprised to read such terms as 'stunning' and 'gorgeous' until I realised they referred to the model, not me! (I am somehat Hobbesian - nasty, brutish and short...). Seriously, I feel encouraged to go on to develop further high-accuracy items. Your comments tend to bear out what I had concluded - it doesn't really matter how large the model is as long as it is not oft repeated within a route, so an item such as track needs to be as small as possible, but stations occur only once in a few miles.

Early on, I considered using one large texture file, but decided not to for the time being. Having made the mesh, I have actually started on 'mk II' texturing - one large file, but I am not sure how much benefit is likely to accrue from this. The texture file will probably have to be 1024x1024 - that amounts to 3mB - a large file. I use photo textures (the brickwork and tiles are from my own photographs of the building, but my experiments have shown a distinct fall-off in quality at anything much smaller than, to be realistic, 128x128, and I reckon that is pushing it a bit, so the brickwork, hanging and roof tile textures need to be that size anyway. The texture with windows, doors, the coloured glass etc is already 512x256. Trying to map the plain textures such as the paintwork from small areas of a combined image might, I suspect, be a pain. I will continue the experiment...

My other observation on the matter of textures is this: as all artists and photographers know, 'depth' is given to a subject by the way the light strikes and is reflected from it, and that light is constantly changing. In the simulated world, the light source is as in the real world - the 'sun'. Objects appear differently at different times of the day. It is only possible to reproduce the effect of light striking a solid object in the real world by having a 'solid' object in the virtual world. Large photo textures will have been made at one time of day, so the passage of the sun across the model cannot produce the lighting changes that are apparent in the real world. The only way, it seems to me, to do this is to model the detail, so the light can then catch it...

Paulzmay and leeferr- Greetings to you, Gentlemen. I have a few more tweaks to make to the model, which will take a few days. When I have done them, would you care to be so good as to 'beta test' it for me if I email you the cdp? Not to worry if you are too busy, but I feel that some testing by someone with more experience of the simulator than mine would be useful.

Thanks again to all,

Jay

VinnyBarb
June 7th, 2011, 04:39 PM
First let me say: Stunning!

Now to some facts, re poly counts, yes, I guess as Paul above pointed out, if using LODs (Level of Details) with your building, its impact in performance would be somewhat less or negligible. As Paul points out, you see the high poly model LOD close up and if the next lesser LOD (about 50% less polys) kicks in, say, in 20 - 30 meters distance in game, then there will be even less performance penalties there. You can not see all nice details from that distance anyway.

The same should apply with any subsequent LOD, which by a general "rule of thumb" should be about 50% less than the previous LOD.

Performance issues with high poly creations only come about if that model is placed in between other high poly models, as I guess a railway station could be if it is in a city or town in between other buildings, houses, trees, people, cars, roads, tracks, signals, catenaries, locomotives and rolling stock nearby etc.. Then the combination of ALL objects in view in game will impact performance if as said some of the other items are also high polygon sized. By itself, say, if your station is on a desert route with only a handfull of other buildings/items around, then of course the performance penalty would be far less if at all an issue there.

Now, to get extra details from your model close up, consider using normal/bump mapping for some of the textures you use. Bricks, stone work, wood textures etc. spring to mind which will enhance the look of an item immensely (viewed from close up). This is easy to implement on any creation. One can produce one's own bump maps from one own's textures with several plug ins or stand alone Normal/Bump map creating programs. NVidia has an excellent plugin for PhotoShop, which I use extensively and ATI/AMD has a stand alone Normal map creation program to do the same. Both these programs/plugins are available from their respective web sites, usually in their "Developer" section or the like.

There are also some other Normal/Bump map creating programs out there, Google will help you there.

Also, as Paul above points out, placing ALL your different textures on to a single large texture map and using this, say, with one or two material types in GMax, this would be far better than using several different texture maps. This is VERY easy to do with any decent paint program by copying and pasteing and rotating these single textures where needed by placing and assembling all your different textures neatly together with hardly any space in between. To see what I mean, d/load any of my created locomotives and see how I assembled all or most textures on a single map. The size of such texture map can be 2048x2048 but I have seen people using even larger sized maps for Trainz. As the game compresses these when one installs these, there will not be such a big issue of using larger texture maps (to a certain extend of course).

There is also a Content Creators forum section in this AURAN/N3V forum, as not all content creators might read this particular forum here, it might be wise to ask anything there as more content creators will be able to help you if needed.

Keep on doing what you are doing, as said, very well done :Y:

Cheers

VinnyBarb

mrscsi
June 7th, 2011, 04:59 PM
First let me say: Stunning!



There are also some other Normal/Bump map creating programs out there, Google will help you there.

Also, as Paul above points out, placing ALL your different textures on to a single large texture map and using this, say, with one or two material types in GMax, this would be far better than using several different texture maps. This is VERY easy to do with any decent paint program by copying and pasteing and rotating these single textures where needed by placing and assembling all your different textures neatly together with hardly any space in between. To see what I mean, d/load any of my created locomotives and see how I assembled all or most textures on a single map. The size of such texture map can be 2048x2048 but I have seen people using even larger sized maps for Trainz. As the game compresses these when one installs these, there will not be such a big issue of using larger texture maps (to a certain extend of course).


VinnyBarb

I use the Nvidia plug-in for Photoshop and it seems to do a stellar job making normals.

Single map textures is my next project. So far I've just got my head around mapping out each individual object, doing a bunch on one map seems like a bit of a stretch right now but I know that's how everybody does it (or at least most people) because I've examined other people's content trying to figure out how they do it.

I haven't noticed any performance degradation yet with some of my models. Even though the poly count is higher than I would like. I think the last one I did was something like 15,000 polys or so but I had eight different textures at least. But I'm only about a month and a half or two months in so I still have a lot to learn:hehe:

VinnyBarb
June 7th, 2011, 04:59 PM
I forgot to say, if you were reading in the DevWiki about polygon sizes of various items one would like to create for Trainz, forget about these. These applied to creating for TRS04, which was released some 8 or more years ago. Just imagine how PC CPUs and Video cards have improved since then. Hence it is now possible to use many more polygons for one's creation as is detailed in the DevWiki, within reason of course.

On the other hand, not every one has the latest super charged PC with all the latest bells and whistles, so one needs to take this also into consideration when creating. As said above, if using LODs with a creation, even lesser specced PCs will be able to use higher poly models much better.

Or releasing a "beta" creation first and asking others to test it on their PCs, they soon will tell you if your creation is right or not.

Cheers

VinnyBarb

jayholland
June 7th, 2011, 04:59 PM
Thanks, VinnyBarb,

Your post came in seconds after I had finished squeezing all the textures onto a 512x512 image in Photoshop.. I must investigate this Normal Bump mapping - not familiar with it yet. I assume it gives a slight depth to the texture? I have gone square-eved. Off to the pub next door for a beer!

Best wishes,

J.

tomurban
June 7th, 2011, 06:12 PM
Thanks, VinnyBarb,

Your post came in seconds after I had finished squeezing all the textures onto a 512x512 image in Photoshop.. I must investigate this Normal Bump mapping - not familiar with it yet. I assume it gives a slight depth to the texture? I have gone square-eved. Off to the pub next door for a beer!

Best wishes,

J.

Super modeling effort. I would add some chimney smoke if it is not too much trouble.

tomurban

ray_whiley
June 8th, 2011, 01:54 AM
I would add some chimney smoke if it is not too much trouble.




I'm always in two minds about chimney smoke. It looks good in a winter setting, but not in the height of summer. Perhaps two versions of any model are needed - with and without smoke?

Ray

JamesMoody
June 8th, 2011, 03:02 AM
Being a relative newcomer to creating content, I have read much of the arguments concerning keeping the polycount as low as possible, using one or two large texture files as opposed to many smaller ones and so on. I have re-skinned and created some items on the DLS, and my main interest is in creating high quality models of buildings and structures, so I decided, simply as an exercise, to create as detailed a model as possible (within a certain amount of reason!) - mainly to improve my grasp of gmax. I have ended up with a model of Heathfield station in East Sussex, constructed from the original drawings, copies of which are still kept in the house, and from my own observations and photographs. Modelled down to the level of the doorknobs, the polycount is ridiculously high for a building - 35k, but the texture files, eight in all, are quite small. Having made the thing, I decided to see what sort of impact it had on the performance of TRS2009. None at all, as far as I can see, and my computer system is really relatively modest by today's standards.

A single high polygon / high texture count building on an otherwise blank baseboard will not tax a modern (TS2009 or later) version of Trainz.

Hence why you are seeing good performance in isolation.

However, make an entire scene of buildings like that, and you will have very significant performance problems.


Given the massive increase in performance of computers over the past year or two, is this now so much of an issue as in the past?Absolutely yes it is. Consider the impact of the higher draw distance we have now. Whereas in Trainz 2006 you could have up to about 1500m draw distance, you can in 2009 specify up to 5000m. That increase results in over ten times as much scenery potentially showing at once given the same scene. However, all of the change is in the far distance. To make that increase efficient, any scenery object beyond trivial really needs effective LOD.

For your model, while there may be some polygons that can be saved close up, (e.g. the doorknobs you mentioned, and possibly the ridge tiles could be turned into an alphamask), and some textures which could usefully be combined into a map, by far the most important thing to do to it is to add those lower LOD levels.

Think of it this way: you are making the computer do a significant amount of work to display a really nice building. When it fills the screen, and you are studying the details of it, that's great. But when you are a mile away, and it's 6 pixels wide, you don't need that. All that work is wasted effort, that could be used drawing something else better instead.

At that kind of distance, all people need is enough geometry to form the correct silhouette from the angle they are viewing, and enough colouration so that they don't notice the LOD levels change.

(And it's also out here where those many separate textures hurt as well - so doing the texture combining will help with the creation of the LOD levels).


Were I to release this to the DLS, would I be inundated with complaints that it is too large to be useable?I would suspect not - it's low enough polycount to avoid being listed as the most performance impacting asset in any significantly detailed scene by itself, and it's unique enough that no-one will place many instances of them together. Most people will be none the wiser about it's lack of LOD, and the impact it has on performance when they are a mile away.

If it were a house or other less unique building that people would place in groups or sets, then you may see complaints.

jayholland
June 8th, 2011, 06:06 AM
Thanks to all for your useful comments.

Ray Whiley - I agree totally re: chimney smoke. I think it looks completely unnatural in the simulator. One of my first efforts on the DLS was to re-skin kemplen's LBSCR buildings to SR colours. As part of the process I removed the chimney smoke. Domestic chimneys usually produce only a wisp of smoke - a thick black cloud of the stuff generally indicates that it is time to call the fire brigade!

James Moody - When I set out on this little exercise it was with the purpose of getting to know gmax better. I never really intended the model to be for Trainz as such. I actually did not expect it to run in the simulator. The fact that it exported and ran first time, with only two flipped normals, set me thinking that it might be of interest to Trainz users after all. Hence this thread...

Of course! Alpha masking..... I have just actually investigated a single ridge tile. It is 88 polys. There are 154 of them in all. 13,552 polys. OUCH! I have just very quickly made a single ridge tile with a simple box, mapped with an alpha mask for the pierced decoration. It doesn't need ends or a bottom, so it is now 3 polys. Tested in 2009 and it looks fine. Total poly count for new ridge tiles - 462.... There is still room to squeeze it on to my new single texture map. I am now muttering darkly at myself for not having thought of it in the first place - would have saved a considerable amount of fiddling about making them!

Onward. I am going for a cup of coffee in the nice little tea-room in the next village. Once again, thanks to all for your useful comments and suggestions. I can see the day coming when I might actually release this to the DLS...

J.

wreeder
June 8th, 2011, 06:59 AM
Hi Jay,

Take a look at this site:

http://shadermap.com/

Whether you decide to get the program or not, it has a lot of good information.

William

jayholland
June 8th, 2011, 10:41 AM
I have run into a problem. I got the nVidia plug-in for Photoshop. I now have a blue normal map. What do I do now? How do I combine it with my original image?

jayholland
June 8th, 2011, 04:52 PM
I have discovered martinvk's tutorial on getting bump mapping to work in gmax. I followed all the instructions but I can't get it to work.

I have just gone back to Trainz to get a screenshot of the problem, which was that the bit of text was rendered completely flat - and it's working now. Weird! Anyway, I know what to do now. Back to re-mapping the station....