The major problem with moving old content to TRS19 standards N3vs 500 limit [solved]

MSGSapper

Trainz route developer
The major problem I am having with moving my older content to TRS19 graphic standards is this pain-in-the-tail error message:

<kuid:439337:102937> VE109: The low-detail meshes total more than 500 polygons. This may have a negative impact on performance: 0: 1530

It used to be just a warning, but since T:ANE is now an error which is preventing me from upgrading of older content past build 3.7 without major mesh re-engineering.

I have looked at some of my meshes and I don't see a lot of room for reducing them as they are only built with the amount of polygons required for that item. The only way I see around this issue is to cut up the item, where that is possible, and make them into multiple meshes which are then assembled together in Surveyor. Doing it this way seems a vast waste of time on my part just to get past this error.

I simply do not understand this arbitrary 500 polygon limit set by N3V, which seems very unrealistic given today's very capable graphic cards. After all, a mesh generally only has what it needs in the way of polygons to get the job done, and no more.

Eventually, if this error is not-reconsidered by N3V, a vast amount of content on the DLS will no longer be usable as the ability to re-engineer the meshes to meet this 500 polygon limit will not be possible for various reasons (ie; no access to the original mesh project files, author no longer around, etc..). An example of this would be the over 6,000 items by Ben Dorsey on the DLS, including bridges used by almost everyone. Having to re-engineer all Ben's complex bridge meshes would be a real nightmare to say the least!

I want to upgrade my content items to the latest PBR graphics standards but don't want to have to re-engineer all my meshes in order to do it.

Are there any other strategies I can use to get around this error message which does not involve re-engineering the base meshes?

Another issue along the same lines is dealing with LOD requirements, which for some meshes are pretty draconian, such as expecting a 20% reduction in polygons from one LOD level to another. While I have read the various Trainz documentation on LOD requirements, and the reasons for it, given today's graphic cards, it seems a total waste of time, when there are other ways of dealing with graphic performance, such as reducing various Trainz graphic settings. Having to make three to four meshes for each of my structures, just to satisfy LOD requirements, seems a lot more work then I really want to do as a freeware content designer.

I would respectfully ask N3V to reconsider this 500 polygon limit and turn it back into just a warning message and re-look the LOD requirements.

Bob
 
I am a scripter, not a content creator, so I have no suggestions for the mesh issue. However, I think the future of trainz is limited if the older material is not reasonably able to be migrated. I do a lot of route building in narrow gauge (Colorado based), and I think most of the assets are older. I think the filter should be downgraded to a warning, not an error.
 
I fear you are wasting your time on this topic.

As a simple example:
Put any of your assets at a distance of 1 baseboard and ask yourself why it still needs over 500 triangles to show that shape.
If you think it still does, please share a screenshot, maybe you found a rare exception.

Reality is that maybe only a few assets made by BenD, our late bridge builder, might still need over 500 triangles at that distance, but most other assets simply don’t.

The challenge really isn’t making a 500- mesh. Most objects are nothing more than maybe a few rectangular shapes at that distance. The challenge is making an in between mesh (if you think your asset needs one for a better transition).

Edit:
For the record: I updated most of my assets that gave the 500+ warning. I am down to 30-40 assets that still give that warning. Most of those have to do with my Oresund bridge.
 
Last edited:
I fear you are wasting your time on this topic.


Most of my time any more seems to be wasted, including on Trainz :)

I have found that the easiest way to improve performance is to lower the draw distance. I understand some aspects of the dilemma, people griping about stuttering, etc. However, I would still like to have the option of using unwise content at my discretion. Maybe as Trainz caches the session, it could pop up a window warning about piggish assets.
 
Having to make three to four meshes for each of my structures, just to satisfy LOD requirements, seems a lot more work then I really want to do as a freeware content designer.Bob



My sentiments exactly. I tried to do some LOD's on a railcar once and it was such a royal pain that was enough for me. So I don't waste my time trying to include LOD meshes. If anyone dowsn't want to use my assets because they DON'T have LOD's then so be it. I don't care.
 
I fear you are wasting your time on this topic.

As a simple example:
Put any of your assets at a distance of 1 baseboard and ask yourself why it still needs over 500 triangles to show that shape.
If you think it still does, please share a screenshot, maybe you found a rare exception.

