1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
|
3 | <X3D profile='Immersive' version='4.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'> |
4 | <head> |
5 | <component level='1' name='HAnim'/> |
6 | <meta name='title' content='MainStage.x3d'/> |
7 | <meta name='description' content='Main stage for HAnim scene Winter and Spring.'/> |
8 | <meta name='creator' content='Carol McDonald, Joe Williams, Katy Schildmeyer, and John Carlson'/> |
9 | <meta name='translator' content='Joe Williams and Don Brutzman'/> |
10 | <meta name='created' content='25 May 2023'/> |
11 | <meta name='modified' content='8 September 2024'/> |
12 | <meta name='reference' content='MainStageREADME.txt'/> |
13 | <meta name='hint' content='containerField=watchList changed to containerField=children in X3D 4.0'/> |
14 | <meta name='MovingImage' content='WinterAndSpring3 by Joe Williams https://youtu.be/5HrX7_uu9mU'/> |
15 | <meta name='reference' content='originals/0WSMainStage09g.x3d'/> |
16 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/MainStage.x3d'/> |
17 | <meta name='generator' content='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit'/> |
18 | <meta name='license' content='../license.html'/> |
19 | </head> |
20 | <Scene> |
21 | <WorldInfo title='MainStage.x3d'/> |
22 | <NavigationInfo headlight='false' transitionTime='0'/> |
23 | <!-- These lights are intentionally shining on all of the models loaded within a top-level scene --> |
24 | <DirectionalLight direction='0 0 1' global='true' intensity='0.75'/> |
25 | <DirectionalLight global='true' intensity='0.75'/> |
26 | <DirectionalLight global='true' intensity='0.75'/> |
27 | <DirectionalLight direction='-1 0 0' global='true' intensity='0.75'/> |
28 | <DirectionalLight direction='0 -0.75 0' global='true' intensity='0.75'/> |
29 |
<!-- ROUTE information for StartTIME node:
[from EveryInlineLoadSensor.loadTime to startTime
]
[from stopTime to DelayTIME.set_startTime
]
[from stopTime to Melodies1.set_startTime
]
[self-route from cycleTime to set_stopTime
]
-->
<TimeSensor DEF='StartTIME'/> |
30 | <!-- scene ready signal Start audio --> |
31 |
<!-- ROUTE information for DelayTIME node:
[from StartTIME.stopTime to set_startTime
]
[from isActive to DelayFILTER.set_boolean
]
-->
<TimeSensor DEF='DelayTIME' cycleInterval='0.5'/> |
32 | <!-- delay between start audio and start animations --> |
33 |
<!-- ROUTE information for Clock100Seconds node:
[from Clock100SecondsTRIGGER.triggerTime to set_startTime
]
[from fraction_changed to Gramps_HumanoidRoot_TranslationInterpolator.set_fraction
]
[from fraction_changed to Gramps_HumanoidRoot_RotationInterpolator.set_fraction
]
[from fraction_changed to Leif_Root_TranslationInterpolator.set_fraction
]
[from fraction_changed to Leif_HumanoidRoot_RotationInterpolator.set_fraction
]
[from fraction_changed to Lily_HumanoidRoot_TranslationInterpolator.set_fraction
]
[from fraction_changed to Lily_HumanoidRoot_RotationInterpolator.set_fraction
]
[from fraction_changed to Tufani_HumanoidRoot_TranslationInterpolator.set_fraction
]
[from fraction_changed to Tufani_HumanoidRoot_RotationInterpolator.set_fraction
]
[from fraction_changed to Scene_StageFarViewSequencer.set_fraction
]
[from fraction_changed to WinterAndSpringTitleViewSequencer.set_fraction
]
[from fraction_changed to WSAuthorsTitleViewSequencer.set_fraction
]
[from fraction_changed to Scene_GrampsBack1ViewSequencer.set_fraction
]
[from fraction_changed to Scene_KidsRunningTowardGrampsSequencer.set_fraction
]
[from fraction_changed to LeifViewSequencer.set_fraction
]
[from fraction_changed to LilyViewSequencer.set_fraction
]
[from fraction_changed to TufaniViewSequencer.set_fraction
]
[from fraction_changed to Gramps01ViewSequencer.set_fraction
]
[from fraction_changed to Gramps03ViewSequencer.set_fraction
]
[from fraction_changed to WSDedicationTitleViewSequencer.set_fraction
]
[from fraction_changed to WSThanksTitleViewSequencer.set_fraction
]
[from fraction_changed to WSMusicCreditsTitleViewSequencer.set_fraction
]
[from fraction_changed to Background1BlackSequencer.set_fraction
]
[from fraction_changed to Background2GraySkyGreenGrassSequencer.set_fraction
]
[from fraction_changed to Background3SkyBlueGreenGrassSequencer.set_fraction
]
[from fraction_changed to Background4DarkGreySequencer.set_fraction
]
-->
<TimeSensor DEF='Clock100Seconds' cycleInterval='100'/> |
34 | <!-- start animation --> |
35 |
<!-- ROUTE information for DelayFILTER node:
[from DelayTIME.isActive to set_boolean
]
[from inputFalse to Clock100SecondsTRIGGER.set_boolean
]
-->
<BooleanFilter DEF='DelayFILTER'/> |
36 |
<!-- ROUTE information for Clock100SecondsTRIGGER node:
[from DelayFILTER.inputFalse to set_boolean
]
[from triggerTime to Clock100Seconds.set_startTime
]
-->
<TimeTrigger DEF='Clock100SecondsTRIGGER'/> |
37 | <!-- generate Clock100Seconds startTime from completion of Delay --> |
38 | < ROUTE fromNode='StartTIME' fromField='cycleTime' toNode='StartTIME' toField='set_stopTime'/> |
39 | <!-- stop Start --> |
40 | < ROUTE fromNode='StartTIME' fromField='stopTime' toNode='DelayTIME' toField='set_startTime'/> |
41 | <!-- turn on delay and audio --> |
42 | < ROUTE fromNode='DelayTIME' fromField='isActive' toNode='DelayFILTER' toField='set_boolean'/> |
43 | < ROUTE fromNode='DelayFILTER' fromField='inputFalse' toNode='Clock100SecondsTRIGGER' toField='set_boolean'/> |
44 | < ROUTE fromNode='Clock100SecondsTRIGGER' fromField='triggerTime' toNode='Clock100Seconds' toField='set_startTime'/> |
45 | <!-- start animation timer --> |
46 | <Group DEF='WSAudio'> |
47 | <Sound DEF='SceneMusic1' location='-5 10 10' maxBack='50' maxFront='50' minBack='25' minFront='25' spatialize='false'> |
48 | <!-- X3D Players should pick the first version that works, providing better interoperability --> |
49 | <!-- For playability in this very big scene, the audio files are ordered by smaller file sizes first --> |
50 |
<!-- ROUTE information for Melodies1 node:
[from StartTIME.stopTime to set_startTime
]
-->
<AudioClip DEF='Melodies1' description='John Harrison with the Wichita State University Chamber' url=' "audio/Winter_Spring_rv2_keyedMono.wav" "audio/winter_spring_rv2_keyed_143.wav" "audio/winter_spring_rv2_keyed.mp3" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/audio/Winter_Spring_rv2_keyedMono.wav" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/audio/winter_spring_rv2_keyed_143.wav" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/audio/winter_spring_rv2_keyed.mp3" '/> |
51 | </Sound> |
52 | <!-- start audio --> |
53 | < ROUTE fromNode='StartTIME' fromField='stopTime' toNode='Melodies1' toField='set_startTime'/> |
54 | </Group> |
55 | <Group DEF='GrampsStage'> |
56 | <Group DEF='StageSurface'> |
57 | <Transform DEF='Floor' translation='15 -0.3 15'> |
58 | <Shape> |
59 | <Box size='1500 0.1 1500'/> |
60 | <Appearance> |
61 | <ImageTexture url=' "images/Lawn.jpg " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/Lawn.jpg " '/> |
62 | <Material diffuseColor='0 0.8 0.0' emissiveColor='0 0.7 0' specularColor='0 0.4 0'/> |
63 | </Appearance> |
64 | </Shape> |
65 | </Transform> |
66 | <Transform DEF='PathwaySurface1' translation='0 -0.15 0'> |
67 |
<!-- Inline
PathMeshTopSurface is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <Inline DEF='PathMeshTopSurface' url=' "PathMeshTopSurface.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/PathMeshTopSurface.x3d" "PathMeshTopSurface.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/PathMeshTopSurface.wrl" '/> |
68 | </Transform> |
69 | <Transform DEF='PathwaySurface2' translation='0 -0.1 0.1'> |
70 | <Inline USE='PathMeshTopSurface'/> |
71 | </Transform> |
72 | <Transform DEF='PathwayGrid' translation='0.0 -0.12 0'> |
73 |
<!-- Inline
Pathway is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='Pathway' url=' "Pathway.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Pathway.x3d" "Pathway.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Pathway.wrl" '/> |
74 | </Transform> |
75 | </Group> |
76 | <Group DEF='StageDecorations'> |
77 | <Transform DEF='BushesTransform' translation='0 -0.2 0'> |
78 |
<!-- Inline
Bushes is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='Bushes' url=' "Bushes.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Bushes.x3d" "Bushes.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Bushes.wrl" '/> |
79 | </Transform> |
80 | <Transform DEF='BorderFlowers'> |
81 |
<!-- Inline
FlowerSet is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='FlowerSet' url=' "FlowerSet.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/FlowerSet.x3d" "FlowerSet.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/FlowerSet.wrl" '/> |
82 | </Transform> |
83 | <Transform DEF='TwoFlowerGardens'> |
84 |
<!-- Inline
FlowerGardens is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='FlowerGardens' url=' "FlowerGardens.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/FlowerGardens.x3d" "FlowerGardens.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/FlowerGardens.wrl" '/> |
85 | </Transform> |
86 | </Group> |
87 | <Group DEF='TitlesandViewpointsInOrderofAppearance'> |
88 |
<!-- ROUTE information for Scene_StageFarView node:
[from Scene_StageFarViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Scene_StageFarView' centerOfRotation='9.8557 0 3.5' description='Stage Far View' orientation='0.5 1.76 0.3 -1' position='-15 10 32'/> |
89 | <Group DEF='TitleSet1of2'> |
90 | <Transform DEF='TitleSet1'> |
91 | <Transform DEF='WinterAndSpringTitle' translation='10 10 0'> |
92 |
<!-- ROUTE information for WinterAndSpringTitleView node:
[from WinterAndSpringTitleViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='WinterAndSpringTitleView' description='Look at WS title' jump='false' orientation='-0.15 0 0 0.2' position='0 0.75 4'/> |
93 | <Shape> |
94 | <Box size='4 3 0.25'/> |
95 | <Appearance> |
96 | <ImageTexture url=' "images/WinterAndSpring.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/WinterAndSpring.png " '/> |
97 | <Material/> |
98 | </Appearance> |
99 | </Shape> |
100 | </Transform> |
101 | <Transform DEF='WSAuthorsTitle' translation='10 10 -5'> |
102 |
<!-- ROUTE information for WSAuthorsTitleView node:
[from WSAuthorsTitleViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='WSAuthorsTitleView' description='Look at Authors title' jump='false' orientation='-0.15 0 0 0.2' position='0 1 5'/> |
103 | <Shape> |
104 | <Box size='4 3 0.25'/> |
105 | <Appearance> |
106 | <ImageTexture url=' "images/WSAuthorsAll.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/WSAuthorsAll.png " '/> |
107 | <Material/> |
108 | </Appearance> |
109 | </Shape> |
110 | </Transform> |
111 | </Transform> |
112 | </Group> |
113 | <Group DEF='SceneViewpoints01'> |
114 | <!-- Looking down the path --> |
115 |
<!-- ROUTE information for Scene_GrampsBack1View node:
[from Scene_GrampsBack1ViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Scene_GrampsBack1View' centerOfRotation='7 1.5 0' description='Looking down the path' orientation='0 1 0 -2.7' position='7 2 -6.5'/> |
116 | <!-- Looking toward the bushes --> |
117 |
<!-- ROUTE information for Scene_KidsRunningTowardGramps node:
[from Scene_KidsRunningTowardGrampsSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Scene_KidsRunningTowardGramps' centerOfRotation='10 0.8 4' description='Grand Kids Running' orientation='0 1 0 1.5' position='11 1.6 4'/> |
118 | </Group> |
119 | <Group DEF='CharactersAndCharacterViewpoints'> |
120 | <Transform DEF='Gramps'> |
121 |
<!-- ROUTE information for GrampsBox node:
[from Gramps_HumanoidRoot_TranslationInterpolator.value_changed to set_translation
]
[from Gramps_HumanoidRoot_RotationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='GrampsBox' translation='6.6 0 0.5'> |
122 |
<!-- ROUTE information for Gramps01View node:
[from Gramps01ViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Gramps01View' description='Look at Gramps' orientation='-0.25 0 0 0.3' position='0 4 11'/> |
123 | <!-- Viewpoint DEF='Gramps02View' description='Look over Gramps Shoulder' orientation='0 1 0 3' position='-3 2 -9'/ --> |
124 | <!-- PointLight location='0 5 15' global='true' intensity='0.5' / --> |
125 |
<!-- ROUTE information for Gramps03View node:
[from Gramps03ViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Gramps03View' description='Look at Heart over Gramps Shoulder' orientation='0 0.7 0 3' position='-1 2 -8'/> |
126 |
<!-- Inline
Gramps11 is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='Gramps11' url=' "Gramps11.x3dv" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/Gramps11.x3dv" '/> |
127 | <!-- TODO get proper conversion of Gramps <Inline DEF='GrampsAnimations' "url='GrampsAnimations.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/GrampsAnimations.x3d" "GrampsAnimations.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/GrampsAnimations.wrl'/>" --> |
128 | <!-- visual debug assist --> |
129 |
<!-- Inline
JointCoordinateAxes is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='JointCoordinateAxes' url=' "JointCoordinateAxes.x3dv" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/JointCoordinateAxes.x3d" '/> |
130 | <Transform> |
131 |
<!-- Inline
CaneFitting is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='CaneFitting' url=' "CaneFitting.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/CaneFitting.x3d" "CaneFitting.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/CaneFitting.wrl" '/> |
132 | </Transform> |
133 | </Transform> |
134 | </Transform> |
135 | <Transform DEF='GrampsGrandKids'> |
136 | <!-- TODO Viewpoint DEF='GrampsGrandKidsView' description='Look at Gramps GrandKids' orientation='-0.25 0 0 0.3' position='0 4 9'/> --> |
137 | <!-- Leif --> |
138 | <Transform DEF='Leif'> |
139 |
<!-- ROUTE information for LeifBox node:
[from Leif_Root_TranslationInterpolator.value_changed to set_translation
]
[from Leif_HumanoidRoot_RotationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='LeifBox' translation='-7.9962 0.0046 3.000'> |
140 | <!-- PointLight location='0 10 15' global='true' intensity='0.5' / --> |
141 |
<!-- ROUTE information for LeifView node:
[from LeifViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='LeifView' description='Look at Leif' orientation='-0.25 0 0 0.5' position='0 2 4'/> |
142 |
<!-- Inline
LeifAnimated is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LeifAnimated' url=' "LeifAnimated.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LeifAnimated.x3d" "LeifAnimated.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LeifAnimated.wrl" '/> |
143 | </Transform> |
144 | </Transform> |
145 | <!-- Lily --> |
146 | <Transform DEF='Lily'> |
147 |
<!-- ROUTE information for LilyBox node:
[from Lily_HumanoidRoot_TranslationInterpolator.value_changed to set_translation
]
[from Lily_HumanoidRoot_RotationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='LilyBox' translation='-8.0962 0.0046 5.600'> |
148 | <!-- PointLight location='0 10 15' global='true' intensity='0.5' / --> |
149 |
<!-- ROUTE information for Lilyview node:
[from LilyViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Lilyview' description='Look at Lily' orientation='-0.25 0 0 0.5' position='0 2 4'/> |
150 |
<!-- Inline
LilyAnimated is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='LilyAnimated' url=' "LilyAnimated.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LilyAnimated.x3d" "LilyAnimated.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/LilyAnimated.wrl" '/> |
151 | </Transform> |
152 | </Transform> |
153 | <!-- Tufani --> |
154 | <Transform DEF='Tufani'> |
155 |
<!-- ROUTE information for TufaniBox node:
[from Tufani_HumanoidRoot_TranslationInterpolator.value_changed to set_translation
]
[from Tufani_HumanoidRoot_RotationInterpolator.value_changed to set_rotation
]
-->
<Transform DEF='TufaniBox' translation='-8.0962 0.0046 6.400'> |
156 | <!-- PointLight location='0 10 15' global='true' intensity='0.5' / --> |
157 |
<!-- ROUTE information for Tufaniview node:
[from TufaniViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='Tufaniview' description='Look at Tufani' orientation='-0.25 0 0 0.5' position='0 2 4'/> |
158 |
<!-- Inline
TufaniAnimated is a DEF node that has 1 USE node: USE_1 --> <Inline DEF='TufaniAnimated' url=' "TufaniAnimated.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/TufaniAnimated.x3d" "TufaniAnimated.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/TufaniAnimated.wrl" '/> |
159 | </Transform> |
160 | </Transform> |
161 | </Transform> |
162 | <!-- Gramps and GrandKids Translation and Orientation --> |
163 | <!-- All other animations are in file for character --> |
164 |
<!-- ROUTE information for Gramps_HumanoidRoot_TranslationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to GrampsBox.set_translation
]
-->
<PositionInterpolator DEF='Gramps_HumanoidRoot_TranslationInterpolator' key='0 0.09 0.11 0.22 0.43 0.55 0.63 0.73 0.85 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1' keyValue='6.6 0 0.5 6.8557 0 0.5 6.8557 0 0.5 9.8557 0 3.5 9.8557 0.1 3.5 9.8557 0 3.5 14.3558 0 8.0 16.8558 0 15.0 21.3557 0 24.5 21.3557 0.05 24.5 21.3557 0 24.5 21.3557 0.05 24.5 21.3557 0 24.5 21.3557 0.05 24.5 21.3557 0 24.5 21.3557 0.1 24.5 21.3557 0 24.5'/> |
165 |
<!-- ROUTE information for Gramps_HumanoidRoot_RotationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to GrampsBox.set_rotation
]
-->
<OrientationInterpolator DEF='Gramps_HumanoidRoot_RotationInterpolator' key='0 0.09 0.11 0.22 0.25 0.43 0.55 0.63 0.73 0.85 0.88 0.90 0.92 0.94 0.96 0.98 1' keyValue='0 1 0 1.65 0 1 0 1.65 0 1 0 1 0 1 0 -0.5 0 1 0 -1 0 1 0 -1.7 0 1 0 1 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.35 0 1 0 0.36 0 1 0 0.36'/> |
166 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Gramps_HumanoidRoot_TranslationInterpolator' toField='set_fraction'/> |
167 | < ROUTE fromNode='Gramps_HumanoidRoot_TranslationInterpolator' fromField='value_changed' toNode='GrampsBox' toField='set_translation'/> |
168 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Gramps_HumanoidRoot_RotationInterpolator' toField='set_fraction'/> |
169 | < ROUTE fromNode='Gramps_HumanoidRoot_RotationInterpolator' fromField='value_changed' toNode='GrampsBox' toField='set_rotation'/> |
170 |
<!-- ROUTE information for Leif_Root_TranslationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to LeifBox.set_translation
]
-->
<PositionInterpolator DEF='Leif_Root_TranslationInterpolator' key='0 0.09 0.11 0.21 0.223 0.43 0.55 0.63 0.73 0.75 0.85 0.9 1' keyValue='-7.9962 0.0046 3.000 -7.9962 0.0046 3.000 -7.9962 0.0046 3.000 -7.9962 0.1046 3.000 -7.9962 0.0046 3.000 9.0038 0.0796 2.4999 11.5048 0.0796 3.4999 16.0038 0.0796 7.8699 18.5038 0.1796 14.8699 18.5038 0.0796 14.8699 23.0038 0.0796 24.3699 23.0038 0.0796 24.3699 23.0038 0.0796 24.3699'/> |
171 |
<!-- ROUTE information for Leif_HumanoidRoot_RotationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to LeifBox.set_rotation
]
-->
<OrientationInterpolator DEF='Leif_HumanoidRoot_RotationInterpolator' key='0 0.05 0.11 0.22 0.25 0.43 0.55 0.63 0.73 0.85 0.88 0.90 0.92 0.94 0.96 0.98 1' keyValue='0 0 1 0 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.0 0 1 0 0.5 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3'/> |
172 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Leif_Root_TranslationInterpolator' toField='set_fraction'/> |
173 | < ROUTE fromNode='Leif_Root_TranslationInterpolator' fromField='value_changed' toNode='LeifBox' toField='set_translation'/> |
174 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Leif_HumanoidRoot_RotationInterpolator' toField='set_fraction'/> |
175 | < ROUTE fromNode='Leif_HumanoidRoot_RotationInterpolator' fromField='value_changed' toNode='LeifBox' toField='set_rotation'/> |
176 |
<!-- ROUTE information for Lily_HumanoidRoot_TranslationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to LilyBox.set_translation
]
-->
<PositionInterpolator DEF='Lily_HumanoidRoot_TranslationInterpolator' key='0 0.09 0.11 0.225 0.43 0.55 0.63 0.73 0.85 0.86 1' keyValue='-8.0962 0.0046 5.600 -8.0962 0.0046 5.600 -8.0962 0.0046 5.600 -8.0962 0.0046 5.600 8.9038 0.0796 3.0999 10.1538 0.0796 3.0999 15.1538 0.0796 7.8499 17.6538 0.0796 14.8499 22.1538 0.0796 24.3499 22.1538 0.0796 24.3499 22.1538 0.0796 24.3499'/> |
177 |
<!-- ROUTE information for Lily_HumanoidRoot_RotationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to LilyBox.set_rotation
]
-->
<OrientationInterpolator DEF='Lily_HumanoidRoot_RotationInterpolator' key='0 0.07 0.11 0.22 0.25 0.43 0.55 0.63 0.73 0.85 0.88 0.90 0.92 0.94 0.96 0.98 1' keyValue='0 0 1 0 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.0 0 1 0 0.5 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3'/> |
178 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Lily_HumanoidRoot_TranslationInterpolator' toField='set_fraction'/> |
179 | < ROUTE fromNode='Lily_HumanoidRoot_TranslationInterpolator' fromField='value_changed' toNode='LilyBox' toField='set_translation'/> |
180 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Lily_HumanoidRoot_RotationInterpolator' toField='set_fraction'/> |
181 | < ROUTE fromNode='Lily_HumanoidRoot_RotationInterpolator' fromField='value_changed' toNode='LilyBox' toField='set_rotation'/> |
182 |
<!-- ROUTE information for Tufani_HumanoidRoot_TranslationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to TufaniBox.set_translation
]
-->
<PositionInterpolator DEF='Tufani_HumanoidRoot_TranslationInterpolator' key='0 0.09 0.11 0.227 0.43 0.55 0.63 0.73 0.85 0.86 1' keyValue='-8.0962 0.0046 6.400 -8.0962 0.0046 6.400 -8.0962 0.0046 6.400 -8.0962 0.0046 6.400 8.7038 0.0796 3.8999 9.2038 0.0796 3.6499 13.6538 0.0796 7.7699 16.1538 0.0796 14.7699 20.6538 0.0796 24.2699 20.6538 0.0796 24.2699 20.6538 0.0796 24.2699'/> |
183 |
<!-- ROUTE information for Tufani_HumanoidRoot_RotationInterpolator node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to TufaniBox.set_rotation
]
-->
<OrientationInterpolator DEF='Tufani_HumanoidRoot_RotationInterpolator' key='0 0.09 0.11 0.22 0.25 0.43 0.55 0.63 0.73 0.85 0.88 0.90 0.92 0.94 0.96 0.98 1' keyValue='0 0 1 0 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.6 0 1 0 1.0 0 1 0 0.5 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3 0 1 0 0.3'/> |
184 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Tufani_HumanoidRoot_TranslationInterpolator' toField='set_fraction'/> |
185 | < ROUTE fromNode='Tufani_HumanoidRoot_TranslationInterpolator' fromField='value_changed' toNode='TufaniBox' toField='set_translation'/> |
186 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Tufani_HumanoidRoot_RotationInterpolator' toField='set_fraction'/> |
187 | < ROUTE fromNode='Tufani_HumanoidRoot_RotationInterpolator' fromField='value_changed' toNode='TufaniBox' toField='set_rotation'/> |
188 | </Group> |
189 | <Group DEF='SceneViewPoints02'> |
190 | <!-- Insert other PageDown viewpoints before final titles --> |
191 | <Transform DEF='WSDedicationTitle' translation='10 10 -10'> |
192 |
<!-- ROUTE information for WSDedicationTitleView node:
[from WSDedicationTitleViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='WSDedicationTitleView' description='Look at Dedication title' jump='false' orientation='-0.15 0 0 0.2' position='0 1 5'/> |
193 | <Shape> |
194 | <Box size='4 3 0.25'/> |
195 | <Appearance> |
196 | <ImageTexture url=' "images/WSDedicationR1.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/WSDedicationR1.png " '/> |
197 | <Material/> |
198 | </Appearance> |
199 | </Shape> |
200 | </Transform> |
201 | <Transform DEF='WSThanksTitle' translation='10 10 -15'> |
202 |
<!-- ROUTE information for WSThanksTitleView node:
[from WSThanksTitleViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='WSThanksTitleView' description='Look at Thanks title' jump='false' orientation='-0.15 0 0 0.2' position='0 1 5'/> |
203 | <Shape> |
204 | <Box size='4 3 0.25'/> |
205 | <Appearance> |
206 | <ImageTexture url=' "images/WSThanksR2trimmed.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/WSThanksR2trimmed.png " '/> |
207 | <Material/> |
208 | </Appearance> |
209 | </Shape> |
210 | </Transform> |
211 | <Transform DEF='WSMusicCreditsTitle' translation='10 10 -20'> |
212 |
<!-- ROUTE information for WSMusicCreditsTitleView node:
[from WSMusicCreditsTitleViewSequencer.value_changed to set_bind
]
-->
<Viewpoint DEF='WSMusicCreditsTitleView' description='Look at Music Credits title' jump='false' orientation='-0.15 0 0 0.2' position='0 1 5'/> |
213 | <Shape> |
214 | <Box size='4 3 0.25'/> |
215 | <Appearance> |
216 | <ImageTexture url=' "images/WSMusicCreditAll.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/WSMusicCreditAll.png " '/> |
217 | <Material/> |
218 | </Appearance> |
219 | </Shape> |
220 | </Transform> |
221 | </Group> |
222 | </Group> |
223 | </Group> |
224 | <!-- Sequencers for Viewpoints --> |
225 |
<!-- ROUTE information for Scene_StageFarViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Scene_StageFarView.set_bind
]
-->
<BooleanSequencer DEF='Scene_StageFarViewSequencer' key='0 1' keyValue='true false'/> |
226 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Scene_StageFarViewSequencer' toField='set_fraction'/> |
227 | < ROUTE fromNode='Scene_StageFarViewSequencer' fromField='value_changed' toNode='Scene_StageFarView' toField='set_bind'/> |
228 |
<!-- ROUTE information for WinterAndSpringTitleViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to WinterAndSpringTitleView.set_bind
]
-->
<BooleanSequencer DEF='WinterAndSpringTitleViewSequencer' key='0 0.03 1' keyValue='false true false'/> |
229 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='WinterAndSpringTitleViewSequencer' toField='set_fraction'/> |
230 | < ROUTE fromNode='WinterAndSpringTitleViewSequencer' fromField='value_changed' toNode='WinterAndSpringTitleView' toField='set_bind'/> |
231 |
<!-- ROUTE information for WSAuthorsTitleViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to WSAuthorsTitleView.set_bind
]
-->
<BooleanSequencer DEF='WSAuthorsTitleViewSequencer' key='0 0.06 1' keyValue='false true false'/> |
232 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='WSAuthorsTitleViewSequencer' toField='set_fraction'/> |
233 | < ROUTE fromNode='WSAuthorsTitleViewSequencer' fromField='value_changed' toNode='WSAuthorsTitleView' toField='set_bind'/> |
234 |
<!-- ROUTE information for Scene_GrampsBack1ViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Scene_GrampsBack1View.set_bind
]
-->
<BooleanSequencer DEF='Scene_GrampsBack1ViewSequencer' key='0 0.09 1' keyValue='false true false'/> |
235 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Scene_GrampsBack1ViewSequencer' toField='set_fraction'/> |
236 | < ROUTE fromNode='Scene_GrampsBack1ViewSequencer' fromField='value_changed' toNode='Scene_GrampsBack1View' toField='set_bind'/> |
237 |
<!-- ROUTE information for Scene_KidsRunningTowardGrampsSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Scene_KidsRunningTowardGramps.set_bind
]
-->
<BooleanSequencer DEF='Scene_KidsRunningTowardGrampsSequencer' key='0 0.23 1' keyValue='false true false'/> |
238 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Scene_KidsRunningTowardGrampsSequencer' toField='set_fraction'/> |
239 | < ROUTE fromNode='Scene_KidsRunningTowardGrampsSequencer' fromField='value_changed' toNode='Scene_KidsRunningTowardGramps' toField='set_bind'/> |
240 |
<!-- ROUTE information for LeifViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to LeifView.set_bind
]
-->
<BooleanSequencer DEF='LeifViewSequencer' key='0 0.30 1' keyValue='false false false'/> |
241 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='LeifViewSequencer' toField='set_fraction'/> |
242 | < ROUTE fromNode='LeifViewSequencer' fromField='value_changed' toNode='LeifView' toField='set_bind'/> |
243 |
<!-- ROUTE information for LilyViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Lilyview.set_bind
]
-->
<BooleanSequencer DEF='LilyViewSequencer' key='0 0.33 1' keyValue='false true false'/> |
244 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='LilyViewSequencer' toField='set_fraction'/> |
245 | < ROUTE fromNode='LilyViewSequencer' fromField='value_changed' toNode='Lilyview' toField='set_bind'/> |
246 |
<!-- ROUTE information for TufaniViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Tufaniview.set_bind
]
-->
<BooleanSequencer DEF='TufaniViewSequencer' key='0 0.36 1' keyValue='false false false'/> |
247 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='TufaniViewSequencer' toField='set_fraction'/> |
248 | < ROUTE fromNode='TufaniViewSequencer' fromField='value_changed' toNode='Tufaniview' toField='set_bind'/> |
249 |
<!-- ROUTE information for Gramps01ViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Gramps01View.set_bind
]
-->
<BooleanSequencer DEF='Gramps01ViewSequencer' key='0 0.56 1' keyValue='false true false'/> |
250 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Gramps01ViewSequencer' toField='set_fraction'/> |
251 | < ROUTE fromNode='Gramps01ViewSequencer' fromField='value_changed' toNode='Gramps01View' toField='set_bind'/> |
252 |
<!-- ROUTE information for Gramps03ViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Gramps03View.set_bind
]
-->
<BooleanSequencer DEF='Gramps03ViewSequencer' key='0 0.75 1' keyValue='false true true'/> |
253 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Gramps03ViewSequencer' toField='set_fraction'/> |
254 | < ROUTE fromNode='Gramps03ViewSequencer' fromField='value_changed' toNode='Gramps03View' toField='set_bind'/> |
255 |
<!-- ROUTE information for WSDedicationTitleViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to WSDedicationTitleView.set_bind
]
-->
<BooleanSequencer DEF='WSDedicationTitleViewSequencer' key='0 0.89 1' keyValue='false true false'/> |
256 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='WSDedicationTitleViewSequencer' toField='set_fraction'/> |
257 | < ROUTE fromNode='WSDedicationTitleViewSequencer' fromField='value_changed' toNode='WSDedicationTitleView' toField='set_bind'/> |
258 |
<!-- ROUTE information for WSThanksTitleViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to WSThanksTitleView.set_bind
]
-->
<BooleanSequencer DEF='WSThanksTitleViewSequencer' key='0 0.93 1' keyValue='false true false'/> |
259 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='WSThanksTitleViewSequencer' toField='set_fraction'/> |
260 | < ROUTE fromNode='WSThanksTitleViewSequencer' fromField='value_changed' toNode='WSThanksTitleView' toField='set_bind'/> |
261 |
<!-- ROUTE information for WSMusicCreditsTitleViewSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to WSMusicCreditsTitleView.set_bind
]
-->
<BooleanSequencer DEF='WSMusicCreditsTitleViewSequencer' key='0 0.96 1' keyValue='false true false'/> |
262 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='WSMusicCreditsTitleViewSequencer' toField='set_fraction'/> |
263 | < ROUTE fromNode='WSMusicCreditsTitleViewSequencer' fromField='value_changed' toNode='WSMusicCreditsTitleView' toField='set_bind'/> |
264 | <Group DEF='BackgroundsAndBackgroundSwitching'> |
265 | <!-- Backgrounds --> |
266 | <!-- This is black for all --> |
267 |
<!-- ROUTE information for Background1Black node:
[from Background1BlackSequencer.value_changed to set_bind
]
-->
<Background DEF='Background1Black' groundColor='0 0 0'/> |
268 | <!-- This is light gray sky and green grass --> |
269 |
<!-- ROUTE information for Background2GraySkyGreenGrass node:
[from Background2GraySkyGreenGrassSequencer.value_changed to set_bind
]
-->
<Background DEF='Background2GraySkyGreenGrass' groundAngle='1.57' groundColor='0.956 0.639 0 0.721 1 0.501' skyColor='0.827 0.827 0.827' backUrl=' "images/SCENE_FOG_1.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/SCENE_FOG_1.png " ' frontUrl=' "images/SCENE_FOG_1.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/SCENE_FOG_1.png " ' leftUrl=' "images/SCENE_FOG_1.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/SCENE_FOG_1.png " ' rightUrl=' "images/SCENE_FOG_1.png " "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/WinterAndSpring/images/SCENE_FOG_1.png " '/> |
270 | <!-- This is blue sky and green grass --> |
271 |
<!-- ROUTE information for Background3BlueSkyGreenGrass node:
[from Background3SkyBlueGreenGrassSequencer.value_changed to set_bind
]
-->
<Background DEF='Background3BlueSkyGreenGrass' groundAngle='1.57' groundColor='0.356 0.639 0 0.721 1 0.501' skyColor='0 0.71 0.886'/> |
272 | <!-- This is DarkGrey background and white text for all --> |
273 |
<!-- ROUTE information for Background4DarkGrey node:
[from Background4DarkGreySequencer.value_changed to set_bind
]
-->
<Background DEF='Background4DarkGrey' skyColor='0.6 0.6 0.6'/> |
274 |
<!-- ROUTE information for Background1BlackSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Background1Black.set_bind
]
-->
<BooleanSequencer DEF='Background1BlackSequencer' key='0 0.90 1' keyValue='true true true'/> |
275 |
<!-- ROUTE information for Background2GraySkyGreenGrassSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Background2GraySkyGreenGrass.set_bind
]
-->
<BooleanSequencer DEF='Background2GraySkyGreenGrassSequencer' key='0 0.09 1' keyValue='false true false'/> |
276 |
<!-- ROUTE information for Background3SkyBlueGreenGrassSequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Background3BlueSkyGreenGrass.set_bind
]
-->
<BooleanSequencer DEF='Background3SkyBlueGreenGrassSequencer' key='0 0.22 1' keyValue='false true false'/> |
277 |
<!-- ROUTE information for Background4DarkGreySequencer node:
[from Clock100Seconds.fraction_changed to set_fraction
]
[from value_changed to Background4DarkGrey.set_bind
]
-->
<BooleanSequencer DEF='Background4DarkGreySequencer' key='0 0.85 1' keyValue='false true false'/> |
278 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Background1BlackSequencer' toField='set_fraction'/> |
279 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Background2GraySkyGreenGrassSequencer' toField='set_fraction'/> |
280 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Background3SkyBlueGreenGrassSequencer' toField='set_fraction'/> |
281 | < ROUTE fromNode='Clock100Seconds' fromField='fraction_changed' toNode='Background4DarkGreySequencer' toField='set_fraction'/> |
282 | < ROUTE fromNode='Background1BlackSequencer' fromField='value_changed' toNode='Background1Black' toField='set_bind'/> |
283 | < ROUTE fromNode='Background2GraySkyGreenGrassSequencer' fromField='value_changed' toNode='Background2GraySkyGreenGrass' toField='set_bind'/> |
284 | < ROUTE fromNode='Background3SkyBlueGreenGrassSequencer' fromField='value_changed' toNode='Background3BlueSkyGreenGrass' toField='set_bind'/> |
285 | < ROUTE fromNode='Background4DarkGreySequencer' fromField='value_changed' toNode='Background4DarkGrey' toField='set_bind'/> |
286 | </Group> |
287 |
<!-- ROUTE information for EveryInlineLoadSensor node:
[from loadTime to StartTIME.startTime
]
-->
<LoadSensor DEF='EveryInlineLoadSensor'> |
288 | <Inline USE='PathMeshTopSurface'/> |
289 | <Inline USE='Pathway'/> |
290 | <Inline USE='Bushes'/> |
291 | <Inline USE='FlowerSet'/> |
292 | <Inline USE='FlowerGardens'/> |
293 | <Inline USE='Gramps11'/> |
294 | <Inline USE='JointCoordinateAxes'/> |
295 | <Inline USE='CaneFitting'/> |
296 | <Inline USE='LeifAnimated'/> |
297 | <Inline USE='LilyAnimated'/> |
298 | <Inline USE='TufaniAnimated'/> |
299 | </LoadSensor> |
300 | < ROUTE fromNode='EveryInlineLoadSensor' fromField='loadTime' toNode='StartTIME' toField='startTime'/> |
301 | </Scene> |
302 | </X3D> |
Event Graph ROUTE Table entries with 57 ROUTE connections total, showing X3D event-model relationships for this scene.
Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.
EveryInlineLoadSensor
LoadSensor loadTime SFTime |
StartTIME
TimeSensor startTime SFTime |
then
|
StartTIME
TimeSensor stopTime SFTime |
DelayTIME
TimeSensor set_startTime SFTime |
then
|
DelayTIME
TimeSensor isActive SFBool |
DelayFILTER
BooleanFilter set_boolean SFBool |
then
|
DelayFILTER
BooleanFilter inputFalse SFBool |
Clock100SecondsTRIGGER
TimeTrigger set_boolean SFBool |
then
|
Clock100SecondsTRIGGER
TimeTrigger triggerTime SFTime |
Clock100Seconds
TimeSensor set_startTime SFTime |
then
|
StartTIME
TimeSensor stopTime SFTime |
Melodies1
AudioClip set_startTime SFTime |
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->