X3D Model Documentation: SpaceAttack.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <X3D profile='Interchange' version='3.0 xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' SpaceAttack.x3d '/>
  6            <meta name='creatorcontent='Mike Perry'/>
  7            <meta name='createdcontent='17 August 2000'/>
  8            <meta name='modifiedcontent='28 November 2019'/>
  9            <meta name='descriptioncontent='Three Space Ships Attack'/>
 10            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Space/SpaceAttack/SpaceAttack.x3d '/>
 11            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 12            <meta name='licensecontent='../../license.html'/>
 13       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: Afterburner, Bomb, Clock, Cockpit, Engine, Fighter1, Flightpath, Pilot, Threeflight, Wing

Index for Viewpoint nodes: camera1, camera2, camera3, camera4

-->
 14       <Scene>
 15            <!-- The Background Planets -->
 16            <WorldInfo title='SpaceAttack.x3d'/>
 17            <Transform translation='0 0 -15'>
 18                 <Shape>
 19                      <Sphere radius='2.4'/>
 20                      <Appearance>
 21                           <ImageTexture   url=' "../SolarSystem/mars.jpg " "https://www.web3d.org/x3d/content/examples/Savage/Space/SolarSystem/mars.jpg " '/>
 22                      </Appearance>
 23                 </Shape>
 24            </Transform>
 25            <Transform translation='-15 0 0'>
 26                 <Shape>
 27                      <Sphere radius='3'/>
 28                      <Appearance>
 29                           <ImageTexture   url=' "../SolarSystem/sun.jpg " "https://www.web3d.org/x3d/content/examples/Savage/Space/SolarSystem/sun.jpg " '/>
 30                      </Appearance>
 31                 </Shape>
 32            </Transform>
 33            <Transform translation='25 0 -4'>
 34                 <Shape>
 35                      <Sphere radius='2'/>
 36                      <Appearance>
 37                           <ImageTexture   url=' "../SolarSystem/neptune.jpg " "https://www.web3d.org/x3d/content/examples/Savage/Space/SolarSystem/neptune.jpg " '/>
 38                      </Appearance>
 39                 </Shape>
 40            </Transform>
 41            <Transform translation='0 0 25'>
 42                 <Shape>
 43                      <Sphere radius='2'/>
 44                      <Appearance>
 45                           <ImageTexture   url=' "../../earth-topo.png " "../../earth-topo-small.gif " "https://www.web3d.org/x3d/content/examples/Savage/Space/SpaceAttack/../../earth-topo.png " "https://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif " '/>
 46                      </Appearance>
 47                 </Shape>
 48            </Transform>
 49            <!-- camera angles -->
 50            <Viewpoint DEF='camera1description='camera 1fieldOfView='.9599orientation='1 0 0 -.2618position='.5 .5 12'/>
 51            <Viewpoint DEF='camera2description='camera 2orientation='0 1 0 1.57position='7 0 0'/>
 52            <Viewpoint DEF='camera3description='camera 3orientation='0 1 0 -.7854position='-5 0 5'/>
 53            <Viewpoint DEF='camera4description='camera 4fieldOfView='1.0472orientation='0 1 0 3.14position='0 2 -2'/>
 54            <!-- Fighters -->
 55 
          <!-- ROUTE information for Threeflight node:  [from Flightpath.value_changed to set_translation ] -->
          <Transform DEF='Threeflightrotation='1 0 0 1.57'>
 56 
               <!-- Group Fighter1 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
               <Group DEF='Fighter1'>
 57                      <Transform scale='1 3 1translation='0.0 0.5 -0.3'>
 58                           <Shape>
 59                                <Sphere radius='0.14'/>
 60                                <Appearance DEF='Cockpit'>
 61                                     <Material emissiveColor='0 0 1transparency='0.55'/>
 62                                </Appearance>
 63                           </Shape>
 64                      </Transform>
 65                      <Transform scale='0.8 0.8 0.8translation='0.0 0.51 -0.3'>
 66                           <Shape>
 67                                <Sphere DEF='Pilotradius='0.16'/>
 68                                <Appearance>
 69                                     <Material diffuseColor='1.0 0.0 0.0'/>
 70                                </Appearance>
 71                           </Shape>
 72                      </Transform>
 73                      <Transform scale='1 3.8 1'>
 74                           <Shape>
 75                                <Sphere radius='0.4'/>
 76                                <Appearance>
 77                                     <Material diffuseColor='0.8 0.7 0.3'/>
 78                                </Appearance>
 79                           </Shape>
 80                      </Transform>
 81                      <Transform rotation='1 0 0 3.14translation='0.5 -2.0 0.0'>
 82 
                         <!-- Shape Afterburner is a DEF node that has 1 USE node: USE_1 -->
                         <Shape DEF='Afterburner'>
 83                                <Cone bottomRadius='0.25height='0.9'/>
 84                                <Appearance>
 85                                     <Material diffuseColor='1.0 0.2 0.2transparency='0.5'/>
 86                                </Appearance>
 87                           </Shape>
 88                      </Transform>
 89                      <Transform rotation='1 0 0 3.14translation='-0.5 -2.0 0.0'>
 90                           <Shape USE='Afterburner'/>
 91                      </Transform>
 92                      <Transform translation='.5 -1 0'>
 93 
                         <!-- Shape Engine is a DEF node that has 1 USE node: USE_1 -->
                         <Shape DEF='Engine'>
 94                                <Cylinder bottom='falseradius='.25'/>
 95                                <Appearance>
 96                                     <Material diffuseColor='0.8 0.7 0.3'/>
 97                                </Appearance>
 98                           </Shape>
 99                      </Transform>
