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='Immersive' 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='FishSchool.x3d'/> |
6 | <meta name='description' content='Fish Schooling Demo'/> |
7 | <meta name='creator' content='Stewart Liles, Sean Hynes'/> |
8 | <meta name='created' content='25 September 1998'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/KelpForestDesignPaperWeb3dSymposiumFebruary2002.pdf'/> |
11 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Teaching3d-KelpForestCaseStudy.pdf'/> |
12 | <meta name='accessRights' content='All content has permissions for free use. Please provide credit to the Naval Postgraduate School (NPS) Modeling Virtual Environments and Simulation (MOVES) Institute.'/> |
13 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchool.x3d'/> |
14 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
15 | <meta name='license' content='../license.html'/> |
16 | </head> |
17 | <Scene> |
18 | <WorldInfo title='FishSchool.x3d'/> |
19 | <NavigationInfo speed='5.0' type='"EXAMINE"' visibilityLimit='250.0'/> |
20 | <Viewpoint description='Close to School - FS' position='0.0 1.0 75.0'/> |
21 | <Viewpoint description='Nose on Glass - FS' fieldOfView='1.0' position='0.0 1.0 30.0'/> |
22 | <Viewpoint description='Fish Feeding - FS' fieldOfView='1.0' orientation='1.0 0.0 0.0 -1.57' position='0.0 40.0 0.0'/> |
23 | <Viewpoint description='Left Side - FS' fieldOfView='1.0' orientation='0.0 1.0 0.0 -1.57' position='-40.0 0.0 0.0'/> |
24 | <Viewpoint description='Right Side - FS' fieldOfView='1.0' orientation='0.0 1.0 0.0 1.57' position='40.0 0.0 0.0'/> |
25 | <Viewpoint description='Middle Looking Out - FS' jump='false' orientation='0.0 1.0 0.0 2.2' position='0.0 0.0 0.0'/> |
26 | <SpotLight ambientIntensity='1.0' direction='0.0 -1.0 0.0' location='0.0 50.0 0.0'/> |
27 | <Sound location='0 0.1 0' maxBack='50' maxFront='50' minBack='50' minFront='50'> |
28 | <AudioClip description='Sound for Fish' loop='true' url=' "Sound2.wav" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Sound2.wav" '/> |
29 | </Sound> |
30 |
<!-- ROUTE information for GlobalClock node:
[from fraction_changed to BoidScript.GlobalTick
]
-->
<TimeSensor DEF='GlobalClock' loop='true'/> |
31 | <Shape> |
32 | <Appearance> |
33 | <Material/> |
34 | </Appearance> |
35 | <IndexedLineSet coordIndex='0 1 2 3 0 -1 4 5 6 7 4 -1 0 4 -1 1 5 -1 2 6 -1 3 7'> |
36 | <Coordinate point='-30.0 30.0 30.0 30.0 30.0 30.0 30.0 30.0 -30.0 -30.0 30.0 -30.0 -30.0 -30.0 30.0 30.0 -30.0 30.0 30.0 -30.0 -30.0 -30.0 -30.0 -30.0'/> |
37 | </IndexedLineSet> |
38 | </Shape> |
39 | <Fog color='0.1 0.3 0.1' visibilityRange='70.0'/> |
40 | |
41 | <Viewpoint description='Fish 0 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
42 |
<!-- Inline
FishIN is a DEF node that has 9 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9 --> <Inline DEF='FishIN' url=' "Fish.x3d" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Fish.x3d" "Fish.wrl" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/Fish.wrl" '/> |
43 | </Transform> |
44 | |
45 | <Viewpoint description='Fish 1 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
46 | <Inline USE='FishIN'/> |
47 | </Transform> |
48 | |
49 | <Viewpoint description='Fish 2 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
50 | <Inline USE='FishIN'/> |
51 | </Transform> |
52 | |
53 | <Viewpoint description='Fish 3 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
54 | <Inline USE='FishIN'/> |
55 | </Transform> |
56 | |
57 | <Viewpoint description='Fish 4 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
58 | <Inline USE='FishIN'/> |
59 | </Transform> |
60 | |
61 | <Viewpoint description='Fish 5 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
62 | <Inline USE='FishIN'/> |
63 | </Transform> |
64 | |
65 | <Viewpoint description='Fish 6 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
66 | <Inline USE='FishIN'/> |
67 | </Transform> |
68 | |
69 | <Viewpoint description='Fish 7 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
70 | <Inline USE='FishIN'/> |
71 | </Transform> |
72 | |
73 | <Viewpoint description='Fish 8 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
74 | <Inline USE='FishIN'/> |
75 | </Transform> |
76 | |
77 | <Viewpoint description='Fish 9 view' fieldOfView='1.8' position='0.0 1.0 -0.5'/> |
78 | <Inline USE='FishIN'/> |
79 | </Transform> |
80 | <!-- Warning: VRML97-style scripting, not X3D Scene Authoring Interface (SAI) --> |
81 |
<!-- ROUTE information for BoidScript node:
[from GlobalClock.fraction_changed to GlobalTick
]
-->
<Script DEF='BoidScript' directOutput='true' mustEvaluate='true' url=' "FishSchoolCode/Demo.class" "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/KelpForestExhibit/FishSchoolCode/Demo.class" '> |
82 | <field name='GlobalTick' type='SFFloat' accessType='inputOnly'/> |
83 | <field name='B9' type='SFNode' accessType='initializeOnly'> |
84 | <Transform USE='Fish9'/> |
85 | </field> |
86 | <field name='B8' type='SFNode' accessType='initializeOnly'> |
87 | <Transform USE='Fish8'/> |
88 | </field> |
89 | <field name='B7' type='SFNode' accessType='initializeOnly'> |
90 | <Transform USE='Fish7'/> |
91 | </field> |
92 | <field name='B6' type='SFNode' accessType='initializeOnly'> |
93 | <Transform USE='Fish6'/> |
94 | </field> |
95 | <field name='B5' type='SFNode' accessType='initializeOnly'> |
96 | <Transform USE='Fish5'/> |
97 | </field> |
98 | <field name='B4' type='SFNode' accessType='initializeOnly'> |
99 | <Transform USE='Fish4'/> |
100 | </field> |
101 | <field name='B3' type='SFNode' accessType='initializeOnly'> |
102 | <Transform USE='Fish3'/> |
103 | </field> |
104 | <field name='B2' type='SFNode' accessType='initializeOnly'> |
105 | <Transform USE='Fish2'/> |
106 | </field> |
107 | <field name='B1' type='SFNode' accessType='initializeOnly'> |
108 | <Transform USE='Fish1'/> |
109 | </field> |
110 | <field name='B0' type='SFNode' accessType='initializeOnly'> |
111 | <Transform USE='Fish0'/> |
112 | </field> |
113 | </Script> |
114 | < ROUTE fromNode='GlobalClock' fromField='fraction_changed' toNode='BoidScript' toField='GlobalTick'/> |
115 | </Scene> |
116 | </X3D> |
Event Graph ROUTE Table with 1 ROUTE connection 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.
GlobalClock
TimeSensor fraction_changed SFFloat |
BoidScript
Script GlobalTick SFFloat |
<!--
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. -->