• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Multiple ProjectedMesh

There's a big disconnect between the DevMode editor, the sim display of addons, and the fspackagetool. I can add Projected mesh to my hearts content in the DevMode Editor, and I can save it. But to re-load the saved XML causes a CTD from the editor. But I can take that saved XML and it compiles just fine from the fspackagetool... showing a bug residing in the DevMode.

Placing the compiled airport in the Community folder, it loads just fine, but starting at that airport only shows a few of the projected meshes. This is a bug in the sim itself.
 
There's a big disconnect between the DevMode editor, the sim display of addons, and the fspackagetool. I can add Projected mesh to my hearts content in the DevMode Editor, and I can save it. But to re-load the saved XML causes a CTD from the editor. But I can take that saved XML and it compiles just fine from the fspackagetool... showing a bug residing in the DevMode.

Placing the compiled airport in the Community folder, it loads just fine, but starting at that airport only shows a few of the projected meshes. This is a bug in the sim itself.
Can fully confirm that!
I usually compile a scenery with projected meshes first (because changes are not really reliably reflected in the active simulator) and then start the sim. Only a few of the projected meshes are shown then (and lots of vegetation poking through here and there), but there's no problem with CTDs.
 
There's a big disconnect between the DevMode editor, the sim display of addons, and the fspackagetool. I can add Projected mesh to my hearts content in the DevMode Editor, and I can save it. But to re-load the saved XML causes a CTD from the editor. But I can take that saved XML and it compiles just fine from the fspackagetool... showing a bug residing in the DevMode.

Placing the compiled airport in the Community folder, it loads just fine, but starting at that airport only shows a few of the projected meshes. This is a bug in the sim itself.
I have been through all those steps myself. I also faced CTD using the editor with only two projected meshes if they were complex
A single mesh with many polygons and not one single multi object ended to show some of the polygons
I even tried with decal materials and set priority.
What I got was the grid of the polygons and a yellow warning at the mesh (don’t remember what exactly)
Can fully confirm that!
I usually compile a scenery with projected meshes first (because changes are not really reliably reflected in the active simulator) and then start the sim. Only a few of the projected meshes are shown then (and lots of vegetation poking through here and there), but there's no problem with CTDs.
I can confirm that too.
This is another thing I tried.
I deleted the pm from the xml
I loaded it to dev mode and worked. I did some changes to other staff and saved it.
I opened the xml and added the pm lines again.
I opened the sim and the package from project editor and hit the build. Package builded.
When placed to community folder only a few of the meshes where shown.
I really can’t find a thing I did not try.

-=Manwlo=-
 
I tried to edit the XML code. I use a regular expression search all ( groupIndex="(.*?)" ) and replace with nothing. Also ( displayName="(.*?)" ) and replace with nothing. It compiles with the fspackagetool. This removed all the groupIndex=whatever including aprons and taxilines...

I had 5 objects... all copies, and rotated the last PM. Added to the Community folder, only the last 2 PMs display (including the rotated). Loading the project back to the DevMode editor CTDs the sim.

From bglcomp.xsd:

XML:
<xs:complexType name="ctProjectedMesh">
    <xs:sequence>
        <xs:element name="SceneryObject" type="ctSceneryObject" minOccurs="1" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="displayName" form="unqualified" type="xs:string" use="optional"/>
    <xs:attribute name="parentGroupID" form="unqualified" type="xs:nonNegativeInteger" use="optional"/>
    <xs:attribute name="groupIndex" form="unqualified" type="xs:nonNegativeInteger" use="optional"/>
    <xs:attribute name="priority" form="unqualified" type="xs:integer" />
    <xs:attribute name="drawOrder" form="unqualified" type="xs:string" />
    <xs:attribute name="surface" form="unqualified" type="stSurface" />
    <xs:attribute name="groundMerging" form="unqualified" type="stBool" />
</xs:complexType>

Note the use="optional".

The editor forcing the displayName and groupIndex is causing half the problem. The other half is the sim itself by only showing a few (2?) of the ProjectedMeshes. I suspect something similar is limiting the display of Simobjects displayed as scenery as not all will show in the sim.
 
I think I have a valid work-around. You have to use the fspackagetool for compilation. MSFS allows us to have multiple Airport entries of the same airport. The sim seems to limit us to 2 instances of ProjectedMesh per airport definition. But using multiple definitions, we can have multiple ProjectedMesh within the same BGL. The following is valid, and allows 4 PMs (two in each Airport entry). The default airport is unaffected by the added PMs.

