home *** CD-ROM | disk | FTP | other *** search
/ Computer Active Guide 2009 April / CAGidas04.iso / Programos / wlsetup-all.exe / MovieMaker.msi / TextEffectSpinOutTemplate < prev    next >
Encoding:
Extensible Markup Language  |  2009-07-19  |  11.7 KB  |  174 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <X3D profile="Immersive"  version="3.1">
  3.   <Transform>
  4.     <MetadataSet name='Template'>
  5.       <MetadataString containerField='value' name='TemplateID' value='"TextEffectSpinOutTemplate"'/>
  6.       <MetadataInteger containerField='value' name='TemplateKind' value='3'/>
  7.       <MetadataString containerField='value' name='TimeDependentNode' value='""'/>
  8.     </MetadataSet>
  9.  
  10.     <!--OUT properties -->
  11.     <Transform>
  12.       <MetadataSet DEF='OutSockets'>
  13.         <MetadataSet containerField='value' name='OutSocket'>
  14.           <MetadataString containerField='value' name='socketName' value='"textTransform"'/>
  15.           <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
  16.           <MetadataString containerField='value' name='socketParentDEF' value='"TextTransform"'/>
  17.           <MetadataString containerField='value' name='socketChildNodeDEF' value='"TextEffectTransform"'/>
  18.           <MetadataString containerField='value' name='socketConnectToExtent' value='"current"'/>
  19.         </MetadataSet>
  20.       </MetadataSet>
  21.     </Transform>
  22.  
  23.     <!--IN sockets -->
  24.     <Transform>
  25.       <MetadataSet DEF='InSockets'>
  26.         <MetadataSet containerField='value' name='InSocket'>
  27.           <MetadataString containerField='value' name='socketName' value='"EffectTimer"'/>
  28.           <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
  29.           <MetadataString containerField='value' name='socketParentDEF' value='"TextSpinInterpolator"'/>
  30.           <MetadataString containerField='value' name='socketConnectAttribute' value='"set_fraction"'/>
  31.         </MetadataSet>
  32.         <MetadataSet containerField='value' name='InSocket'>
  33.           <MetadataString containerField='value' name='socketName' value='"effectDuration"'/>
  34.           <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
  35.           <MetadataString containerField='value' name='socketParentDEF' value='"DurationReciprocal"'/>
  36.           <MetadataString containerField='value' name='socketConnectAttribute' value='"Operand"'/>
  37.         </MetadataSet>
  38.       </MetadataSet>
  39.     </Transform>
  40.  
  41.     <!--Socket Nodes scratch pad (only nodes with def's are injected)-->
  42.  
  43.     <Transform DEF='TextEffectTransform'>
  44.       <Transform translation='1 1 0.025'>
  45.         <MetadataSet name='BPSet'>
  46.           <MetadataString containerField='value' name='position' value='"translation"'/>
  47.         </MetadataSet>
  48.         <Transform DEF='TextEffectSpinTransform'>
  49.           <Shape DEF='TextEffectShape'>
  50.             <Appearance DEF='TextEffectAppearance'>
  51.               <Material DEF='TextEffectMaterial' transparency ='0' ambientIntensity='0.200' shininess='0.200' diffuseColor='1 0 0'>
  52.                 <MetadataSet name='BPSet'>
  53.                   <MetadataString containerField='value' name='color' value='"diffuseColor"'/>
  54.                   <MetadataString containerField='value' name='automatic' value='"false"' reference='Custom'/>
  55.                 </MetadataSet>
  56.               </Material>
  57.  
  58.             </Appearance>
  59.  
  60.             <Text DEF='TextEffectText' containerField='geometry' string='""'>
  61.               <MetadataSet name='BPSet'>
  62.                 <MetadataString containerField='value' name='string' value='"string"'/>
  63.                 <MetadataString containerField='value' name='length' value='"length"' />
  64.                 <MetadataString containerField='value' name='maxExtent' value='"maxExtent"'/>
  65.               </MetadataSet>
  66.               <FontStyle DEF='TextEffectFontStyle' containerField='fontStyle' family='"Arial" "Trebuchet"'
  67.                   horizontal='true' justify='"MIDDLE" "END"' language='""' size='1.000'
  68.                   spacing='1.1' style='PLAIN' topToBottom='true'>
  69.                 <MetadataSet name='BPSet'>
  70.                   <MetadataString containerField='value' name='family' value='"family"'/>
  71.                   <MetadataString containerField='value' name='horizontal' value='"horizontal"'/>
  72.                   <MetadataString containerField='value' name='size' value='"size"'/>
  73.                   <MetadataString containerField='value' name='style' value='"style"'/>
  74.                   <MetadataString containerField='value' name='justify' value='"justify"'/>
  75.                 </MetadataSet>
  76.               </FontStyle>
  77.             </Text>
  78.           </Shape>
  79.         </Transform>
  80.       </Transform>
  81.     </Transform>
  82.  
  83.     <!--All nodes in this set are injected-->
  84.  
  85.     <Transform DEF='InjectSet'>
  86.       <!-- Spin Out is just like spin in, but run backwards -->
  87.       <ScalarInterpolator DEF='TextSpinInterpolator' key='0 1' keyValue='1 0'/>
  88.       <ROUTE fromNode='TextSpinInterpolator' fromField='value_changed' toNode='TextSpinTransparencyInterpolator' toField='set_fraction'/>
  89.       <ROUTE fromNode='TextSpinInterpolator' fromField='value_changed' toNode='TextSpinScaleInterpolator' toField='set_fraction'/>
  90.  
  91.       <ScalarInterpolator DEF='TextSpinTransparencyInterpolator' key='0 0.6667 1' keyValue='0 0 1'/>
  92.       <OrientationInterpolator DEF='TextSpinOrientationInterpolator' key='0 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333 0.9167 1'
  93.                               keyValue='0 0 1 0
  94.                                         0 0 1 1.5708
  95.                                         0 0 1 3.1416
  96.                                         0 0 1 4.7124
  97.                                         0 0 1 6.2832
  98.                                         0 0 1 1.5708
  99.                                         0 0 1 3.1416
  100.                                         0 0 1 4.7124
  101.                                         0 0 1 6.2832
  102.                                         0 0 1 1.5708
  103.                                         0 0 1 3.1416
  104.                                         0 0 1 4.7124
  105.                                         0 0 1 6.2832 '/>
  106.       <PositionInterpolator DEF='TextSpinScaleInterpolator' key='0 0.3333 1' keyValue='0.1 0.1 0.1, 1 1 1, 1 1 1'/>
  107.  
  108.       <ScalarInterpolator DEF='TextUITransparencyInterpolator' key='0 1' keyValue='0 1'>
  109.         <MetadataSet name='BPSet'>
  110.           <MetadataString containerField='value' name='transparency' value='"set_fraction"'/>
  111.         </MetadataSet>
  112.       </ScalarInterpolator>
  113.       <ROUTE fromField="value_changed" fromNode="TextUITransparencyInterpolator" toField="keyValue" toIndex="0" toNode="TextSpinTransparencyInterpolator"/>
  114.       <ROUTE fromField="value_changed" fromNode="TextUITransparencyInterpolator" toField="keyValue" toIndex="1" toNode="TextSpinTransparencyInterpolator"/>
  115.       <ROUTE fromNode="TextSpinTransparencyInterpolator" fromField="value_changed" toNode="TextEffectMaterial" toField="transparency" />
  116.  
  117.       <!-- Convert the desired lead-in time (0.6 seconds) to a fraction of the total duration (set by the InSocket, above) -->
  118.       <MathScalar DEF="DurationReciprocal" />
  119.       <ROUTE fromNode='DurationReciprocal' fromField='Reciprocal' toNode='LeadInDurationFraction' toField='Operand'/>
  120.       <MathScalar DEF="LeadInDurationFraction" Multiplier="0.6" />
  121.       <ROUTE fromNode='LeadInDurationFraction' fromField='ProdSum' toNode='LeadInFractionLimiterInterpolator' toField='set_fraction'/>
  122.  
  123.       <!-- Calculate 1 - 0.6/D, the fraction of the total duration of the time when we want the lead-out to begin -->
  124.       <ROUTE fromNode='LeadInDurationFraction' fromField='ProdSum' toNode='LeadOutDurationFraction' toField='Operand'/>
  125.       <MathScalar DEF="LeadOutDurationFraction" Multiplier="-1.0" Addend="1.0"/>
  126.       <ROUTE fromNode='LeadOutDurationFraction' fromField='ProdSum' toNode='LeadOutFractionLimiterInterpolator' toField='set_fraction'/>
  127.  
  128.       <!--Limit the lead-in duration to no more than 3/10 of the  duration-->
  129.       <ScalarInterpolator DEF='LeadInFractionLimiterInterpolator' key='0 0.3' keyValue='0 0.3'/>
  130.       <ROUTE fromNode='LeadInFractionLimiterInterpolator' fromField='value_changed' toNode='TextSpinScaleInterpolator' toField='key' toIndex='1'/>
  131.       <ROUTE fromNode='LeadInFractionLimiterInterpolator' fromField='value_changed' toNode='LeadInFractionInterpolator' toField='key' toIndex='1'/>
  132.       <ScalarInterpolator DEF='LeadInFractionInterpolator' key='0 1' keyValue='0 1'/>
  133.       <ROUTE fromNode='TextSpinInterpolator' fromField='value_changed' toNode='LeadInFractionInterpolator' toField='set_fraction'/>
  134.       <ROUTE fromNode='LeadInFractionInterpolator' fromField='value_changed' toNode='TextSpinOrientationInterpolator' toField='set_fraction' />
  135.  
  136.       <!--Limit the lead-out duration to no more than 3/10 of the clip duration-->
  137.       <ScalarInterpolator DEF='LeadOutFractionLimiterInterpolator' key='0.7 1' keyValue='0.7 1'/>
  138.       <ROUTE fromNode='LeadOutFractionLimiterInterpolator' fromField='value_changed' toNode='TextSpinTransparencyInterpolator' toField='key' toIndex='1'/>
  139.  
  140.       <!-- Set the center of rotation to be the centroid of the text object's bounding rectangle -->
  141.       <!-- "Origin" is the vector from the origin of the local coordinate system to the upper left corner of the text bounding rectangle. -->
  142.       <!-- We don't support vertical alignment modes so Origin.y is always 0. -->
  143.       <!-- textBounds is the vector from the upper left corner of the text bounding rectangle to the lower right corner, thus: -->
  144.       <!-- Center = Vec3f((Origin.x + textBounds.x)/2, textBounds.y/2, 0) -->
  145.  
  146.       <!-- Get the origin of the text object and add the X component to the width -->
  147.       <MathVector DEF='TextMathNodeOriginSplit'/>
  148.       <ROUTE fromNode='TextEffectText' fromField='Origin' toNode='TextMathNodeOriginSplit' toField='Vec3'/>
  149.       <ROUTE fromNode='TextMathNodeOriginSplit' fromField='ComponentX' toNode='TextMathNodeOriginAdd' toField='Operand'/>
  150.       <MathScalar DEF='TextMathNodeOriginAdd' Multiplier='1.0'/>
  151.  
  152.       <MathVector DEF='TextMathBoundsSplitter'/>
  153.       <!-- Get the size of the text object -->
  154.       <ROUTE fromNode='TextEffectText' fromField='TextBounds' toNode='TextMathBoundsSplitter' toField='Vec2'/>       
  155.       <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentX' toNode='TextMathNodeOriginAdd' toField='addend'/>
  156.       <ROUTE fromNode='TextMathNodeOriginAdd' fromField='ProdSum' toNode='TextCenterXInterpolator' toField='set_fraction'/>
  157.       <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentY' toNode='TextCenterY0Interpolator' toField='set_fraction'/>
  158.       <ROUTE fromNode='TextMathBoundsSplitter' fromField='ComponentY' toNode='TextCenterY1Interpolator' toField='set_fraction'/>
  159.       <PositionInterpolator DEF='TextCenterXInterpolator' key='-100 100' keyValue='0 0 0, 0 0 0'/>
  160.       <!-- These two interpolators calculate the Y component of a Vec3f which become start and end keyValues for the above TextCenterXInterpolator,  -->
  161.       <!-- which then calculates the X component.  This set of interpolators also does the divide by 2. -->
  162.       <PositionInterpolator DEF='TextCenterY0Interpolator' key='-100 0' keyValue='-50 -50 0, -50 0 0'/>
  163.       <PositionInterpolator DEF='TextCenterY1Interpolator' key='-100 0' keyValue=' 50 -50 0,  50 0 0'/>
  164.       <ROUTE fromNode='TextCenterY0Interpolator' fromField='value_changed' toNode='TextCenterXInterpolator' toField='keyValue' toIndex='0'/>
  165.       <ROUTE fromNode='TextCenterY1Interpolator' fromField='value_changed' toNode='TextCenterXInterpolator' toField='keyValue' toIndex='1'/>
  166.       <ROUTE fromNode='TextCenterXInterpolator' fromField='value_changed' toNode='TextEffectSpinTransform' toField='center' />
  167.  
  168.       <ROUTE fromNode="TextSpinOrientationInterpolator" fromField="value_changed" toNode="TextEffectSpinTransform" toField="rotation" />
  169.       <ROUTE fromNode="TextSpinScaleInterpolator" fromField="value_changed" toNode="TextEffectSpinTransform" toField="scale" />
  170.     </Transform>
  171.  
  172.   </Transform>
  173.   </X3D>
  174.