VFX TEMPLATE EXAMPLES

On this page you can find a list of all the common XML element tags that are used by the various Visual Effects Templates, and that can also be used when creating your own templates using the ASOBO_VFX_Template helper (see here for more information: VFX Templates)

 

 

Wheeled Aircraft Landing VFX Example

The following is a complete example of the various components and VFX that are used by a typical wheeled aircraft. The example shows how to use multiple templates in a single component and the typical setup of the different graph parameters.

<Component ID="FX_LANDING_WHEELS">
    <Component ID="FX_LANDING_WHEELS">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Wheel_Central'_n</FX_CONTACT_POINT_ID_0>
            <FX_CONTACT_POINT_ID_1>'Wheel_Left'_n</FX_CONTACT_POINT_ID_1>
            <FX_CONTACT_POINT_ID_2>'Wheel_Right'_n</FX_CONTACT_POINT_ID_2>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_GRASS_DRY_CP</TEMPLATE_0>
            <TEMPLATE_1>ASOBO_ET_FX_LANDING_GRASS_WET_CP</TEMPLATE_1>
            <TEMPLATE_2>ASOBO_ET_FX_LANDING_DUST_CP</TEMPLATE_2>
            <TEMPLATE_3>ASOBO_ET_FX_LANDING_SNOW_CP</TEMPLATE_3>
            <TEMPLATE_4>ASOBO_ET_FX_LANDING_TARMAC_DRY_CP</TEMPLATE_4>
            <TEMPLATE_5>ASOBO_ET_FX_LANDING_TARMAC_WET_CP</TEMPLATE_5>
            <TEMPLATE_6>ASOBO_ET_FX_LANDING_WATER_WHEEL_CP</TEMPLATE_6>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_BLAST_LEFT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Propeller_Left'_n</FX_CONTACT_POINT_ID_0>
            <FX_GRAPH_PARAM_0>engineIndex, 1</FX_GRAPH_PARAM_0>
            <FX_GRAPH_PARAM_1>engineNumber, 2</FX_GRAPH_PARAM_1>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GENERAL ENG PCT MAX RPM:1, Percent) 0 &gt; and</FX_CODE>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_DUST_BLAST</TEMPLATE_0>
            <TEMPLATE_1>ASOBO_ET_FX_LANDING_SNOW_BLAST</TEMPLATE_1>
            <TEMPLATE_2>ASOBO_ET_FX_LANDING_TARMAC_WET_BLAST</TEMPLATE_2>    
            <TEMPLATE_3>ASOBO_ET_FX_LANDING_WATER_FLOAT_BLAST</TEMPLATE_3>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_BLAST_RIGHT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Propeller_Right'_n</FX_CONTACT_POINT_ID_0>
            <FX_GRAPH_PARAM_0>engineIndex, 2</FX_GRAPH_PARAM_0>
            <FX_GRAPH_PARAM_1>engineNumber, 2</FX_GRAPH_PARAM_1>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GENERAL ENG PCT MAX RPM:1, Percent) 0 &gt; and</FX_CODE>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_DUST_BLAST</TEMPLATE_0>
            <TEMPLATE_1>ASOBO_ET_FX_LANDING_SNOW_BLAST</TEMPLATE_1>
            <TEMPLATE_2>ASOBO_ET_FX_LANDING_TARMAC_WET_BLAST</TEMPLATE_2>
            <TEMPLATE_3>ASOBO_ET_FX_LANDING_WATER_FLOAT_BLAST</TEMPLATE_3>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_VORTEX">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_DUST_VORTEX">
            <FX_GRAPH_PARAM_0>engineGap, 11</FX_GRAPH_PARAM_0>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GENERAL ENG PCT MAX RPM:1, Percent) 0 &gt; and</FX_CODE>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_LANDING_SNOW_VORTEX">
            <FX_GRAPH_PARAM_0>engineGap, 11</FX_GRAPH_PARAM_0>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GENERAL ENG PCT MAX RPM:1, Percent) 0 &gt; and</FX_CODE>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_LANDING_TARMAC_WET_VORTEX">
            <FX_GRAPH_PARAM_0>engineGap, 11</FX_GRAPH_PARAM_0>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GENERAL ENG PCT MAX RPM:1, Percent) 0 &gt; and</FX_CODE>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_REVERSEENGINE_DUST_LEFT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Propeller_Left'_n</FX_CONTACT_POINT_ID_0>
            <FX_GRAPH_PARAM_0>engineIndex, 1</FX_GRAPH_PARAM_0>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 15 &lt; (A:TURB ENG REVERSE NOZZLE PERCENT:1, Percent) 0.01 &gt; and</FX_CODE>
            <FX_OFFSET_X>-0.5</FX_OFFSET_X>
            <FX_OFFSET_Z>2</FX_OFFSET_Z>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_REVERSEENGINE_DUST</TEMPLATE_0>
            <TEMPLATE_1>ASOBO_ET_FX_LANDING_REVERSEENGINE_TARMAC_WET</TEMPLATE_1>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_REVERSEENGINE_DUST_RIGHT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Propeller_Right'_n</FX_CONTACT_POINT_ID_0>
            <FX_GRAPH_PARAM_0>engineIndex, 2</FX_GRAPH_PARAM_0>
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 15 &lt; (A:TURB ENG REVERSE NOZZLE PERCENT:2, Percent) 0.01 &gt; and</FX_CODE>
            <FX_OFFSET_X>0.5</FX_OFFSET_X>
            <FX_OFFSET_Z>2</FX_OFFSET_Z>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_REVERSEENGINE_DUST</TEMPLATE_0>
            <TEMPLATE_1>ASOBO_ET_FX_LANDING_REVERSEENGINE_TARMAC_WET</TEMPLATE_1>
        </UseTemplate>
    </Component>
    <Component ID="FX_LOWALTITUDE_PLANE">
        <UseTemplate Name="ASOBO_ET_FX_LOWALTITUDE_PLANE_DUST">
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GROUND VELOCITY, knot) 100 &gt; and</FX_CODE>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_LOWALTITUDE_PLANE_GRASS_DRY">
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GROUND VELOCITY, knot) 100 &gt; and</FX_CODE>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_LOWALTITUDE_PLANE_SNOW">
            <FX_CODE>(A:PLANE ALT ABOVE GROUND MINUS CG, Feet) 75 &lt; (A:GROUND VELOCITY, knot) 100 &gt; and (A:SURFACE CONDITION, enum) 1 != and</FX_CODE>
        </UseTemplate>
    </Component>