XML:
<?xml version="1.0"?>
<FSData version="9.0">
    <Airport state="Wisconsin" city="Delavan" name="Lake Lawn" ident="C59" lat="42.63413775712250" lon="-88.60113278031351" alt="296.56999999999999" magvar="0.000000" trafficScalar="0.700000" airportTestRadius="5000.00000000000000" applyFlatten="FALSE" isOnTIN="FALSE">
        <ProjectedMesh priority="0" drawOrder="APRON" surface="ASPHALT" groundMerging="TRUE">
            <!--SceneryObject name: AL_Hamra_Tower-->
            <SceneryObject lat="42.631072" lon="-88.60480588291323" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
                <LibraryObject name="{D7D4766C-BBDB-4223-839E-6BAC0D10AD21}" scale="1.000000"/>
            </SceneryObject>
        </ProjectedMesh>
        <ProjectedMesh priority="0" drawOrder="APRON" surface="ASPHALT" groundMerging="TRUE">
            <!--SceneryObject name: AL_Hamra_Tower-->
            <SceneryObject lat="42.6369" lon="-88.59881372985460" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
                <LibraryObject name="{D7D4766C-BBDB-4223-839E-6BAC0D10AD21}" scale="1.000000"/>
            </SceneryObject>
        </ProjectedMesh>
    </Airport>
    <Airport state="Wisconsin" city="Delavan" name="Lake Lawn" ident="C59" lat="42.63413775712250" lon="-88.60113278031351" alt="296.56999999999999" magvar="0.000000" trafficScalar="0.700000" airportTestRadius="5000.00000000000000" applyFlatten="FALSE" isOnTIN="FALSE">
        <ProjectedMesh priority="0" drawOrder="APRON" surface="ASPHALT" groundMerging="TRUE">
            <!--SceneryObject name: AL_Hamra_Tower-->
            <SceneryObject lat="42.63636" lon="-88.59643407392186" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
                <LibraryObject name="{D7D4766C-BBDB-4223-839E-6BAC0D10AD21}" scale="1.000000"/>
            </SceneryObject>
        </ProjectedMesh>
        <ProjectedMesh priority="0" drawOrder="APRON" surface="ASPHALT" groundMerging="TRUE">
            <!--SceneryObject name: AL_Hamra_Tower-->
            <SceneryObject lat="42.63517" lon="-88.59808119902701" alt="0.00000000000000" pitch="0.000000" bank="0.000000" heading="-179.999995" imageComplexity="VERY_SPARSE" altitudeIsAgl="TRUE" snapToGround="TRUE" snapToNormal="FALSE">
                <LibraryObject name="{D7D4766C-BBDB-4223-839E-6BAC0D10AD21}" scale="1.000000"/>
            </SceneryObject>
        </ProjectedMesh>
    </Airport>
</FSData>

If you load this in the DevMode and try to put it in the Editor, you'll get a CTD. This is an XML solution, and will create a single airport BGL. You can add this work-around code to the end of your airport XML and you'll still be valid. So we can still have multiple PMs... just not through the DevMode.
 

Attachments

  • PM Test.zip
    14 KB · Views: 134
Last edited:
Guys, the problem is being looked at right now.

I've been asked by Asobo to send a sample project that CTD, so they can fix it the proper way so, don't waste time doing workarounds ( the additional airports was of course the first thing that come to mind, but it put unnecessary extra files in the sim which all increase a bit ram consumption and startup time ), because I'm sure it will be fixed in the proper way soon enough.

The real problem is the created .BGL is invalid at the binary level, some guids from projected mesh that in XML are different, end up duplicated and with copied coordinates (not the one you put in the XML) in the .BGL, and the same source XML compiled with the previous version of the sim is different and is correct. This is likely confusing the Scenery Editor, resulting in a CTD, but at the source, the resulting .BGL is invalid.
 
The fix I came up with is a proper method. It just limits the ProjectedMesh to 2 entries per XML airport. You can have as many XML airport entries as you like. The XML is valid now and in the future. It is a work-around, yes. But waiting for Asobo to fix it (assuming it does fix it), just delays the project even more. Nothing wrong with the above XML example.
 
The fix I came up with is a proper method. It just limits the ProjectedMesh to 2 entries per XML airport. You can have as many XML airport entries as you like. The XML is valid now and in the future. It is a work-around, yes. But waiting for Asobo to fix it (assuming it does fix it), just delays the project even more. Nothing wrong with the above XML example.

I never said the method is not "proper" or it won't work, it's just that, considering this will surely fixed soon, it's a waste of effort to create multiple airport definitions which, even if they are in the same .BGL, are not entirely "free", since the sim will still need to keep a table in somewhere in memory for multiple airport definitions with the same ICAO, and each airport adds size to the .BGL, hence the memory used so, while I agree that if you are really hard-pressed to release something before the problem get fixed, if *everybody* rushed patching every single scenery out there, with hundreds of payware and who knows how many freewares around, for an issue that will eventually will go away and nobody will remember anymore.

I'd say it's more a matter of principle: while the sim is still actively developed, it's everyone's best interest that it would perform according to the SDK and so, since this is clearly a bug (worked just fine before), it's best to push for fixes, instead of using temporary workarounds. Those might be needed in a different situation, should the sim being abandoned for years like it happened for FSX, but not now.
 
It worked for me, but I needed to put the "fake" airports that contained the projected mesh above the real airport with the runways, taxiways, parking spots, etc... otherwise when selecting the airport in the menu there would be no runway or parking to select from

Thanks for the heads up Rhumbaflappy on the workaround

Also thanks Virtuali for sharing the info that it is in fact a bug, some companies call bug "features", so it's nice they recognize this and will address it
 
Seriously, ive been using aprons instead of projected mesh and life has been so much easier. I put the difference side by side and its literally the exact same outcome.

Substance makes my comp and the albedos literally look exactly the same, if anything even better with aprons.

No matter what is on the ground it will all look the same when close up anyways....theres an iriversable normal bumpy map on all the grounds. Why bother with PM anymore? Waste of time. I can do it all the same with an apron.
 
Hello. With the last update (v.1.13.17.0), it seems that now it load the project in the editor with 3 or more projected meshes. ¿Can you confirm that? Thanks
 
Seriously, ive been using aprons instead of projected mesh and life has been so much easier. I put the difference side by side and its literally the exact same outcome.

Substance makes my comp and the albedos literally look exactly the same, if anything even better with aprons.

No matter what is on the ground it will all look the same when close up anyways....theres an iriversable normal bumpy map on all the grounds. Why bother with PM anymore? Waste of time. I can do it all the same with an apron.

I COULD NOT AGREE MORE!

Legit NO advantage to PM's, but heaps of advantages to APRONS like, real time previews, easy material placement, less bugs, less time drawing verts/unwrapping/texturing/exporting. I used them for my first two sceneries, now ask myself why. I guess many old time devs are very set in their ways, which is understandable.
 
Back
Top