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:
- Single Effect Contact Point based templates
- Single Effect Gear based templates
- Bundled Gear based 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>