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='Interchange' 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='Castle.x3d'/> |
6 | <meta name='description' content='A fairy-tale castle atop a green hill with a blue sky behind. There are no animations or fun things to click on... building those is up to you.'/> |
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='20 October 2019'/> |
12 | <meta name='reference' content='originals/castle.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/mt0000.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/Castle.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 illustrates how far you can go using the primitive geometry nodes: Box, Cone, and Cylinder. An entire fairy-tale castle is built by translating and rotating these shapes into position. --> |
25 | <!-- Things to experiment with... --> |
26 | <!-- Change the color scheme to make the castle an evil lair. --> |
27 | <!-- Add texture maps to make the castle walls look like they are built from stone. --> |
28 | <!-- Make the castle door an anchor. Clicking on the door leads to another world describing the castle interior. --> |
29 | <!-- Add panorama cloud and mountain textures to the Background node. --> |
30 | <!-- In Nintendo 64 style, add platforms that rise and fall and cannons that rise up when you approach. You can build these using PositionInterpolators and TimeSensors to run the animations, and ProximitySensors to trigger the actions. --> |
31 | <WorldInfo info='"copyright (c) 1997, David R. Nadeau"' title='Fairy-tale Castle'/> |
32 | <Viewpoint description='Entry view' orientation='1.0 0.0 0.0 0.35'/> |
33 | <NavigationInfo speed='40.0'/> |
34 | <Transform translation='0.0 -1.6 0.0'> |
35 | <Shape> |
36 | <Appearance> |
37 | <Material diffuseColor='0.0 0.0 0.0' emissiveColor='0.0 0.5 0.0'/> |
38 | </Appearance> |
39 | <Box size='2000.0 0.01 2000.0'/> |
40 | </Shape> |
41 | </Transform> |
42 | <Transform DEF='Castle' translation='0.0 -1.6 -200.0'> |
43 | <Transform translation='0.0 20.0 0.0'> |
44 | <Shape> |
45 | |
46 | <Material ambientIntensity='0.5' diffuseColor='1.0 1.0 1.0'/> |
47 | </Appearance> |
48 | <Cylinder bottom='false' height='40.0' radius='50.0'/> |
49 | </Shape> |
50 | </Transform> |
51 | <Transform translation='0.0 0.0 52.0'> |
52 | <Transform translation='0.0 10.0 0.0'> |
53 | <Shape> |
54 | <Appearance USE='CastleColor'/> |
55 | <Box size='30.0 20.0 6.0'/> |
56 | </Shape> |
57 | </Transform> |
58 | <Transform translation='0.0 5.0 3.0'> |
59 | <Shape> |
60 | <Appearance> |
61 | <Material diffuseColor='0.4 0.1 0.0'/> |
62 | </Appearance> |
63 | <Box size='10.0 10.0 0.5'/> |
64 | </Shape> |
65 | </Transform> |
66 | <Transform translation='-15.0 0.0 3.0'> |
67 |
<!-- Transform
EntryTower is a DEF node that has 1 USE node: USE_1 -->
<Transform DEF='EntryTower' translation='0.0 15.0 0.0'> |
68 | <Shape> |
69 | <Appearance USE='CastleColor'/> |
70 | <Cylinder bottom='false' height='30.0' radius='5.0' top='false'/> |
71 | </Shape> |
72 | </Transform> |
73 | |
74 | <Shape> |
75 | |
76 | <Material ambientIntensity='0.5' diffuseColor='1.0 0.0 0.0'/> |
77 | </Appearance> |
78 | <Cone bottomRadius='8.0' height='20.0'/> |
79 | </Shape> |
80 | </Transform> |
81 | </Transform> |
82 | <Transform translation='15.0 0.0 3.0'> |
83 | <Transform USE='EntryTower'/> |
84 | <Transform USE='EntryRoof'/> |
85 | </Transform> |
86 | </Transform> |
87 | <Transform translation='-15.0 40.0 -5.0'> |
88 | <Transform translation='0.0 30.0 0.0'> |
89 | <Shape> |
90 | <Appearance USE='CastleColor'/> |
91 | <Cylinder bottom='false' height='60.0' radius='25.0'/> |
92 | </Shape> |
93 | </Transform> |
94 | <Transform translation='0.0 100.0 0.0'> |
95 | <Shape> |
96 | <Appearance USE='CastleColor'/> |
97 | <Cylinder bottom='false' height='80.0' radius='15.0' top='false'/> |
98 | </Shape> |
99 | </Transform> |
100 | <Transform translation='0.0 170.0 0.0'> |
101 |
<!-- Shape
MainRoofCone is a DEF node that has 1 USE node: USE_1 -->
<Shape DEF='MainRoofCone'> |
102 | <Appearance USE='RoofColor'/> |
103 | <Cone bottomRadius='23.0' height='60.0'/> |
104 | </Shape> |
105 | </Transform> |
106 | </Transform> |
107 | <Transform translation='20.0 40.0 15.0'> |
108 | <Transform translation='0.0 50.0 0.0'> |
109 | <Shape> |
110 | <Appearance USE='CastleColor'/> |
111 | <Cylinder bottom='false' height='100.0' radius='15.0' top='false'/> |
112 | </Shape> |
113 | </Transform> |
114 | <Transform translation='0.0 130.0 0.0'> |
115 | <Shape USE='MainRoofCone'/> |
116 | </Transform> |
117 | <Transform translation='0.0 30.0 15.0'> |
118 |
<!-- Transform
SmallSubTower is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Transform DEF='SmallSubTower' translation='0.0 25.0 0.0'> |
119 | <Shape> |
120 | <Appearance USE='CastleColor'/> |
121 | <Cylinder bottom='false' height='30.0' radius='5.0' top='false'/> |
122 | </Shape> |
123 | </Transform> |
124 |
<!-- Transform
SmallSubBase is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Transform DEF='SmallSubBase' rotation='1.0 0.0 0.0 3.14159' translation='0.0 5.0 0.0'> |
125 | <Shape> |
126 | <Appearance USE='CastleColor'/> |
127 | <Cone bottom='false' bottomRadius='5.0' height='10.0'/> |
128 | </Shape> |
129 | </Transform> |
130 |
<!-- Transform
SmallSubRoof is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
<Transform DEF='SmallSubRoof' translation='0.0 50.0 0.0'> |
131 | <Shape> |
132 | <Appearance USE='RoofColor'/> |
133 | <Cone bottomRadius='8.0' height='20.0'/> |
134 | </Shape> |
135 | </Transform> |
136 | </Transform> |
137 | </Transform> |
138 | <Transform translation='50.0 20.0 0.0'> |
139 |
<!-- Transform
LargeSubTower is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='LargeSubTower' translation='0.0 60.0 0.0'> |
140 | <Shape> |
141 | <Appearance USE='CastleColor'/> |
142 | <Cylinder bottom='false' height='80.0' radius='10.0' top='false'/> |
143 | </Shape> |
144 | </Transform> |
145 |
<!-- Transform
LargeSubBase is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='LargeSubBase' rotation='1.0 0.0 0.0 3.14159' translation='0.0 10.0 0.0'> |
146 | <Shape> |
147 | <Appearance USE='CastleColor'/> |
148 | <Cone bottom='false' bottomRadius='10.0' height='20.0'/> |
149 | </Shape> |
150 | </Transform> |
151 |
<!-- Transform
LargeSubRoof is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
<Transform DEF='LargeSubRoof' translation='0.0 120.0 0.0'> |
152 | <Shape> |
153 | <Appearance USE='RoofColor'/> |
154 | <Cone bottomRadius='15.0' height='40.0'/> |
155 | </Shape> |
156 | </Transform> |
157 | <Transform translation='10.0 40.0 0.0'> |
158 | <Transform USE='SmallSubTower'/> |
159 | <Transform USE='SmallSubBase'/> |
160 | <Transform USE='SmallSubRoof'/> |
161 | </Transform> |
162 | </Transform> |
163 | <Transform translation='-35.36 20.0 35.36'> |
164 | <Transform USE='LargeSubTower'/> |
165 | <Transform USE='LargeSubBase'/> |
166 | <Transform USE='LargeSubRoof'/> |
167 | <Transform translation='-7.07 40.0 7.07'> |
168 | <Transform USE='SmallSubTower'/> |
169 | <Transform USE='SmallSubBase'/> |
170 | <Transform USE='SmallSubRoof'/> |
171 | </Transform> |
172 | </Transform> |
173 | <Transform translation='0.0 20.0 -50.0'> |
174 | <Transform USE='LargeSubTower'/> |
175 | <Transform USE='LargeSubBase'/> |
176 | <Transform USE='LargeSubRoof'/> |
177 | <Transform translation='0.0 40.0 -10.0'> |
178 | <Transform USE='SmallSubTower'/> |
179 | <Transform USE='SmallSubBase'/> |
180 | <Transform USE='SmallSubRoof'/> |
181 | </Transform> |
182 | </Transform> |
183 | </Transform> |
184 | </Scene> |
185 | </X3D> |
<!--
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. -->