</Component>

 

 

Water Aircraft Landing VFX Example

The following is a complete example of the various components and VFX that are used by a typical aircraft with floats when landing on water. The example shows how to use multiple templates in a single component and the typical setup of the different graph parameters.

<Component ID="FX_LANDING_FLOATS">
    <Component ID="FX_LANDING_WATER_FLOAT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Float_Rear_Left'_n</FX_CONTACT_POINT_ID_0>
            <FX_CONTACT_POINT_ID_1>'Float_Rear_Right'_n</FX_CONTACT_POINT_ID_1>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_WATER_FLOAT_CP</TEMPLATE_0>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_WATER_FLOAT_SPLASH_LEFT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Float_Front_Left'_n</FX_CONTACT_POINT_ID_0>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_WATER_FLOAT_SPLASH_LEFT_CP</TEMPLATE_0>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_WATER_FLOAT_SPLASH_RIGHT">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Float_Front_Right'_n</FX_CONTACT_POINT_ID_0>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_WATER_FLOAT_SPLASH_RIGHT_CP</TEMPLATE_0>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_WATER_RUDDER_SPLASH">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_CP">
            <FX_CONTACT_POINT_ID_0>'Float_Rear_Left'_n</FX_CONTACT_POINT_ID_0>
            <FX_CONTACT_POINT_ID_1>'Float_Rear_Right'_n</FX_CONTACT_POINT_ID_1>
            <FX_GRAPH_PARAM_0>zTranslation, -3.3</FX_GRAPH_PARAM_0>
            <TEMPLATE_0>ASOBO_ET_FX_LANDING_WATER_RUDDER_SPLASH_CP</TEMPLATE_0>
        </UseTemplate>
    </Component>
    <Component ID="FX_LANDING_WATER_FLOAT_WAVETRAIL">
        <UseTemplate Name="ASOBO_ET_FX_LANDING_WATER_WAVETRAIL_CP">
            <FX_CONTACT_POINT_LEFT>'Float_Rear_Left'_n</FX_CONTACT_POINT_LEFT>
            <FX_CONTACT_POINT_RIGHT>'Float_Rear_Right'_n</FX_CONTACT_POINT_RIGHT>
            <FX_GRAPH_PARAM_0>floatGap, 3.3</FX_GRAPH_PARAM_0>
            <FX_GRAPH_PARAM_1>zTranslation, -2.1</FX_GRAPH_PARAM_1>
        </UseTemplate>
    </Component>
