1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
|
3 | <X3D profile='Interactive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'> |
4 | <head> |
5 | <meta name='title' content='Stairway.x3d'/> |
6 | <meta name='description' content='The Stairway world uses a twisting, branching, floating stairway to lead the visitor to six doorways. Each doorway is a selectable anchor leading to another world.'/> |
7 | <meta name='creator' content='David R. Nadeau'/> |
8 | <meta name='translator' content='Don Brutzman'/> |
9 | <meta name='created' content='1 July 1998'/> |
10 | <meta name='translated' content='2 February 2014'/> |
11 | <meta name='modified' content='16 December 2023'/> |
12 | <meta name='reference' content='originals/stairwy.wrl'/> |
13 | <meta name='reference' content='http://www.siggraph.org/s98'/> |
14 | <meta name='reference' content='http://www.siggraph.org/s98/conference/courses/18.html'/> |
15 | <meta name='reference' content='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/slides/mt0095.htm'/> |
16 | <meta name='reference' content='http://www.sdsc.edu/~moreland/courses/Siggraph98/vrml97/vrml97.htm'/> |
17 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dResources.html'/> |
18 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Stairway.x3d'/> |
19 | <meta name='generator' content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html'/> |
20 | <meta name='generator' content='X3D-Edit, https://savage.nps.edu/X3D-Edit'/> |
21 | <meta name='license' content='../license.html'/> |
22 | </head> |
23 | <Scene> |
24 | <!-- This world was *hand authored*, which is way tough to do given the number of stairs to be positioned and oriented. This accounts for the heavy use of DEF and USE and rather convoluted nested transforms. By using a world builder application (when they become available), you can position each stair or group of stairs interactively, instead of typing in translations and rotations and hoping they work out. --> |
25 | <!-- Things to experiment with: --> |
26 | <!-- Change the anchor urls to point to your own worlds. --> |
27 | <!-- Add a flock of birds following a path animated by a PositionInterpolator and an OrientationInterpolator. --> |
28 | <!-- Drop the sky background wall and replace it with a Background node. --> |
29 | <!-- Add sound. Perhaps a gentle wind with some occasional wind chimes. --> |
30 | <WorldInfo info='"copyright (c) 1997, David R. Nadeau"' title='The Stairway'/> |
31 | <Background skyAngle='1.37 1.57 1.77' skyColor='0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1 0.5 0.0 0.0 0.0'/> |
32 | <Transform scale='0.4 0.4 0.4'> |
33 | <Viewpoint description='Entry view' orientation='1.0 0.0 0.0 0.1' position='9.0 -5.0 25.0'/> |
34 | <NavigationInfo avatarSize='0.5 4.0 1.5' headlight='false' speed='4.0' type='"WALK" "ANY"'/> |
35 | <DirectionalLight color='0.0 0.3 1.0' direction='-3.0 2.0 -1.0'/> |
36 | <PointLight ambientIntensity='0.3' location='14.0 10.0 14.0'/> |
37 | <Transform translation='5.0 -3.0 5.0'> |
38 | |
39 | |
40 | <Material diffuseColor='1.0 1.0 1.0'/> |
41 |
<ImageTexture
url=' "marble_g.jpg![]() ![]() |
42 | </Appearance> |
43 | <Box size='4.0 0.25 4.0'/> |
44 | </Shape> |
45 | </Transform> |
46 | <Transform translation='5.0 -2.5 2.5'> |
47 | |
48 | |
49 | <Appearance USE='Marble'/> |
50 | <Box size='4.0 0.25 1.0'/> |
51 | </Shape> |
52 | <Transform translation='0.0 0.5 -1.0'> |
53 | <Shape USE='Stair'/> |
54 | </Transform> |
55 | <Transform translation='0.0 1.0 -2.0'> |
56 | <Shape USE='Stair'/> |
57 | </Transform> |
58 | </Group> |
59 | </Transform> |
60 | <Transform translation='5.0 -1.0 -0.5'> |
61 | <Group USE='ThreeUpStraightStairs'/> |
62 | </Transform> |
63 | <Transform translation='5.0 0.5 -5.0'> |
64 | <Shape USE='Platform'/> |
65 | </Transform> |
66 | <Transform translation='5.0 1.0 -7.5'> |
67 | <Group USE='ThreeUpStraightStairs'/> |
68 | </Transform> |
69 | <Transform translation='5.0 5.0 -10.1'> |
70 | <Anchor description='Temple of the Orb' url=' "Temple.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Temple.x3d" "Temple.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Temple.wrl" '> |
71 | |
72 | <Shape> |
73 | <Appearance> |
74 | <TextureTransform scale='1.0 2.0'/> |
75 | <Material diffuseColor='1.0 1.0 1.0'/> |
76 |
<ImageTexture
url=' "panel.jpg![]() ![]() |
77 | </Appearance> |
78 | <Box size='3.0 6.0 0.2'/> |
79 | </Shape> |
80 | <Transform translation='1.18 -0.0 0.2'> |
81 | <Shape> |
82 | <Appearance> |
83 | <Material diffuseColor='1.0 1.0 1.0'/> |
84 |
<ImageTexture
url=' "blur.jpg![]() ![]() |
85 | </Appearance> |
86 | <Sphere radius='0.15'/> |
87 | </Shape> |
88 | </Transform> |
89 | </Group> |
90 | </Anchor> |
91 | </Transform> |
92 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 1.0 -5.0'> |
93 |
<!-- Transform
ThreeUpRightCurvingStairs is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='ThreeUpRightCurvingStairs' translation='5.0 0.0 0.0'> |
94 | |
95 | <Shape USE='Stair'/> |
96 | </Transform> |
97 | <Transform rotation='0.0 1.0 0.0 -0.26' translation='0.0 0.5 0.0'> |
98 | <Transform USE='OffToLeftStair'/> |
99 | </Transform> |
100 | <Transform rotation='0.0 1.0 0.0 -0.52' translation='0.0 1.0 0.0'> |
101 | <Transform USE='OffToLeftStair'/> |
102 | </Transform> |
103 | </Transform> |
104 | </Transform> |
105 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 2.5 -5.0'> |
106 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'> |
107 | <Transform USE='ThreeUpRightCurvingStairs'/> |
108 | </Transform> |
109 | </Transform> |
110 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 4.0 -5.0'> |
111 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.57'> |
112 | <Transform USE='ThreeUpRightCurvingStairs'/> |
113 | </Transform> |
114 | </Transform> |
115 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 5.0 -5.0'> |
116 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -2.09'> |
117 | <Transform translation='0.0 3.0 -0.6'> |
118 | <Anchor description='Primitives on Pedestals' url=' "Primitives.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Primitives.x3d" "Primitives.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Primitives.wrl" '> |
119 | <Group USE='Door'/> |
120 | </Anchor> |
121 | </Transform> |
122 | </Transform> |
123 | </Transform> |
124 | <Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 0.0 -5.0'> |
125 |
<!-- Transform
ThreeDownLeftCurvingStairs is a DEF node that has 1 USE node: USE_1 -->
<Transform DEF='ThreeDownLeftCurvingStairs' translation='5.0 0.0 0.0'> |
126 | <Transform USE='OffToLeftStair'/> |
127 | <Transform rotation='0.0 1.0 0.0 0.26' translation='0.0 -0.5 0.0'> |
128 | <Transform USE='OffToLeftStair'/> |
129 | </Transform> |
130 | <Transform rotation='0.0 1.0 0.0 0.52' translation='0.0 -1.0 0.0'> |
131 | <Transform USE='OffToLeftStair'/> |
132 | </Transform> |
133 | </Transform> |
134 | </Transform> |
135 | <Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -1.5 -5.0'> |
136 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 0.785'> |
137 | <Transform USE='ThreeDownLeftCurvingStairs'/> |
138 | </Transform> |
139 | </Transform> |
140 | <Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -2.5 -5.0'> |
141 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 1.31'> |
142 | <Transform rotation='0.0 1.0 0.0 3.14' translation='0.0 3.0 0.6'> |
143 | <Anchor description='The Doorway' url=' "Doorway.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Doorway.x3d" "Doorway.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Doorway.wrl" '> |
144 | <Group USE='Door'/> |
145 | </Anchor> |
146 | </Transform> |
147 | </Transform> |
148 | </Transform> |
149 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -2.5 5.0'> |
150 | <Group USE='ThreeUpStraightStairs'/> |
151 | </Transform> |
152 | <Transform translation='-2.0 -1.0 5.0'> |
153 | <Shape USE='Platform'/> |
154 | </Transform> |
155 | <Transform translation='-2.0 -0.5 2.5'> |
156 | <Transform DEF='ThreeUpLeftCurvingStairs' translation='-5.0 0.0 0.0'> |
157 |
<!-- Transform
OffToRightStair is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='OffToRightStair' translation='5.0 0.0 0.0'> |
158 | <Shape USE='Stair'/> |
159 | </Transform> |
160 | <Transform rotation='0.0 1.0 0.0 0.26' translation='0.0 0.5 0.0'> |
161 | <Transform USE='OffToRightStair'/> |
162 | </Transform> |
163 | <Transform rotation='0.0 1.0 0.0 0.52' translation='0.0 1.0 0.0'> |
164 | <Transform USE='OffToRightStair'/> |
165 | </Transform> |
166 | </Transform> |
167 | </Transform> |
168 | <Transform translation='-2.0 0.5 2.5'> |
169 | <Transform center='-5.0 0.0 0.0' rotation='0.0 1.0 0.0 0.52'> |
170 | <Transform translation='0.0 3.0 -0.6'> |
171 | <Anchor description='Monolith World' url=' "Monolith.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Monolith.x3d" "Monolith.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Monolith.wrl" '> |
172 | <Group USE='Door'/> |
173 | </Anchor> |
174 | </Transform> |
175 | </Transform> |
176 | </Transform> |
177 | <Transform rotation='0.0 1.0 0.0 1.57' translation='-4.5 -0.5 5.0'> |
178 | <Group USE='ThreeUpStraightStairs'/> |
179 | </Transform> |
180 | <Transform rotation='0.0 1.0 0.0 1.57' translation='-7.5 1.0 5.0'> |
181 | <Group USE='ThreeUpStraightStairs'/> |
182 | </Transform> |
183 | <Transform rotation='0.0 1.0 0.0 1.57' translation='-10.1 5.0 5.0'> |
184 | <Anchor description='The Tower' url=' "Towers.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Towers.x3d" "Towers.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/Towers.wrl" '> |
185 | <Group USE='Door'/> |
186 | </Anchor> |
187 | </Transform> |
188 | <Transform rotation='0.0 1.0 0.0 1.57' translation='9.5 -4.5 5.0'> |
189 | <Group USE='ThreeUpStraightStairs'/> |
190 | </Transform> |
191 | <Transform translation='12.0 -5.0 5.0'> |
192 | <Shape USE='Platform'/> |
193 | </Transform> |
194 | <Transform translation='12.0 -6.5 9.5'> |
195 | <Group USE='ThreeUpStraightStairs'/> |
196 | </Transform> |
197 | <Transform translation='12.0 -7.0 12.0'> |
198 | <Shape USE='Platform'/> |
199 | </Transform> |
200 | <Transform translation='12.0 -8.5 16.5'> |
201 | <Group USE='ThreeUpStraightStairs'/> |
202 | </Transform> |
203 | <Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -3.5 7.5'> |
204 |
<!-- Transform
ThreeDownRightCurvingStairs is a DEF node that has 1 USE node: USE_1 -->
<Transform DEF='ThreeDownRightCurvingStairs' translation='5.0 0.0 0.0'> |
205 | <Transform USE='OffToLeftStair'/> |
206 | <Transform rotation='0.0 1.0 0.0 -0.26' translation='0.0 -0.5 0.0'> |
207 | <Transform USE='OffToLeftStair'/> |
208 | </Transform> |
209 | <Transform rotation='0.0 1.0 0.0 -0.52' translation='0.0 -1.0 0.0'> |
210 | <Transform USE='OffToLeftStair'/> |
211 | </Transform> |
212 | </Transform> |
213 | </Transform> |
214 | <Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -5.0 7.5'> |
215 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'> |
216 | <Transform USE='ThreeDownRightCurvingStairs'/> |
217 | </Transform> |
218 | </Transform> |
219 | <Transform translation='5.0 -6.0 7.5'> |
220 | <Transform center='-5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.48'> |
221 | <Transform rotation='0.0 1.0 0.0 3.14' translation='0.0 3.0 -0.6'> |
222 | <Anchor description='Robot Bill' url=' "RoboBill.x3d" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/RoboBill.x3d" "RoboBill.wrl" "https://www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Siggraph98Course/RoboBill.wrl" '> |
223 | <Group USE='Door'/> |
224 | </Anchor> |
225 | </Transform> |
226 | </Transform> |
227 | </Transform> |
228 | <Shape> |
229 | <Appearance> |
230 | <TextureTransform scale='20.0 20.0'/> |
231 | <Material ambientIntensity='0.3'/> |
232 |
<ImageTexture
url=' "stone2.jpg![]() ![]() |
233 | </Appearance> |
234 | <IndexedFaceSet solid='false' coordIndex='0 1 2 3 -1'> |
235 | <Coordinate point='-30.0 -9.0 30.0 30.0 -9.0 30.0 30.0 -9.0 -30.0 -30.0 -9.0 -30.0'/> |
236 | </IndexedFaceSet> |
237 | </Shape> |
238 | <Shape> |
239 |
<!-- Appearance
ShadowColor is a DEF node that has 1 USE node: USE_1 -->
<Appearance DEF='ShadowColor'> |
240 | <Material ambientIntensity='0.0' diffuseColor='0.1 0.1 0.1' transparency='0.25'/> |
241 | </Appearance> |
242 | <IndexedFaceSet coordIndex='0 1 2 3 -1 4 5 6 7 -1 8 9 10 11 -1'> |
243 | <Coordinate point='10.0 -8.5 17.0 14.0 -8.5 17.0 14.0 -8.5 3.0 10.0 -8.5 3.0 -10.0 -8.5 7.0 10.0 -8.5 7.0 10.0 -8.5 3.0 -10.0 -8.5 3.0 3.0 -8.5 7.0 7.0 -8.5 7.0 7.0 -8.5 -10.0 3.0 -8.5 -10.0'/> |
244 | </IndexedFaceSet> |
245 | </Shape> |
246 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -8.5 -5.0'> |
247 |
<!-- Transform
ThreeUpRightCurvingShadows is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='ThreeUpRightCurvingShadows' translation='5.0 0.0 0.0'> |
248 | |
249 | |
250 | <Appearance USE='ShadowColor'/> |
251 | <IndexedFaceSet coordIndex='0 1 2 3 -1'> |
252 | <Coordinate point='-2.0 0.0 0.5 2.0 0.0 0.5 2.0 0.0 -0.5 -2.0 0.0 -0.5'/> |
253 | </IndexedFaceSet> |
254 | </Shape> |
255 | </Transform> |
256 | <Transform rotation='0.0 1.0 0.0 -0.26'> |
257 | <Transform USE='OffToLeftShadow'/> |
258 | </Transform> |
259 | <Transform rotation='0.0 1.0 0.0 -0.52'> |
260 | <Transform USE='OffToLeftShadow'/> |
261 | </Transform> |
262 | </Transform> |
263 | </Transform> |
264 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -8.5 -5.0'> |
265 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'> |
266 | <Transform USE='ThreeUpRightCurvingShadows'/> |
267 | </Transform> |
268 | </Transform> |
269 | <Transform rotation='0.0 1.0 0.0 1.57' translation='2.5 -8.5 -5.0'> |
270 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -1.57'> |
271 | <Transform USE='ThreeUpRightCurvingShadows'/> |
272 | </Transform> |
273 | </Transform> |
274 | <Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -8.5 -5.0'> |
275 |
<!-- Transform
ThreeDownLeftCurvingShadows is a DEF node that has 1 USE node: USE_1 -->
<Transform DEF='ThreeDownLeftCurvingShadows' translation='5.0 0.0 0.0'> |
276 | <Transform USE='OffToLeftShadow'/> |
277 | <Transform rotation='0.0 1.0 0.0 0.26'> |
278 | <Transform USE='OffToLeftShadow'/> |
279 | </Transform> |
280 | <Transform rotation='0.0 1.0 0.0 0.52'> |
281 | <Transform USE='OffToLeftShadow'/> |
282 | </Transform> |
283 | </Transform> |
284 | </Transform> |
285 | <Transform rotation='0.0 1.0 0.0 1.57' translation='7.5 -8.5 -5.0'> |
286 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 0.785'> |
287 | <Transform USE='ThreeDownLeftCurvingShadows'/> |
288 | </Transform> |
289 | </Transform> |
290 | <Transform translation='-2.0 -8.5 2.5'> |
291 | <Transform DEF='ThreeUpLeftCurvingShadows' translation='-5.0 0.0 0.0'> |
292 |
<!-- Transform
OffToRightShadow is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='OffToRightShadow' translation='5.0 0.0 0.0'> |
293 | <Shape USE='Shadow'/> |
294 | </Transform> |
295 | <Transform rotation='0.0 1.0 0.0 0.26'> |
296 | <Transform USE='OffToRightShadow'/> |
297 | </Transform> |
298 | <Transform rotation='0.0 1.0 0.0 0.52'> |
299 | <Transform USE='OffToRightShadow'/> |
300 | </Transform> |
301 | </Transform> |
302 | </Transform> |
303 | <Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -8.5 7.5'> |
304 |
<!-- Transform
ThreeDownRightCurvingShadows is a DEF node that has 1 USE node: USE_1 -->
<Transform DEF='ThreeDownRightCurvingShadows' translation='5.0 0.0 0.0'> |
305 | <Transform USE='OffToLeftShadow'/> |
306 | <Transform rotation='0.0 1.0 0.0 -0.26'> |
307 | <Transform USE='OffToLeftShadow'/> |
308 | </Transform> |
309 | <Transform rotation='0.0 1.0 0.0 -0.52'> |
310 | <Transform USE='OffToLeftShadow'/> |
311 | </Transform> |
312 | </Transform> |
313 | </Transform> |
314 | <Transform rotation='0.0 1.0 0.0 3.14' translation='5.0 -8.5 7.5'> |
315 | <Transform center='5.0 0.0 0.0' rotation='0.0 1.0 0.0 -0.785'> |
316 | <Transform USE='ThreeDownRightCurvingShadows'/> |
317 | </Transform> |
318 | </Transform> |
319 | </Transform> |
320 | </Scene> |
321 | </X3D> |
Event Graph ROUTE Table with 0 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.
Anchor |
description='Temple of the Orb' User-interaction hint for this node. |
Anchor |
description='Primitives on Pedestals' User-interaction hint for this node. |
Anchor |
description='The Doorway' User-interaction hint for this node. |
Anchor |
description='Monolith World' User-interaction hint for this node. |
Anchor |
description='The Tower' User-interaction hint for this node. |
Anchor |
description='Robot Bill' User-interaction hint for this node. |
<!--
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.
-->