Reality is that maybe only a few assets made by BenD, our late bridge builder, might still need over 500 triangles at that distance, but most other assets simply don’t.

The challenge really isn’t making a 500- mesh. Most objects are nothing more than maybe a few rectangular shapes at that distance. The challenge is making an in between mesh (if you think your asset needs one for a better transition).

Edit:
For the record: I updated most of my assets that gave the 500+ warning. I am down to 30-40 assets that still give that warning. Most of those have to do with my Oresund bridge.

In your case what you say might be true for the types of things you are designing.

You have 277 total assets listed in a DLS search for build 3.9 or above. Of these 174 are listed in the category of buildings or structures. I looked at these 174 items and most are trenches, culverts and other very simple rectangular items. Only less ten have any real complexity at all (ie; the transformers as an example).

Now compare this to building and structures that are more then just simple boxes such as my recently completed turntable with quarter roundhouse that clocks in at 1,164 triangles for the roundhouse portion alone and added to this a mesh of 222 triangles for the turntable spinner. How do you reduce this and still keep it a standard and reasonably prototypical roundhouse and round turntable? Also how do you reduce complex structures like timber trestle bridges and still keep them faithful to the prototype?

As long as a mesh only has to contend with modelling square or rectangular objects, such as the vast majority of your items, there is no issue. The problem comes with trying to make any kind of more complex object that is not square or rectangular, such as curves, circles, toruses, cylinders, cones, etc or has lots and lots of individual components such as a timber trestle bridge has.

If all N3V wants is simple box or rectangular structures for build 3.9 or beyond then by all means keep the 500 polygon limit in place. Given the state of current graphics cards, and the ability in Trainz to tailor performance by tweaking a whole host of settings, that artificial 500 polygon limit is doing more damage then good in my opinion and holding back the movement to PBR textures. As an example the reason I could not make my recent track release have PBR textures was simply because of that 500 polygon error limit. Most of the meshes were under the limit but the stretcher, which is a much more complex shape then all the other meshes, was over the 500 limit (558 triangles).

The question here: should the artist/creator's vision be sacrificed simply to appease an artificially imposed polygon limit?

Bob
 
On my final carriages the main LODs were approx 20,000 polys and the third LODs were 225 polys I decided to add a fourth LOD for extreme distance (1%) which were merely a few textured boxes amounting to 22 polys. When I tested these they were never visible. The point I'm making is if you can get away with using the LOD method used for rolling stock you may be able to satisfy the criterion by using your current mesh at 100% and simply supplying a simple rectangle for 1%.

Ken
 
However the lm.txt method is not supposed to be used for buildings however for TRS19 you can specify the lod distances.


From the Wiki..... http://online.ts2009.com/mediaWiki/index.php/KIND_Mesh#mesh-table-lod-transition-distances

[h=2]mesh-table-lod-transition-distances[/h] The "mesh-table-lod-transition-distances" tag (float array) determines the distances in meters at which each mesh-table LOD level ends. This means that there is effectively one more mesh-table LOD than entries in this array. With an empty array (i.e. to tag value), no mesh-table LOD is used. With three values in the array, four mesh-table LOD indices are used (ie. 0, 1, 2, 3). For small objects, it may be appropriate to not provide any meshes for the final mesh-table LOD index, effectively giving some number of meaningful LOD variants and a final "null" LOD where no rendering occurs.
This is used in conjunction with the "lod-level" tag in the "mesh-table" Container. Note that mesh-table LOD is an entirely separate concept from LM.txt file format LOD. You should not attempt to configure the LM.txt transition distances using this tag. It is, however, possible to combine the effects.
This tag does not override user settings for draw distance and scenery detail. If a LOD transition takes place beyond the master draw distance for that object type, it will never be visible. Furthermore, at lower detail settings the LOD ranges may be adjusted to be more aggressive than specified by the content creator.
 
In all my time in the now moribund TrainzDev group, the message was LOD, LOD, and more LOD. I recall we argued about those poly limits back then to no avail. I very much doubt N3V will agree to your request but no harm in asking.

In the last couple of versions of Trainz, there have been more changes to LOD options but they would be for new models.

Reworking old models for LOD and possibly PBR, doesn't make a lot of sense as those models, albeit with warnings, will work fine for some time. But, if that appeals then go right ahead. I'm redoing one of my locos now.