</Component>

 

 

Crop Dusting VFX Example

The following is a complete example of the various components and VFX that are used by an aircraft with the equipment required for the Agricultural Aviation career. The example shows how to use multiple templates in a single component and the typical setup of the different graph parameters.

<Component ID="FX_CROPDUSTING">
    <Component ID="FX_CROPDUSTING_HIGHSPEED">
        <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_SINGLE">
            <NOZZLE_INDEX>1</NOZZLE_INDEX>
            <FX_OFFSET_X>6.546</FX_OFFSET_X>
            <FX_OFFSET_Y>-0.278</FX_OFFSET_Y>
            <FX_OFFSET_Z>-0.219</FX_OFFSET_Z>
            <FX_GRAPH_PARAM_0>rateMultiplier, 0.99</FX_GRAPH_PARAM_0>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_SINGLE">
            <NOZZLE_INDEX>2</NOZZLE_INDEX>
            <FX_OFFSET_X>6.270</FX_OFFSET_X>
            <FX_OFFSET_Y>-0.294</FX_OFFSET_Y>
            <FX_OFFSET_Z>-0.219</FX_OFFSET_Z>
            <FX_GRAPH_PARAM_0>rateMultiplier, 1.05</FX_GRAPH_PARAM_0>
        </UseTemplate>
        <!-- Etc... for all sprayer nozzles -->
    </Component>
    <Component ID="FX_CROPDUSTING_LOWSPEED">
        <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_SINGLE_LOWSPEED">
            <NOZZLE_INDEX>1</NOZZLE_INDEX>
            <FX_OFFSET_X>6.546</FX_OFFSET_X>
            <FX_OFFSET_Y>-0.278</FX_OFFSET_Y>
            <FX_OFFSET_Z>-0.219</FX_OFFSET_Z>
            <FX_GRAPH_PARAM_0>rateMultiplier, 0.99</FX_GRAPH_PARAM_0>
        </UseTemplate>
        <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_SINGLE_LOWSPEED">
            <NOZZLE_INDEX>2</NOZZLE_INDEX>
            <FX_OFFSET_X>6.270</FX_OFFSET_X>
            <FX_OFFSET_Y>-0.294</FX_OFFSET_Y>
            <FX_OFFSET_Z>-0.219</FX_OFFSET_Z>
            <FX_GRAPH_PARAM_0>rateMultiplier, 1.05</FX_GRAPH_PARAM_0>
        </UseTemplate>
        <!-- Etc... for all sprayer nozzles -->
    </Component>
    <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_VORTEX">
        <FX_GRAPH_PARAM_0>sprayWidth, 10.3</FX_GRAPH_PARAM_0>    
    </UseTemplate>
    <UseTemplate Name="ASOBO_ET_FX_CROPDUSTING_DROP_PLANE">
        <FX_OFFSET_Y>-0.3</FX_OFFSET_Y>
        <FX_OFFSET_Z>1.250</FX_OFFSET_Z>
        <FX_CODE>(A:LIQUID DROPPING DOOR FLOW:31, Pounds per hour) 0 &gt; (A:LIQUID DROPPING DOOR OPEN VALUE:31, Percent over 100) 0 &gt; and</FX_CODE>
    </UseTemplate>
</Component>

 

 

