﻿<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Immersive"  version="3.1">
    <Transform>
        <MetadataSet name='Template'>
            <MetadataString containerField='value' name='TemplateID' value='"ShatterInTransitionTemplate"'/>
            <MetadataInteger containerField='value' name='TemplateKind' value='3'/>
            <MetadataString containerField='value' name='TimeDependentNode' value='""'/>
            <MetadataString containerField='value' name='TemplateTitle' value='"@"'/>
            <MetadataString containerField='value' name='TemplateCategory' value='"Shatters"'/>
            <MetadataString containerField='value' name='TemplateThumbnailPath' value='""'/>
            <MetadataInteger containerField='value' name='TemplateSubType' value='2'/>
            <MetadataInteger containerField='value' name='TemplateEffectKind' value='3'/>
            <MetadataInteger containerField='value' name='TransitionCompatibility' value='2'/>
        </MetadataSet>

        <!--OUT Sockets -->
        <Transform>
            <MetadataSet DEF='OutSockets'>

                <MetadataSet containerField='value' name='OutSocket'>
                    <MetadataString containerField='value' name='socketName' value='"grid"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketConnectToExtent' value='"previous"'/>
                    <MetadataString containerField='value' name='socketChildNodeDEF' value='"ShatterInGrid"'/>
                </MetadataSet>

                <MetadataSet containerField='value' name='OutSocket'>
                    <MetadataString containerField='value' name='socketName' value='"appearanceShader"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketConnectToExtent' value='"previous"'/>
                    <MetadataString containerField='value' name='socketChildNodeDEF' value='"ShatterInShader"'/>
                </MetadataSet>

            </MetadataSet>
        </Transform>

        <!--IN sockets -->
        <Transform>
            <MetadataSet DEF='InSockets'>

                <MetadataSet containerField='value' name='InSocket'>
                    <MetadataString containerField='value' name='socketName' value='"transitionTimer"'/>
                    <MetadataFloat containerField='value' name='socketCompatibilitySet' value='1.0'/>
                    <MetadataString containerField='value' name='socketParentDEF' value='"ShatterInInterpolator"'/>
                    <MetadataString containerField='value' name='socketConnectAttribute' value='"set_fraction"'/>
                </MetadataSet>

            </MetadataSet>
        </Transform>

        <!--Socket Nodes scratch pad (only nodes with def's are injected)-->
        <Transform>
            <Shape>
                <Appearance>
                    <GridShader DEF="ShatterInShader"/>
                </Appearance>
                    <ShatterGrid DEF="ShatterInGrid" maxParticles="1600"
                                                     particleSpeed="12"
                                                     particleSpinSpeed=".5"
                                                     scatterDirection="'in'"
                                                     size="8 6"
                                                     solid="false"
                                                     spinDirection="'yawRight' 'pitchDown' 'rollCw'" />
            </Shape>
        </Transform>

        <!--Nodes that need to be injected-->
        <Transform DEF='InjectSet'>
            <ScalarInterpolator DEF='ShatterInInterpolator' key='0 1' keyValue='0 1'/>
            <ROUTE fromNode='ShatterInInterpolator' fromField='value_changed' toNode='ShatterInShader' toField='set_fraction'/>
        </Transform>

    </Transform>
</X3D>
