Material.xml
Asobo_EX1\(Base\)Component\Material.xml
Source XML
<ModelBehaviors> <!– ParametersFn Definitions –> <ParametersFn Name=“ASOBO_Material_Base_Default_Parameters”> <ReturnParameters> <!– Force the scale of the emissive factor to be between 0 and 1 instead of being based on the texture –> <OVERRIDE_BASE_EMISSIVE>True</OVERRIDE_BASE_EMISSIVE> <EMISSIVE_FACTOR>1</EMISSIVE_FACTOR> </ReturnParameters> </ParametersFn> <ParametersFn Name=“ASOBO_Material_Sim_Default_Parameters”> <ReturnParameters> <EMISSIVE_SIMVAR/> <EMISSIVE_SIMVAR_UNITS/> <EMISSIVE_SIMVAR_SCALE>1</EMISSIVE_SIMVAR_SCALE> <EMISSIVE_SIMVAR_BIAS>0</EMISSIVE_SIMVAR_BIAS> </ReturnParameters> </ParametersFn> <ParametersFn Name=“ASOBO_Material_Base_Parameters”> <ReturnParameters> <OVERRIDE>#OVERRIDE_BASE_EMISSIVE#</OVERRIDE> </ReturnParameters> </ParametersFn> <ParametersFn Name=“ASOBO_Material_Sim_Base_Parameters”> <Parameters Type=“Default”> <UseParametersFn Name=“ASOBO_Material_Sim_Default_Parameters”/> <UseParametersFn Name=“ASOBO_Material_Base_Default_Parameters”/> </Parameters> <ReturnParameters> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> <SIMVAR>#EMISSIVE_SIMVAR#</SIMVAR> <UNITS>#EMISSIVE_SIMVAR_UNITS#</UNITS> <SCALE>#EMISSIVE_SIMVAR_SCALE#</SCALE> <BIAS>#EMISSIVE_SIMVAR_BIAS#</BIAS> </ReturnParameters> </ParametersFn> <ParametersFn Name=“ASOBO_Material_Code_Base_Parameters”> <Parameters Type=“Default”> <UseParametersFn Name=“ASOBO_Material_Base_Default_Parameters”/> </Parameters> <Parameters Type=“Override”> <Condition CheckSavedParameters=“Emissive_Code_Transform_Stack”> <UseParametersFn Name=“ASOBO_Emissive_Code_Transform_Value”> <PLOAD_EMISSIVE_CODE_TRANSFORMS>Emissive_Code_Transform_Stack</PLOAD_EMISSIVE_CODE_TRANSFORMS> </UseParametersFn> </Condition> </Parameters> <ReturnParameters> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> <CODE>#EMISSIVE_CODE#</CODE> </ReturnParameters> </ParametersFn> <ParametersFn Name=“ASOBO_Emissive_Code_Transform_Value”> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_Load_Then_Remove_Parameters_Helper”> <SAVED_PARAMETERS>PLOAD_EMISSIVE_CODE_TRANSFORMS</SAVED_PARAMETERS> </UseParametersFn> </Parameters> <ReturnParameters> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg Valid=“EMISSIVE_CODE_TRANSFORM_PFN_#CUR_ID#”/> </While> </Setup> <Do> <Parameters Type=“Override”> <EMISSIVE_CODE_TRANSFORM_PFN Process=“Param”>EMISSIVE_CODE_TRANSFORM_PFN_#CUR_ID#</EMISSIVE_CODE_TRANSFORM_PFN> </Parameters> <Parameters Type=“Override” Lifetime=“Loop”> <UseParametersFn Name="#EMISSIVE_CODE_TRANSFORM_PFN#"/> </Parameters> </Do> <Then> <Condition Check=“EMISSIVE_CODE_TRANSFORM_PFN_RETURN”> <True> <UseParametersFn Name="#EMISSIVE_CODE_TRANSFORM_PFN_RETURN#"/> </True> <False> <EMISSIVE_CODE>#EMISSIVE_CODE#</EMISSIVE_CODE> </False> </Condition> </Then> </Loop> </ReturnParameters> </ParametersFn> <!– Template Definitions –> <Template Name=“ASOBO_Material_Template”> <Switch> <Case NotEmpty=“EMISSIVE_SIMVAR”> <UseTemplate Name=“ASOBO_Material_Sim_Base_Template”/> </Case> <Case NotEmpty=“EMISSIVE_CODE”> <UseTemplate Name=“ASOBO_Material_Code_Base_Template”/> </Case> </Switch> </Template> <Template Name=“ASOBO_Material_Sim_Base_Template”> <Parameters Type=“Default”> <LoadParameters ID=“ASOBO_Material_Sim_Default_Parameters”/> </Parameters> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Sim_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_SIM_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> </Parameters> <Material> <EmissiveFactor> <Parameter> <Sim> <Variable>#SIMVAR#</Variable> <Units>#SIMVAR_UNITS#</Units> <Scale>#SIMVAR_SCALE#</Scale> <Bias>#SIMVAR_BIAS#</Bias> </Sim> </Parameter> <OverrideBaseEmissive>#OVERRIDE#</OverrideBaseEmissive> </EmissiveFactor> </Material> </Template> <Template Name=“ASOBO_Material_Code_Base_Template”> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Code_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_CODE_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> </Parameters> <Material> <EmissiveFactor> <Parameter> <Code>#CODE#</Code> </Parameter> <OverrideBaseEmissive>#OVERRIDE#</OverrideBaseEmissive> </EmissiveFactor> </Material> </Template> </ModelBehaviors>
Templates
Template list
ASOBO_Material_Template
Definition from XML
<Template Name=“ASOBO_Material_Template”> <Switch> <Case NotEmpty=“EMISSIVE_SIMVAR”> <UseTemplate Name=“ASOBO_Material_Sim_Base_Template”/> </Case> <Case NotEmpty=“EMISSIVE_CODE”> <UseTemplate Name=“ASOBO_Material_Code_Base_Template”/> </Case> </Switch> </Template>
Condition: Switch
Case: NotEmpty(EMISSIVE_SIMVAR)
Templates used:
Case: NotEmpty(EMISSIVE_CODE)
Templates used:
ASOBO_Material_Sim_Base_Template
Definition from XML
<Template Name=“ASOBO_Material_Sim_Base_Template”> <Parameters Type=“Default”> <LoadParameters ID=“ASOBO_Material_Sim_Default_Parameters”/> </Parameters> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Sim_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_SIM_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> </Parameters> <Material> <EmissiveFactor> <Parameter> <Sim> <Variable>#SIMVAR#</Variable> <Units>#SIMVAR_UNITS#</Units> <Scale>#SIMVAR_SCALE#</Scale> <Bias>#SIMVAR_BIAS#</Bias> </Sim> </Parameter> <OverrideBaseEmissive>#OVERRIDE#</OverrideBaseEmissive> </EmissiveFactor> </Material> </Template>
Parameters initialization:
Default
Override ParametersFn used:
ASOBO_PFN_Call_Overridable_ParametersFn_Helper Parameters set:
- PFN_PARAM_DEFAULT
- PFN_PARAM_NAME
Parameters read:
- SIMVAR
- SIMVAR_UNITS
- SIMVAR_SCALE
- SIMVAR_BIAS
- OVERRIDE
ASOBO_Material_Code_Base_Template
Definition from XML
<Template Name=“ASOBO_Material_Code_Base_Template”> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Code_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_CODE_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> </Parameters> <Material> <EmissiveFactor> <Parameter> <Code>#CODE#</Code> </Parameter> <OverrideBaseEmissive>#OVERRIDE#</OverrideBaseEmissive> </EmissiveFactor> </Material> </Template>
Parameters initialization:
Override ParametersFn used:
ASOBO_PFN_Call_Overridable_ParametersFn_Helper Parameters set:
- PFN_PARAM_DEFAULT
- PFN_PARAM_NAME
Parameters read:
- CODE
- OVERRIDE
ParametersFn
ASOBO_Material_Base_Default_Parameters
Definition from XML
<ParametersFn Name=“ASOBO_Material_Base_Default_Parameters”> <ReturnParameters> <OVERRIDE_BASE_EMISSIVE>True</OVERRIDE_BASE_EMISSIVE> <EMISSIVE_FACTOR>1</EMISSIVE_FACTOR> </ReturnParameters> </ParametersFn>
Return parameters:
Parameters set:
- OVERRIDE_BASE_EMISSIVE
- EMISSIVE_FACTOR
ASOBO_Material_Sim_Default_Parameters
Definition from XML
<ParametersFn Name=“ASOBO_Material_Sim_Default_Parameters”> <ReturnParameters> <EMISSIVE_SIMVAR/> <EMISSIVE_SIMVAR_UNITS/> <EMISSIVE_SIMVAR_SCALE>1</EMISSIVE_SIMVAR_SCALE> <EMISSIVE_SIMVAR_BIAS>0</EMISSIVE_SIMVAR_BIAS> </ReturnParameters> </ParametersFn>
Return parameters:
Parameters set:
- EMISSIVE_SIMVAR
- EMISSIVE_SIMVAR_UNITS
- EMISSIVE_SIMVAR_SCALE
- EMISSIVE_SIMVAR_BIAS
ASOBO_Material_Base_Parameters
Definition from XML
<ParametersFn Name=“ASOBO_Material_Base_Parameters”> <ReturnParameters> <OVERRIDE>#OVERRIDE_BASE_EMISSIVE#</OVERRIDE> </ReturnParameters> </ParametersFn>
Return parameters:
Parameters set:
- OVERRIDE (using OVERRIDE_BASE_EMISSIVE)
ASOBO_Material_Sim_Base_Parameters
Definition from XML
<ParametersFn Name=“ASOBO_Material_Sim_Base_Parameters”> <Parameters Type=“Default”> <UseParametersFn Name=“ASOBO_Material_Sim_Default_Parameters”/> <UseParametersFn Name=“ASOBO_Material_Base_Default_Parameters”/> </Parameters> <ReturnParameters> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> <SIMVAR>#EMISSIVE_SIMVAR#</SIMVAR> <UNITS>#EMISSIVE_SIMVAR_UNITS#</UNITS> <SCALE>#EMISSIVE_SIMVAR_SCALE#</SCALE> <BIAS>#EMISSIVE_SIMVAR_BIAS#</BIAS> </ReturnParameters> </ParametersFn>
Parameters initialization:
Default ParametersFn used:
Return parameters:
Parameters set:
- SIMVAR (using EMISSIVE_SIMVAR)
- UNITS (using EMISSIVE_SIMVAR_UNITS)
- SCALE (using EMISSIVE_SIMVAR_SCALE)
- BIAS (using EMISSIVE_SIMVAR_BIAS)
ParametersFn used:
ASOBO_PFN_Call_Overridable_ParametersFn_Helper Parameters set:
- PFN_PARAM_DEFAULT
- PFN_PARAM_NAME
ASOBO_Material_Code_Base_Parameters
Definition from XML
<ParametersFn Name=“ASOBO_Material_Code_Base_Parameters”> <Parameters Type=“Default”> <UseParametersFn Name=“ASOBO_Material_Base_Default_Parameters”/> </Parameters> <Parameters Type=“Override”> <Condition CheckSavedParameters=“Emissive_Code_Transform_Stack”> <UseParametersFn Name=“ASOBO_Emissive_Code_Transform_Value”> <PLOAD_EMISSIVE_CODE_TRANSFORMS>Emissive_Code_Transform_Stack</PLOAD_EMISSIVE_CODE_TRANSFORMS> </UseParametersFn> </Condition> </Parameters> <ReturnParameters> <UseParametersFn Name=“ASOBO_PFN_Call_Overridable_ParametersFn_Helper”> <PFN_PARAM_DEFAULT>ASOBO_Material_Base_Parameters</PFN_PARAM_DEFAULT> <PFN_PARAM_NAME>MATERIAL_BASE_PARAMETERS_FN</PFN_PARAM_NAME> </UseParametersFn> <CODE>#EMISSIVE_CODE#</CODE> </ReturnParameters> </ParametersFn>
Parameters initialization:
Default ParametersFn used:
Override Condition: CheckSavedParameters(Emissive_Code_Transform_Stack)
Case: True
ParametersFn used:
ASOBO_Emissive_Code_Transform_Value Parameters set:
- PLOAD_EMISSIVE_CODE_TRANSFORMS
Return parameters:
Parameters set:
- CODE (using EMISSIVE_CODE)
ParametersFn used:
ASOBO_PFN_Call_Overridable_ParametersFn_Helper Parameters set:
- PFN_PARAM_DEFAULT
- PFN_PARAM_NAME
ASOBO_Emissive_Code_Transform_Value
Definition from XML
<ParametersFn Name=“ASOBO_Emissive_Code_Transform_Value”> <Parameters Type=“Override”> <UseParametersFn Name=“ASOBO_Load_Then_Remove_Parameters_Helper”> <SAVED_PARAMETERS>PLOAD_EMISSIVE_CODE_TRANSFORMS</SAVED_PARAMETERS> </UseParametersFn> </Parameters> <ReturnParameters> <Loop> <Setup> <Param>CUR_ID</Param> <From>0</From> <Inc>1</Inc> <While> <Arg Valid=“EMISSIVE_CODE_TRANSFORM_PFN_#CUR_ID#”/> </While> </Setup> <Do> <Parameters Type=“Override”> <EMISSIVE_CODE_TRANSFORM_PFN Process=“Param”>EMISSIVE_CODE_TRANSFORM_PFN_#CUR_ID#</EMISSIVE_CODE_TRANSFORM_PFN> </Parameters> <Parameters Type=“Override” Lifetime=“Loop”> <UseParametersFn Name="#EMISSIVE_CODE_TRANSFORM_PFN#"/> </Parameters> </Do> <Then> <Condition Check=“EMISSIVE_CODE_TRANSFORM_PFN_RETURN”> <True> <UseParametersFn Name="#EMISSIVE_CODE_TRANSFORM_PFN_RETURN#"/> </True> <False> <EMISSIVE_CODE>#EMISSIVE_CODE#</EMISSIVE_CODE> </False> </Condition> </Then> </Loop> </ReturnParameters> </ParametersFn>
Parameters initialization:
Override ParametersFn used:
ASOBO_Load_Then_Remove_Parameters_Helper Parameters set:
- SAVED_PARAMETERS
Return parameters:
Parameters read:
- CUR_ID
- EMISSIVE_CODE_TRANSFORM_PFN
Parameters set:
- CUR_ID
- EMISSIVE_CODE_TRANSFORM_PFN (using CUR_ID)
ParametersFn used:
- #EMISSIVE_CODE_TRANSFORM_PFN#
Condition: Check(EMISSIVE_CODE_TRANSFORM_PFN_RETURN)
Case: True
Parameters read:
- EMISSIVE_CODE_TRANSFORM_PFN_RETURN
ParametersFn used:
- #EMISSIVE_CODE_TRANSFORM_PFN_RETURN#
Case: False
Parameters set:
- EMISSIVE_CODE (using EMISSIVE_CODE)