LIVERY XML Examples
The examples on this page are all taken from the livery.xml
file of a modular SimObject. This file goes in the model folder of a part of a livery and is used to define the LOD properties for the model part, as well as any dynamic elements. LOD setup is explained on the LOD Selection System page, and so here we will show examples of the setup of the different types of dynamic materials.
Adaptive Text Example
The following XML is an example of how adaptive text is set up (note that the material uses the "language_code" label key, and so will be translated based on the contents of the <text>.lbl
file):
<?xml version="1.0" encoding="UTF-8"?>
<ModelInfo version="1.0" guid="<!-- GUID HERE -->">
<LODS>
<!-- LOD DATA HERE -->
</LODS>
<DynamicMaterial>
<MatName>Custom_Text_00</MatName>
<Type>Text</Type>
<TextureSize Width="1024" Height="100" />
<TextLayer>
<Line>
<Content>Special Air Service</Content>
<FontFamily>Roboto</FontFamily>
<MacStyle Bold="true" Italic="false" Underline="false"/>
<FontSize Value="AUTO" Unit="px"/>
<Color>#111111</Color>
<Alignement>center</Alignement>
<StrokeColor>#dddddd</StrokeColor>
<StrokeWidth Value="10" Unit="px"/>
<LetterSpacing Value="5" Unit="px"/>
</Line>
</TextLayer>
<Labels>
<Label Key="Category" Value="ActivityName"/>
<Label Key="Activity" Value="TOR"/>
<Label Key="language_code"/>
</Labels>
</DynamicMaterial>
</ModelInfo>
Adaptive Texture Example
The following XML is an example of how adaptive textures are set up, where the final image will be selected based on the labels from a <texture>.lbl
file:
<?xml version="1.0" encoding="UTF-8"?>
<ModelInfo version="1.0" guid="<!-- GUID HERE -->">
<LODS>
<!-- LOD DATA HERE -->
</LODS>
<DynamicMaterial>
<MatName>CUSTOM_Image_00</MatName>
<EnforcePlayerCompany>EnforceLogo</EnforcePlayerCompany>
<Type>Texture</Type>
<Labels>
<Label Key="Category" Value="Logo"/>
<Label Key="Activity" Value="AEA"/>
</Labels>
</DynamicMaterial>
<DynamicMaterial>
<MatName>CUSTOM_Image_01</MatName>
<Type>Texture</Type>
<Labels>
<Label Key="Category" Value="Sticker"/>
<Label Key="Activity" Value="AEA"/>
<Label Key="Format" Value="2x1"/>
<Label Key="Country" Value="Any"/>
</Labels>
</DynamicMaterial>
</ModelInfo>
Adaptive Material Example
The following XML is an example of how adaptive materials are set up, where the final material will be selected based on matching labels within the material.lbl
file:
<?xml version="1.0" encoding="UTF-8"?>
<ModelInfo version="1.0" guid="<!-- GUID HERE -->">
<LODS>
<!-- LOD DATA HERE -->
</LODS>
<DynamicMaterial>
<MatName>Mat_Livery_1</MatName>
<Type>Material</Type>
<Labels>
<Label Key="Category" Value="Material"/>
<Label Key="Country" Value="Any"/>
</Labels>
</DynamicMaterial>
<DynamicMaterial>
<MatName>Mat_Livery_2</MatName>
<Type>Material</Type>
<Labels>
<Label Key="Category" Value="Material"/>
<Label Key="Country" Value="Any"/>
</Labels>
</DynamicMaterial>
</ModelInfo>
Adaptive Palette Example
The following XML is an example of how adaptive color palettes are set up, where the first is simply finding a palette from the <palette>.lbl
file based on the associated labels, and the second is defining random colours:
<?xml version="1.0" encoding="UTF-8"?>
<ModelInfo version="1.0" guid="<!-- GUID HERE -->">
<LODS>
<!-- LOD DATA HERE -->
</LODS>
<DynamicMaterial>
<MatName>Flag_01</MatName>
<Type>Color</Type>
<PaletteId>1</PaletterId
<Labels>
<Label Key="Category" Value="Palette"/>
<Label Key="Country" Value="Any"/>
</Labels>
</DynamicMaterial>
<DynamicMaterial>
<MatName>Fuselage_1</MatName>
<Type>Color</Type>
<RandomColors>
<color>#278d12</color>
<color>#1f8557</color>
<color>#e7468e</color>
<color>#ea713a</color>
<color>#a6eb72</color>
<RandomColors>
<Labels>
<Label Key="Category" Value="Palette"/>
<Label Key="Activity" Value="FEF"/>
</Labels>
</DynamicMaterial>
</ModelInfo>