When preparing liveries, attachments, or presets, there are a number of *.lbl files that you may need to create, depending on the number of dynamic materials defined in the Livery XML or the needs of the SimObject being created (whether an aircraft or environmental). These files are essentially JSON(opens in a new tab) format files that are used to link the various parts of the livery / preset / attachment with different dynamic data points, such that things can be adapted to suit the exact situation in which the SimObject is being used.

 

There are multiple types of *.lbl files available, and it should be noted that for attachments, presets, liveries, and the dynamic material systems to access them correctly, they must be part of the same package:

 

  • liveries.lbl
    There is only one of these files per-aircraft, and it goes in the top level liveries folder of the modular aircraft (as explained here).

 

  • loads.lbl
    This file goes in the loads folder of the attachment or preset of the modular SimObject that is using dynamic cargo loads, and requires a sub folder - SimPropContainers - containing the SimProp Container XML files the loads.lbl file will reference (as explained here).

 

  • <texture>.lbl
    There should be one of these files placed in each of the texture library folders containing the textures you wish to use as part of the livery (as explained here).

 

  • <text>.lbl
    There should be at least one of these files placed in the text library folder for the text you wish to use as part of the livery (as explained here).

 

  • material.lbl
    There should be one of these files placed in each of the material library folders containing the materials you wish to use as dynamic materials (as explained here).

 

  • <palette>.lbl
    There should be at least one of these files placed in the palette library folder to define the palettes to use in the livery (as explained here).

 

 

Geographic Keys / Values

Note that you can setup the key / label pairs in the various LBL files such they will work with the simulation adaptive livery system based on geographic location, which - when combined with other label key/values - can be used to generate liveries that will adapt to the location of the aircraft in the world under diverse situations and activities.

 

For these keys and values to be recognised, you will need to ensure that there is a <Label> element with a key of the correct name (listed below) but with no value. You then ensure that there is a corresponding label and key in the appropriate LBL file(s). For example, if you want some adaptive text to be translated based on “MergedCountry”, you would have something like this in the XML:

<DynamicMaterial>
    <MatName>Custom_Text_00</MatName>
    <Type>Text</Type>
    <TextureSize Width="1024" Height="100" />
    <TextLayer>
        <Line>
            <Content>Taxi</Content>
            <FontFamily>Roboto</FontFamily>
            <MacStyle Bold="true" Italic="false" Underline="false"/>
            <FontSize Value="AUTO" Unit="px"/>
            <Color>#111111</Color>
            <Alignement>center</Alignement>
            <LetterSpacing Value="5" Unit="px"/>
        </Line>
    </TextLayer>
    <Labels>
        <Label Key="MergedCountry"/>
    </Labels>
</DynamicMaterial>

 

Then in the text.lbl file you would have something like this:

{
    "LabeledTexts": [
        {
            "Name": "Taxi_Russia",
            "TextLayerAlteration":[
                {
                    "LineId" : "0",
                    "Content" : "Такси"
                }
            ],
            "Labels": [
            {
                "Key": "MergedCountry",
                "Values":["Russia_East", "Russia_EastCentral", "Russia_West", "Russia_WestCentral"]
            }
            ]
        },
        {
            "Name": "Taxi_India",
            "TextLayerAlteration":[
                {
                    "LineId" : "0",
                    "Content" : "टैक्सी"
                }
            ],
            "Labels": [
            {
                "Key": "MergedCountry",
                "Values":["IndianSubcontinent"]
            }
            ]
        },
        // ETC....
    ]
}

 

The adaptive key / value pairs that can be used are as follows:

 

  • Continent”: this key requires a value corresponding to one of the recognised continents in the simulation. Accepted values in the palette library for this are:

 

  • MergedCountry”: this key requires a value corresponding to one of the recognised merged countries in the simulation (a merged country is a collection of countries grouped together based on geographic and socio-cultural parity). Accepted values in the palette library for this are:

 

  • Country”: this key requires a value corresponding to one of the recognised countries in the simulation. Accepted values in the palette library for this are: