VISUAL EFFECTS LANDING TEMPLATES

This page lists some examples of the XML used to create Visual Effects using specific used model <Behavior> templates. There are three categories of templates:

Each category requires a specific setup to work properly in-game, which is what this page explains.

 

 

Single Effect Contact Point

These templates have the form:

ASOBO_[EFFECT]_CP_LANDING_FX

Where the [EFFECT] part of the template name is one of the following:

[EFFECT] Description
WET For landing on a wet surface with small aircrafts
WET_MD For landing on a wet surface with medium-sized aircrafts
WET_LG For landing on a wet surface with large aircrafts
SMOKE For landing on concrete/asphalt with small aircrafts
SMOKE_MD For landing on concrete/asphalt with medium-sized aircrafts
SMOKE_LG For landing on concrete/asphalt with large aircrafts
DUST For landing on sand/dirt with any aircraft
GRASS For landing on grass with any aircraft
SNOW For landing on snow with small and medium-sized aircrafts
SNOW_LG For landing on snow with large aircrafts
WATER For landing on water with any aircraft

 

Contact point based templates use the contact point provided by the <FX_CONTACT_POINT_ID> XML element which is itself defined in the flight model configuration file using the [CONTACT_POINTS] parameters (wheel, floaters, skis, scrape etc...).

 

For example, this would be the typical setup to spawn smoke and water landing effects on a medium-sized aircraft with three landing gears and two skis. First the [CONTACT_POINTS]:

[CONTACT_POINTS]
point.0 =  1, etc... ; <- central wheel
point.1 =  1, etc... ; <- left wheel
point.2 = 16, etc... ; <- left ski front
point.3 = 16, etc... ; <- left ski back
point.4 =  1, etc... ; <- right wheel
point.5 = 16, etc... ; <- right ski front
point.6 = 16, etc... ; <- right ski back

And corresponding behavior XML file would look like this:

<?xml version="1.0" encoding="UTF-8"?>
<ModelInfo>
    <Behaviors>
        <Include ModelBehaviorFile="Asobo\Generic\FX.xml"/>
        <Component ID="LANDING_FX">
            <UseTemplate Name="ASOBO_SMOKE_MD_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>0</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_SMOKE_MD_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>1</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_SMOKE_MD_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>4</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>0</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>1</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>2</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>3</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>4</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>5</FX_CONTACT_POINT_ID>
            </UseTemplate>
            <UseTemplate Name="ASOBO_WATER_CP_LANDING_FX">
                <FX_CONTACT_POINT_ID>6</FX_CONTACT_POINT_ID>
            </UseTemplate>
        </Component>
    </Behaviors>
</ModelInfo>

 

 

Single Effect Gear

These templates have the form:

ASOBO_[EFFECT]_GR_LANDING_FX

Where the [EFFECT] part of the template name is one of the following:

[EFFECT] Description
WET For landing on a wet surface with small aircrafts
WET_MD For landing on a wet surface with medium-sized aircrafts
WET_LG For landing on a wet surface with large aircrafts
SMOKE For landing on concrete/asphalt with small aircrafts
SMOKE_MD For landing on concrete/asphalt with medium-sized aircrafts
SMOKE_LG For landing on concrete/asphalt with large aircrafts
DUST For landing on sand/dirt with any aircraft
GRASS For landing on grass with any aircraft
SNOW For landing on snow with small and medium-sized aircrafts
SNOW_LG For landing on snow with large aircrafts
WATER For landing on water with any aircraft

 

These templates use the standard gear system in their <FX_CODE> to compute the trigger condition for the effect. Standard gears are deduced by the simulation from the [CONTACT_POINTS] parameters defined with the wheel type in the flight model configuration file for the aircraft. Within the template, you use the <FX_CONTACT_POINT_ID> element to specifiy the gear to use for the simulation. Valid indices are 0 for the center gear, 1 for the left gear and 2 for the right gear.

 

Additionally, the <FX_CONTACT_POINT_ID> tag is used to find the contact point to attach the effect to. If the standard gear index does not match the contact point index for this gear, you need to specify a node to attach the FX to with the XML element <FX_NODE>. Otherwise the effect will test the spawn condition for the gear at the given index but spawn on another contact point.

 

To give an example of use, the landing effects for the A320 NEO are setup using a gear index and a node:

<ModelInfo>
    <Behaviors>
        <Include ModelBehaviorFile="Asobo\Generic\FX.xml"/>
        <Template Name="ASOBO_A320_FX">
            ...
            <Component ID="LANDING_FX">
                <UseTemplate Name="ASOBO_WET_LG_GR_LANDING_FX">
                    <FX_CONTACT_POINT_ID>0</FX_CONTACT_POINT_ID>
                    <FX_NODE>fx_tire_contactPoint_center_in</FX_NODE>
                </UseTemplate>
                <UseTemplate Name="ASOBO_WET_LG_GR_LANDING_FX">
                    <FX_CONTACT_POINT_ID>0</FX_CONTACT_POINT_ID>
                    <FX_NODE>fx_tire_contactPoint_center_out</FX_NODE>
                </UseTemplate>
                <UseTemplate Name="ASOBO_WET_LG_GR_LANDING_FX">
                    <FX_CONTACT_POINT_ID>1</FX_CONTACT_POINT_ID>
                    <FX_NODE>fx_tire_contactPoint_left_in</FX_NODE>
                </UseTemplate>
                <UseTemplate Name="ASOBO_WET_LG_GR_LANDING_FX">
                    <FX_CONTACT_POINT_ID>1</FX_CONTACT_POINT_ID>
                    <FX_NODE>fx_tire_contactPoint_left_out</FX_NODE>
                </UseTemplate>
                ...
            </Component>
        </Template>
    </Behaviors>
</ModelInfo>

 

 

Bundled Gear

These bundled gear templates are templates containing all the single effect gear-based templates for a specific aircraft size, setup on all three standard gears:

Template Description
ASOBO_LANDING_FX All landing effects for small aircrafts
ASOBO_LANDING_MD_FX All landing effects for medium-sized aircrafts
ASOBO_LANDING_LG_FX All landing effects for large aircrafts

 

If your aircraft is setup with three landing gears and no floaters or skis, using one of these templates will automatically spawn all possible landing effects. Otherwise you should use Single Effect Contact Point based templates.


Below is an example of the DA62 using the bundled template for small planes. First the [CONTACT_POINTS]:

NOTE: the template requires that contact points 0, 1 and 2 - for the center, left and right gears - be set up correctly.

[CONTACT_POINTS]
point.0 = 1, 1.7, 0, -3.57, 750, 0, 0.23, 15, 0.218, 1.5, 0.9, 3.5, 3.5, 0, 165, 165, 2 
point.1 = 1, -5.0, -4.9, -3.57, 1500, 1, 0.22, 0, 0.162, 2, 0.7, 4.7, 4.7, 2, 165, 165, 2
point.2 = 1, -5.0, 4.9, -3.57, 1500, 2, 0.22, 0, 0.162, 2, 0.7, 5.2, 5.2, 3, 165, 165, 2

And the corresponding behavior XML file would look like this:

<?xml version="1.0" encoding="utf-8"?>
<ModelInfo>
    ...
    <Behaviors>
        <Include ModelBehaviorFile="Asobo\Exterior.xml"/>
        <Include ModelBehaviorFile="Asobo\Generic\FX.xml"/>
        ...
        <Component ID="LANDING_FX">
            <UseTemplate Name="ASOBO_LANDING_FX"/>
        </Component>
    </Behaviors>
</ModelInfo>