I agree that large buildings, bridges and any large structure are an issue. In the past I've used transparency but that only works on lattice objects such as a bridge. One day I might try it on one of Ben's bridges. He wouldn't mind.

For a building you will likely need a simple boxy mesh and probably a new texture/material. Getting that to appear natural and consistent with previous LODs will probably be a pain.

I don't mind LOD. It's commonly used in the gaming industry but, in my experience, a little differently. For example, making a very detailed model and using that just to produce detailed normal and AO maps that are used with a lower poly model that, in our case, is used for LOD0.

I don't understand the track stretcher problem. Surely the stretcher can be LODed as well? It's only a small object but I would give that a try.
 
On my final carriages the main LODs were approx 20,000 polys and the third LODs were 225 polys I decided to add a fourth LOD for extreme distance (1%) which were merely a few textured boxes amounting to 22 polys. When I tested these they were never visible. The point I'm making is if you can get away with using the LOD method used for rolling stock you may be able to satisfy the criterion by using your current mesh at 100% and simply supplying a simple rectangle for 1%.

Ken

Before this thread heads in a direction I did not intend, please note that the major issue for me at this time is the 500 Polygon limit which generates the following error message for builds above 3.7:

VE109: The low-detail meshes total more than 500 polygons. This may have a negative impact on performance: 0: 1530

LOD is also an issue, and I also mentioned it, but doesn't prevent me from upgrading content above 3.7 as that error message does now.

N3V needs to consider going back to making it a warning, not an error......

Bob
 
I don't understand the track stretcher problem. Surely the stretcher can be LODed as well? It's only a small object but I would give that a try.

The stretcher issue involves cylinders or round shapes. There is a trade off in sub-divisions with such objects. In Blender the more sub-divisions (ie; triangles), the more natural the cylinder will appear. The less sub-divisions the more rougher the cylinder will appear. I prefer it to look as realistic and smooth as possible, and practical, which means more subdivisions. BTW this is a common problem with anything curved/rounded, as I think you know.

I recently completed re-working the mesh of the Laurel Line Street Light #8 by LWVRR (aka Scott) as a new item with a light cone and some other features (BTW now available for download on the DLS). It is a small but beautiful highly complex shape item that clocks in at 1,370 triangles (not counting nightmode!). Here is what the mesh looks like:

Lamp-Mesh-Example.jpg


Here is what the item looks like in Surveyor:

Lamp-Mesh-Example-2.jpg


To get this beautiful shape requires a lot of triangles. Sure I could make a simple box light or cylinder light but where's the art or beauty in that?

Now how do I keep that beautiful lamp and still meet the 500 or less polygon limit?

Bob
 
Last edited:
Now put it at a baseboard distance and make another screenshot.
Still see the details?
Still requires over 500 triangles to show what you see?
 
My thoughts...
I'm splitting large buildings into kit parts Thus a station I recently constructed that came in at around 1400 polys is three assets each under 500, wasn't any bits I could chop off without ruining it on the first lod.

A kit does have some advantages in that you can mix and match parts for a different design building.

Moving on....
Just built a couple of signal boxes where I used 4 levels of lod, firstly in Max optimising the mesh or meshes and removing bits that you can't see such as the base and welding overlapping bits together, often looses a fair amount of triangles. lod 1 i removed the inside bits like lever frames, lod 2 remove the insides of the 3d window frames and change to 2 sided material, remove the floor and roof lining, lod 3 remove the roof decorations and interior walls etc that you can't see anyway.
Alternatively I could have replaced the 3d windows with alpha masked planes which I have done on other items however I got well below 500 so not worth the effort.

Generally for buildings things like guttering downpipes, chimney pots can be lod reduced from tubular to rectangular and smoothed on the second lod and removed for the third, can you see a downpipe from 500 yards away? Pretty sure I can't. alternatively just include appropriate screenshots and texture the final mesh with that, doesn't have to be accurate as its too far away to tell.

One thing though when constructing and testing, don't use a TRS19 build until all the lods are done or it will probably error on you!

Boxes work fine for lowest lod on most rolling stock and none Steam locos, a couple more boxes maybe required for Steam, using mesh("0.01") in lm.text shoves the boxes so far away you are never going to see it anyway. For intermediate lods, can you from say 200 yards away, see handrails, couplings, door handles seats, levers gauges if modelled on main mesh rather than interior etc? if not loose 'em.

