Not sure why ModelConvertorX is changing this. It might actually be ‘fixing’ something intentionally, but going to see if I can get the model out without modification.
Update: Figured out why there is a difference. The official applies mesh operations in the gltf, whereas it seems ModelConverterX applies it to the model (like one would in Blender).
There are 4 parts in the model, 3 of them is scaled up by a factor of 45 and the other 78. This is explains the small bounding box. The potential bug here is that MSFS does not consider scaling options in gltf files. I think I have an idea how I can repro this
Managed to recreate the issue exactly. It was as I suspected in the update of previous post.
Steps:
Open my version in Blender
Scale root node to 0.022
Apply the scaling transform in Blender
Scale root node to 45 (back to same size now, but dont apply in Blender)
Export GLTF file
Now both mine and the official model only loads about 1nm from the location.
I am just a Blender beginner, but one of the first things I learnt was when doing any transforms, you ALWAYS apply it as it generally leads to unexpected results.
So basically the people that made these POI’s in 3DSMax just scaled up the model without applying it (as in Blender, not sure what it is in 3DSMax). This was the mistake that exposed the bug.
The bug is that Object LOD ignores the scaling factor when it tries to determine when to load the model. In this case, you need to be 45 times closer to the model than you should be for it to get loaded.
Some other fun facts:
Terrain LOD and Object LOD is simply draw distance, it has nothing to do with detail/quality at all.
Object LOD has a logarithmic scale. IE if at 100 the object size is 1.0, then at 50 it will be 0.7 and at 200 it is 1.4.
PS: Imagine the OP just silently reported this to Zendesk, the bug would have just gone into the blackhole.
Edit: It should be quite easy to detect all the cases where transforms have not been applied in the BGL files, but unfortunately this is not something we as users can fix. (would if I could)
I was always told that when scaling in 3DS Max, that one should always scale at the vertex level, having welded where necessary, of course. Stood me in good stead for years.
That’s awesome many thanks. No I never submitted anything to Zendesk, my fear is it’ll just get lost in the Void anyway. This really needs Urgent Attention by the Devs and not Filed away to be looked at in X number of Weeks/Months.
Are any Devs here to be Tagged perhaps? (he says hopingly)
I think so but I’ve never used it so cannot be sure. Manipulation of polygons will inevitably lead to mesh distortions along with poor rendering performance. I wonder if that affects the LOD and why it’s so poor.
This issue is with MSFS deciding at what point it should load the model. Once it is loaded, you can slew away for a good 10-20nm and still see it. It seems to actually compensate for scaling but only after it loaded the model.
Just throwing this out there, but would it be possible to convert the modelLib.bgl file to xml, add the LOD code where it’s missing, then convert the xml file back to the bgl file?
Congratulations to all in this topic nailing this one down!
Your comment about stop rendering then starting again reminds me something I’ve posted in the forum and Zendesk some time ago. I’ve observed the same pattern with Trees where as you get closer, they disappear then reapear:
Being one among others documenting the exact problems with LOD and Trees for months, I was indeed quite puzzled they were answering as if they were just discovering there could be an issue with LOD and Trees. It is especially even more troubling to me that IIRC, in a previous Q&A the same topic was brought to their attention with the same reaction.
@Jummivana
I believe the question of LOD bugs can’t just be ignored again in the next Q&A and it is important this is officially acknowledged and being worked on once for all. We’re counting on you!
I agree with ALL! This would not have possible with the excellent and quick feedback from others (especially without external ‘noise’). The hints all made it possible, I just connected the dots and created a faithful repro of the issue