# Material.xml [[Go back to index]](..\..\..\Template_Explorer.html) 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 1. [ASOBO\_Material\_Template](#ASOBO_Material_Template) 2. [ASOBO\_Material\_Sim\_Base\_Template](#ASOBO_Material_Sim_Base_Template) 3. [ASOBO\_Material\_Code\_Base\_Template](#ASOBO_Material_Code_Base_Template) - #### 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: - [ASOBO\_Material\_Sim\_Base\_Template](material/#ASOBO_Material_Sim_Base_Template) - Case: NotEmpty(EMISSIVE\_CODE)   Templates used: - [ASOBO\_Material\_Code\_Base\_Template](material/#ASOBO_Material_Code_Base_Template) [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### 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](../helper/parametersfnhelpers/#ASOBO_PFN_Call_Overridable_ParametersFn_Helper) Parameters set: - PFN\_PARAM\_DEFAULT - PFN\_PARAM\_NAME Parameters read: - SIMVAR - SIMVAR\_UNITS - SIMVAR\_SCALE - SIMVAR\_BIAS - OVERRIDE [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) - #### 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](../helper/parametersfnhelpers/#ASOBO_PFN_Call_Overridable_ParametersFn_Helper) Parameters set: - PFN\_PARAM\_DEFAULT - PFN\_PARAM\_NAME Parameters read: - CODE - OVERRIDE [[Go back to top]](#top) [[Go back to index]](..\..\..\Template_Explorer.html) ### 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: - [ASOBO\_Material\_Sim\_Default\_Parameters](material/#ASOBO_Material_Sim_Default_Parameters) - [ASOBO\_Material\_Base\_Default\_Parameters](material/#ASOBO_Material_Base_Default_Parameters) 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](../helper/parametersfnhelpers/#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: - [ASOBO\_Material\_Base\_Default\_Parameters](material/#ASOBO_Material_Base_Default_Parameters) - Override Condition: CheckSavedParameters(Emissive\_Code\_Transform\_Stack) - Case: True ParametersFn used: - [ASOBO\_Emissive\_Code\_Transform\_Value](material/#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](../helper/parametersfnhelpers/#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](../helper/parametersfnhelpers/#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)