Supersonic Jet Example

The following is a complete example of the various components and VFX that are used by a supersonic jet aircraft to generate the various vapor plumes and effects that are generated when performing high-speed maneuvers.

<Component ID="VFX">
    <Component ID="FX_CONTRAIL_QUAD">
        <Component ID="FX_CONTRAIL_QUAD_LEFT">
            <UseTemplate Name="ASOBO_ET_FX_CONTRAIL_QUAD">
                <FX_NODE>FX_afterburner_left</FX_NODE>
                <FX_ENGINE_ID>1</FX_ENGINE_ID>
            </UseTemplate>
        </Component>
        <Component ID="FX_CONTRAIL_QUAD_RIGHT">
            <UseTemplate Name="ASOBO_ET_FX_CONTRAIL_QUAD">
                <FX_NODE>FX_afterburner_right</FX_NODE>
                <FX_ENGINE_ID>2</FX_ENGINE_ID>
            </UseTemplate>
        </Component>
    </Component>
    <Component ID="FX_CONTRAIL_RIBBON">
        <Component ID="FX_CONTRAIL_RIBBON_LEFT">
            <UseTemplate Name="ASOBO_ET_FX_CONTRAIL_RIBBON">
                <FX_NODE>FX_afterburner_left</FX_NODE>
                <FX_ENGINE_ID>1</FX_ENGINE_ID>
            </UseTemplate>
        </Component>
        <Component ID="FX_CONTRAIL_RIBBON_RIGHT">
            <UseTemplate Name="ASOBO_ET_FX_CONTRAIL_RIBBON">
                <FX_NODE>FX_afterburner_right</FX_NODE>
                <FX_ENGINE_ID>2</FX_ENGINE_ID>
            </UseTemplate>
        </Component>
    </Component>
    <Component ID="VapourCone_FX">
        <UseTemplate Name="ASOBO_ET_FX_SKY_NODE_VAPOURCONE">
            <FX_NODE>fx_vapourCone_01</FX_NODE>
            <FX_CODE>(A:AIRSPEED MACH, mach) 0.97 &gt; (A:AIRSPEED MACH, mach) 0.977 &lt; and (A:PLANE ALT ABOVE GROUND, feet) 15000 &lt; and (A:AMBIENT TEMPERATURE, celsius) 30 &lt; and</FX_CODE>
        </UseTemplate>
    </Component>
    <Component ID = "PressTrail_Left_FX">
        <UseTemplate Name="ASOBO_ET_FX_PRESSURETRAIL">
            <FX_NODE>fx_presstrail_02</FX_NODE>
            <FX_GRAPH_PARAM_0>Side, -1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
    <Component ID = "PressTrail_Right_FX">
        <UseTemplate Name="ASOBO_ET_FX_PRESSURETRAIL">
            <FX_NODE>fx_presstrail_01</FX_NODE>
            <FX_GRAPH_PARAM_0>Side, 1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
    <Component ID = "WingVapour_Left_FX">
        <UseTemplate Name="ASOBO_ET_FX_WINGVAPOUR">
            <FX_NODE>fx_presstrail_02</FX_NODE>
            <FX_GRAPH_PARAM_0>Side, -1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
    <Component ID = "WingVapour_Right_FX">
        <UseTemplate Name="ASOBO_ET_FX_WINGVAPOUR">
            <FX_NODE>fx_presstrail_01</FX_NODE>
            <FX_GRAPH_PARAM_0>Side, 1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
    <Component ID = "DragTrail_Left_FX">
        <UseTemplate Name="ASOBO_ET_FX_DRAGTRAIL">
            <FX_NODE>fx_vorttrail_02</FX_NODE>
            <FX_GRAPH_PARAM_0>DT_Side, -1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
    <Component ID = "DragTrail_Right_FX">
        <UseTemplate Name="ASOBO_ET_FX_DRAGTRAIL">
            <FX_NODE>fx_vorttrail_01</FX_NODE>
            <FX_GRAPH_PARAM_0>DT_Side, 1</FX_GRAPH_PARAM_0>
        </UseTemplate>
    </Component>
</Component>