Turntables being animated, you can use lm.txt on them which may give some mileage. I have made a couple that just crept in under 500 though, so it should be possible, need to compromise between an actual circle or close enough that it's not too obvious it's not when smoothed.
 
My thoughts...
I'm splitting large buildings into kit parts Thus a station I recently constructed that came in at around 1400 polys is three assets each under 500, wasn't any bits I could chop off without ruining it on the first lod.

I think you just made my point here regarding the 500 polygon limit. Instead of sacrificing appearance of your structure you simply cut it into separate meshes which are then assembled into the entire structure at use time.

Since the total of all the meshes still adds up to the original 1400 polygons, what is the point of N3V imposing the artificial limit to begin with? Other then extra work for us developers in cutting up the structures to get around the limit, nothing has really changed here as the polygon count is still the same....

Bob
 
Now put it at a baseboard distance and make another screenshot.
Still see the details?
Still requires over 500 triangles to show what you see?

Unless I misunderstand you, you seem to be dealing with LOD requirements, and not the 500 Polygon issue, which for me is the more major issue, as I stated above.

Bob
 
VE109: The low-detail meshes total more than 500 polygons. This may have a negative impact on performance: 0: 1530

LOD is also an issue, and I also mentioned it, but doesn't prevent me from upgrading content above 3.7 as that error message does now.

N3V needs to consider going back to making it a warning, not an error......
All of this is not a major problem at all. All you need to do is add a simple *.lm.txt file to turn off the mesh at an appropriate distance and reference this in the config file - no need to create new meshes at all. I must admit though that this didn't work in early builds of T:ANE, it took N3V a long time to realise that turning the mesh off completely was a valid lowest LOD level.

I'm for leaving the lack of LOD as an error - the content is not efficient and nobody should be using it in T:ANE or TRS19. Why should you be drawing any triangles at all when you are 5km away from the object? Hell, at least for UK rolling stock you can't see anything at all at a range of 1km. And people keep complaining about stuttering...

Paul
 
All of this is not a major problem at all. All you need to do is add a simple *.lm.txt file to turn off the mesh at an appropriate distance and reference this in the config file - no need to create new meshes at all. I must admit though that this didn't work in early builds of T:ANE, it took N3V a long time to realise that turning the mesh off completely was a valid lowest LOD level.

I'm for leaving the lack of LOD as an error - the content is not efficient and nobody should be using it in T:ANE or TRS19. Why should you be drawing any triangles at all when you are 5km away from the object? Hell, at least for UK rolling stock you can't see anything at all at a range of 1km. And people keep complaining about stuttering...

Paul

Sigh. I am beginning to regret that I even mentioned LOD here, as for me it is very much a secondary issue.

How does what you say deal with the 500 Polygon limit problem?

Bob
 
Pardon my extreme ignorance on the topic of meshes and polycounts but could the parties in this discussion clear up one issue that I have noticed in the thread. It concerns the discussed error message

VE109: The low-detail meshes total more than 500 polygons.

The key term here is low-detail meshes. Now I fully understand the LOD concept and how an asset that is at LOD0 level can, and should, be displayed in full polycount glory even down to the nail holes in the woodwork. To me a low-detail mesh is one that is designed to be shown at a distance, LODx where x is some number greater than 0 (and arguably greater than 1).

So how is TANE/TRS19 deciding that a mesh should be a low-detail mesh (with an arbitrary poly limit) and not a high-detail one with no limit? Is it applying this limit rule to any asset that does not use LOD or does it apply only to meshes that are identified as LODx (x>0)?

Would not a possible solution (again out of ignorance) be to only apply the warning/error to LOD meshes and those assets without LOD can be used at the users peril?

My thoughts only.
 
Sigh. I am beginning to regret that I even mentioned LOD here, as for me it is very much a secondary issue.

How does what you say deal with the 500 Polygon limit problem?
LOD is exactly the issue. Trainz is complaining that the lowest LOD mesh it can find is more than 500 triangles (not polys) - if the asset has no LOD then the lowest LOD mesh is the same as the highest one.

What I said solves the problem because you then have effectively two meshes, the original with say 10K triangles and another with 0 because it's turned off at an appropriate distance. You wanted to know what you could do to remove the error without messing with the original mesh or creating new ones and now you know.

Paul
 
Last edited:
Back
Top