[Go back to index]
Asobo\AircraftTypes\Gliders.xml
Source XML
<ModelBehaviors>
<Include RelativeFile="..\Common.xml"/>
<ParametersFn Name="Generate_Noise">
<Parameters Type="Default">
<SETUP_CODE/>
<MIN_AIRSPEED>10</MIN_AIRSPEED>
<REST_RETURN_VALUE>0</REST_RETURN_VALUE>
<VAR_NAME>XMLVAR_DEFAULT</VAR_NAME>
<Condition Valid="NOISE_WRAPS">
<True>
<CLAMP_CODE>100 pmod</CLAMP_CODE>
</True>
<False>
<Condition Valid="REDUCE_RANGE_WITH_AIRSPEED">
<True>
<CLAMP_CODE>(O:XMLVAR_SpeedFactor_Min) max (O:XMLVAR_SpeedFactor_Max) min</CLAMP_CODE>
</True>
<False>
<CLAMP_CODE>0 max 100 min</CLAMP_CODE>
</False>
</Condition>
</False>
</Condition>
</Parameters>
<ReturnParameters>
<ANIM_CODE>
(A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max s1 #MIN_AIRSPEED# > if{
#SETUP_CODE#
(O:#VAR_NAME#) (O:XMLVAR_SpeedFactor) #ANIM_DISPLACEMENT# (E:SIMULATION DELTA TIME, seconds) * * rand 2 * 1 - * + #CLAMP_CODE# (>O:#VAR_NAME#)
} els{ #REST_RETURN_VALUE# (>O:#VAR_NAME#) }
(O:#VAR_NAME#)
</ANIM_CODE>
</ReturnParameters>
</ParametersFn>
<Template Name="ASOBO_Yaw_String">
<Parameters Type="Default">
<ANIM_NAME_360>STRING_360</ANIM_NAME_360>
<ANIM_NAME_STICK>STRING_360STICK</ANIM_NAME_STICK>
<ANIM_NAME_IDLE_TO_STAND>STRING_IDLE_TO_STAND</ANIM_NAME_IDLE_TO_STAND>
<ANIM_NAME_L_R>STRING_LR</ANIM_NAME_L_R>
<ANIM_NAME_FLOW>STRING_NOISE</ANIM_NAME_FLOW>
<ANIM_NAME_L_R_END>STRING_NOISELR</ANIM_NAME_L_R_END>
<ANIM_NAME_L_R_SNAKE>STRING_NOISELR_SNAKE</ANIM_NAME_L_R_SNAKE>
<ANIM_NAME_UP>STRING_NOISEEND</ANIM_NAME_UP>
<ANIM_DISPLACEMENT>600</ANIM_DISPLACEMENT> <!-- Max %Anim per Sec -->
<MIN_AIRSPEED>10</MIN_AIRSPEED>
<EXTENDED_AIRSPEED>20</EXTENDED_AIRSPEED>
<MAX_AIRSPEED>80</MAX_AIRSPEED>
<MAX_AIRSPEED_ANIM_FACTOR>0.1</MAX_AIRSPEED_ANIM_FACTOR>
<ANGLE_FORWARD_FACTOR>0.5</ANGLE_FORWARD_FACTOR>
<ROTATION_LAG>50</ROTATION_LAG>
<SNAKE_MIN_ANGLE>150</SNAKE_MIN_ANGLE>
<SNAKE_MAX_ANGLE>30</SNAKE_MAX_ANGLE>
</Parameters>
<Parameters Type="Override">
<REVERSED_ANGLE_FORWARD_FACTOR Process="Float">1 #ANGLE_FORWARD_FACTOR# -</REVERSED_ANGLE_FORWARD_FACTOR>
</Parameters>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>#ANIM_NAME_360#</ANIM_NAME>
<ANIM_CODE>
(O:XMLVAR_YawStringExtended) 0 > if{
1 l1 #MIN_AIRSPEED# - 0 max #MAX_AIRSPEED# / 1 min #REVERSED_ANGLE_FORWARD_FACTOR# * - sp0
(A:RELATIVE WIND VELOCITY BODY X, feet per second) (A:RELATIVE WIND VELOCITY BODY Z, feet per second) l0 * atg2 rddg dnor (>O:XMLVAR_YawStringDir)
} els{
(O:XMLVAR_YawStringInit) ! if{
rand 360 * (>O:XMLVAR_YawStringDir)
1 (>O:XMLVAR_YawStringInit)
}
}
(O:XMLVAR_YawStringDir)
</ANIM_CODE>
<ANIM_LENGTH>360</ANIM_LENGTH>
<ANIM_WRAP>True</ANIM_WRAP>
<ANIM_LAG>#ROTATION_LAG#</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>#ANIM_NAME_IDLE_TO_STAND#</ANIM_NAME>
<ANIM_CODE>(A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max #MIN_AIRSPEED# max #MIN_AIRSPEED# - #EXTENDED_AIRSPEED# min 20 / 100 * (>O:XMLVAR_YawStringExtended) (O:XMLVAR_YawStringExtended)</ANIM_CODE>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>#ANIM_NAME_STICK#</ANIM_NAME>
<ANIM_CODE>(O:XMLVAR_YawStringExtended) 0 == if{ (O:XMLVAR_YawStringDir) } els{ 0 }</ANIM_CODE>
<ANIM_LENGTH>360</ANIM_LENGTH>
<ANIM_WRAP>True</ANIM_WRAP>
<ANIM_LAG>#ROTATION_LAG#</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME>
<ANIM_LAG>200</ANIM_LAG>
<ANIM_CODE>(A:ROTATION VELOCITY BODY Z, radians per second) -1 * 1 min -1 max 1 + 50 *</ANIM_CODE>
</UseTemplate>
<Component ID="Yaw_String_Noise">
<Parameters Type="Override">
<ANIM_LAG>800</ANIM_LAG>
<REDUCE_RANGE_WITH_AIRSPEED>True</REDUCE_RANGE_WITH_AIRSPEED>
</Parameters>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>#ANIM_NAME_L_R_END#</ANIM_NAME>
<UseParametersFn Name="Generate_Noise">
<SETUP_CODE>
1 (A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max #MIN_AIRSPEED# - 0 max #MAX_AIRSPEED# / 1 #MAX_AIRSPEED_ANIM_FACTOR# - min 0 max - (>O:XMLVAR_SpeedFactor)
50 (O:XMLVAR_SpeedFactor) 50 * - (>O:XMLVAR_SpeedFactor_Min)
50 (O:XMLVAR_SpeedFactor) 50 * + (>O:XMLVAR_SpeedFactor_Max)
</SETUP_CODE>
<VAR_NAME>XMLVAR_L_R_END</VAR_NAME>
<NOISE_WRAPS>True</NOISE_WRAPS>
</UseParametersFn>
<ANIM_WRAP>True</ANIM_WRAP>
</UseTemplate>
</Component>
</Template>
</ModelBehaviors>
Includes
- RelativeFile: ..\Common.xml
Templates
Template list
-
ASOBO_Yaw_String
Definition from XML<Template Name="ASOBO_Yaw_String"> <Parameters Type="Default"> <ANIM_NAME_360>STRING_360</ANIM_NAME_360> <ANIM_NAME_STICK>STRING_360STICK</ANIM_NAME_STICK> <ANIM_NAME_IDLE_TO_STAND>STRING_IDLE_TO_STAND</ANIM_NAME_IDLE_TO_STAND> <ANIM_NAME_L_R>STRING_LR</ANIM_NAME_L_R> <ANIM_NAME_FLOW>STRING_NOISE</ANIM_NAME_FLOW> <ANIM_NAME_L_R_END>STRING_NOISELR</ANIM_NAME_L_R_END> <ANIM_NAME_L_R_SNAKE>STRING_NOISELR_SNAKE</ANIM_NAME_L_R_SNAKE> <ANIM_NAME_UP>STRING_NOISEEND</ANIM_NAME_UP> <ANIM_DISPLACEMENT>600</ANIM_DISPLACEMENT> <MIN_AIRSPEED>10</MIN_AIRSPEED> <EXTENDED_AIRSPEED>20</EXTENDED_AIRSPEED> <MAX_AIRSPEED>80</MAX_AIRSPEED> <MAX_AIRSPEED_ANIM_FACTOR>0.1</MAX_AIRSPEED_ANIM_FACTOR> <ANGLE_FORWARD_FACTOR>0.5</ANGLE_FORWARD_FACTOR> <ROTATION_LAG>50</ROTATION_LAG> <SNAKE_MIN_ANGLE>150</SNAKE_MIN_ANGLE> <SNAKE_MAX_ANGLE>30</SNAKE_MAX_ANGLE> </Parameters> <Parameters Type="Override"> <REVERSED_ANGLE_FORWARD_FACTOR Process="Float">1 #ANGLE_FORWARD_FACTOR# -</REVERSED_ANGLE_FORWARD_FACTOR> </Parameters> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_360#</ANIM_NAME> <ANIM_CODE> (O:XMLVAR_YawStringExtended) 0 > if{ 1 l1 #MIN_AIRSPEED# - 0 max #MAX_AIRSPEED# / 1 min #REVERSED_ANGLE_FORWARD_FACTOR# * - sp0 (A:RELATIVE WIND VELOCITY BODY X, feet per second) (A:RELATIVE WIND VELOCITY BODY Z, feet per second) l0 * atg2 rddg dnor (>O:XMLVAR_YawStringDir) } els{ (O:XMLVAR_YawStringInit) ! if{ rand 360 * (>O:XMLVAR_YawStringDir) 1 (>O:XMLVAR_YawStringInit) } } (O:XMLVAR_YawStringDir) </ANIM_CODE> <ANIM_LENGTH>360</ANIM_LENGTH> <ANIM_WRAP>True</ANIM_WRAP> <ANIM_LAG>#ROTATION_LAG#</ANIM_LAG> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_IDLE_TO_STAND#</ANIM_NAME> <ANIM_CODE>(A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max #MIN_AIRSPEED# max #MIN_AIRSPEED# - #EXTENDED_AIRSPEED# min 20 / 100 * (>O:XMLVAR_YawStringExtended) (O:XMLVAR_YawStringExtended)</ANIM_CODE> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_STICK#</ANIM_NAME> <ANIM_CODE>(O:XMLVAR_YawStringExtended) 0 == if{ (O:XMLVAR_YawStringDir) } els{ 0 }</ANIM_CODE> <ANIM_LENGTH>360</ANIM_LENGTH> <ANIM_WRAP>True</ANIM_WRAP> <ANIM_LAG>#ROTATION_LAG#</ANIM_LAG> </UseTemplate> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_L_R#</ANIM_NAME> <ANIM_LAG>200</ANIM_LAG> <ANIM_CODE>(A:ROTATION VELOCITY BODY Z, radians per second) -1 * 1 min -1 max 1 + 50 *</ANIM_CODE> </UseTemplate> <Component ID="Yaw_String_Noise"> <Parameters Type="Override"> <ANIM_LAG>800</ANIM_LAG> <REDUCE_RANGE_WITH_AIRSPEED>True</REDUCE_RANGE_WITH_AIRSPEED> </Parameters> <UseTemplate Name="ASOBO_GT_Anim_Code"> <ANIM_NAME>#ANIM_NAME_L_R_END#</ANIM_NAME> <UseParametersFn Name="Generate_Noise"> <SETUP_CODE> 1 (A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max #MIN_AIRSPEED# - 0 max #MAX_AIRSPEED# / 1 #MAX_AIRSPEED_ANIM_FACTOR# - min 0 max - (>O:XMLVAR_SpeedFactor) 50 (O:XMLVAR_SpeedFactor) 50 * - (>O:XMLVAR_SpeedFactor_Min) 50 (O:XMLVAR_SpeedFactor) 50 * + (>O:XMLVAR_SpeedFactor_Max) </SETUP_CODE> <VAR_NAME>XMLVAR_L_R_END</VAR_NAME> <NOISE_WRAPS>True</NOISE_WRAPS> </UseParametersFn> <ANIM_WRAP>True</ANIM_WRAP> </UseTemplate> </Component> </Template>Parameters initialization:
-
Default
Parameters set:
- ANIM_NAME_360
- ANIM_NAME_STICK
- ANIM_NAME_IDLE_TO_STAND
- ANIM_NAME_L_R
- ANIM_NAME_FLOW
- ANIM_NAME_L_R_END
- ANIM_NAME_L_R_SNAKE
- ANIM_NAME_UP
- ANIM_DISPLACEMENT
- MIN_AIRSPEED
- EXTENDED_AIRSPEED
- MAX_AIRSPEED
- MAX_AIRSPEED_ANIM_FACTOR
- ANGLE_FORWARD_FACTOR
- ROTATION_LAG
- SNAKE_MIN_ANGLE
- SNAKE_MAX_ANGLE
-
Override
Parameters set:
- REVERSED_ANGLE_FORWARD_FACTOR (using ANGLE_FORWARD_FACTOR)
Components:
-
Yaw_String_Noise
Parameters set:
- ANIM_LAG
- REDUCE_RANGE_WITH_AIRSPEED
Templates used:
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_NAME (using ANIM_NAME_L_R_END)
- ANIM_WRAP
ParametersFn used:
-
Generate_Noise
Parameters set:
- SETUP_CODE (using MIN_AIRSPEED, MAX_AIRSPEED, MAX_AIRSPEED_ANIM_FACTOR)
- VAR_NAME
- NOISE_WRAPS
Templates used:
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_NAME (using ANIM_NAME_360)
- ANIM_CODE (using MIN_AIRSPEED, MAX_AIRSPEED, REVERSED_ANGLE_FORWARD_FACTOR)
- ANIM_LENGTH
- ANIM_WRAP
- ANIM_LAG (using ROTATION_LAG)
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_NAME (using ANIM_NAME_IDLE_TO_STAND)
- ANIM_CODE (using MIN_AIRSPEED, EXTENDED_AIRSPEED)
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_NAME (using ANIM_NAME_STICK)
- ANIM_CODE
- ANIM_LENGTH
- ANIM_WRAP
- ANIM_LAG (using ROTATION_LAG)
-
ASOBO_GT_Anim_Code
Parameters set:
- ANIM_NAME (using ANIM_NAME_L_R)
- ANIM_LAG
- ANIM_CODE
-
Default
ParametersFn
-
Generate_Noise
Definition from XML<ParametersFn Name="Generate_Noise"> <Parameters Type="Default"> <SETUP_CODE/> <MIN_AIRSPEED>10</MIN_AIRSPEED> <REST_RETURN_VALUE>0</REST_RETURN_VALUE> <VAR_NAME>XMLVAR_DEFAULT</VAR_NAME> <Condition Valid="NOISE_WRAPS"> <True> <CLAMP_CODE>100 pmod</CLAMP_CODE> </True> <False> <Condition Valid="REDUCE_RANGE_WITH_AIRSPEED"> <True> <CLAMP_CODE>(O:XMLVAR_SpeedFactor_Min) max (O:XMLVAR_SpeedFactor_Max) min</CLAMP_CODE> </True> <False> <CLAMP_CODE>0 max 100 min</CLAMP_CODE> </False> </Condition> </False> </Condition> </Parameters> <ReturnParameters> <ANIM_CODE> (A:AIRSPEED TRUE, knots) (A:AMBIENT WIND VELOCITY, knots) max s1 #MIN_AIRSPEED# > if{ #SETUP_CODE# (O:#VAR_NAME#) (O:XMLVAR_SpeedFactor) #ANIM_DISPLACEMENT# (E:SIMULATION DELTA TIME, seconds) * * rand 2 * 1 - * + #CLAMP_CODE# (>O:#VAR_NAME#) } els{ #REST_RETURN_VALUE# (>O:#VAR_NAME#) } (O:#VAR_NAME#) </ANIM_CODE> </ReturnParameters> </ParametersFn>Parameters initialization:
-
Default
Parameters set:
- SETUP_CODE
- MIN_AIRSPEED
- REST_RETURN_VALUE
- VAR_NAME
Condition: Valid(NOISE_WRAPS)
-
Case: True
Parameters set:
- CLAMP_CODE
-
Case: False
Condition: Valid(REDUCE_RANGE_WITH_AIRSPEED)
-
Case: True
Parameters set:
- CLAMP_CODE
-
Case: False
Parameters set:
- CLAMP_CODE
-
Return parameters:
Parameters set:
- ANIM_CODE (using MIN_AIRSPEED, SETUP_CODE, VAR_NAME, ANIM_DISPLACEMENT, CLAMP_CODE, REST_RETURN_VALUE)
-
Default