100                      <Transform translation='-0.5 -1 0'>
101                           <Shape USE='Engine'/>
102                      </Transform>
103                      <Transform scale='9 1 1'>
104                           <Shape DEF='Wing'>
105                                <Appearance>
106                                     <Material diffuseColor='0.8 0.7 0.3'/>
107                                </Appearance>
108                                <Cone bottomRadius='0.2height='2.8'/>
109                           </Shape>
110                      </Transform>
111                      <Transform scale='1 3 1translation='1.0 -0.6 0.2'>
112 
                         <!-- Shape Bomb is a DEF node that has 1 USE node: USE_1 -->
                         <Shape DEF='Bomb'>
113                                <Sphere radius='.1'/>
114                                <Appearance>
115                                     <Material diffuseColor='0 0.8 0'/>
116                                </Appearance>
117                           </Shape>
118                      </Transform>
119                      <Transform scale='1 3 1translation='-1.0 -0.6 0.2'>
120                           <Shape USE='Bomb'/>
121                      </Transform>
122                 </Group>
123                 <Transform translation='2.5 -2.0 1.0'>
124                      <Group USE='Fighter1'/>
125                 </Transform>
126                 <Transform translation='-2.5 -2.0 1.3'>
127                      <Group USE='Fighter1'/>
128                 </Transform>
129            </Transform>
130 
          <!-- ROUTE information for Clock node:  [from fraction_changed to Flightpath.set_fraction ] -->
          <TimeSensor DEF='ClockcycleInterval='10.0loop='trueenabled='true'/>
131 
          <!-- ROUTE information for Flightpath node:  [from Clock.fraction_changed to set_fraction ] [from value_changed to Threeflight.set_translation ] -->
          <PositionInterpolator DEF='Flightpathkey='0.00 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.20 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.30 0.31 0.32 0.33 .34 .35 0.36 0.37 0.50 0.70 0.80 0.90 1keyValue='0.0 0.0 -10.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 1.0 0.0 0.0 1.5 0.0 0.0 2.0 0.0 0.0 3.5 0.0 0.0 4.0 0.0 0.0 4.5 0.0 0.0 5.0 0.0 0.0 5.5 0.0 0.0 6.0 0.0 0.0 6.5 0.0 0.0 7.0 0.0 0.0 7.5 0.0 0.0 8.0 0.0 0.0 8.5 0.0 0.0 9.0 0.0 0.0 10.0 0.0 0.0 10.5 0.0 0.0 11.0 0.0 0.0 11.5 0.0 0.0 12.0 0.0 0.0 12.5 0.0 0.0 13.0 0.0 0.0 13.5 0.0 0.0 14.0 0.0 0.0 14.5 0.0 0.0 15.0 0.0 0.0 15.5 0.0 0.0 17.0 0.0 0.0 18.0 0.0 0.0 19.0'/>
132            < ROUTE  fromNode='Clock' fromField='fraction_changed' toNode='Flightpath' toField='set_fraction'/>
133            < ROUTE  fromNode='Flightpath' fromField='value_changed' toNode='Threeflight' toField='set_translation'/>
134       </Scene>
135  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: Afterburner, Bomb, Clock, Cockpit, Engine, Fighter1, Flightpath, Pilot, Threeflight, Wing

Index for Viewpoint nodes: camera1, camera2, camera3, camera4

-->
X3D Tooltips element index: to top Appearance, Cone, Cylinder, Group, head, ImageTexture, Material, meta, PositionInterpolator, ROUTE, Scene, Shape, Sphere, TimeSensor, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

🔖   Event Graph ROUTE Table entries with 2 ROUTE connections, showing X3D event-model relationships for this scene.

Each row with a ROUTE statement shows an event cascade that may occur during a single timestamp interval between frame renderings, performed as part of the X3D execution model.

Clock
TimeSensor
fraction_changed
SFFloat
→
ROUTE
event to
(1)
Flightpath
PositionInterpolator
set_fraction
SFFloat
then
from
same
node
Flightpath
PositionInterpolator
value_changed
SFVec3f
→
ROUTE
event to
(2)
Threeflight
Transform
set_translation
SFVec3f

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets.
Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Savage/Space/SpaceAttack/SpaceAttackIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Space/SpaceAttack/SpaceAttack.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode DEF='idNamefield='value'/> matches XML terminology <XmlElement DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->