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='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'> |
4 | <head> |
5 | <meta name='title' content=' EuroFighterWithMissiles.x3d '/> |
6 | <meta name='description' content='Eurofighter, four mounted missiles, able to fire one missile, to fire touch the red blinking ball inside the fusselage or above the jet, for transation infos look into the basic EuroFighter file'/> |
7 | <meta name='created' content='27 July 2004'/> |
8 | <meta name='modified' content='28 November 2019'/> |
9 | <meta name='creator' content='Major Axel Weber'/> |
10 | <meta name='identifier' content=' https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/EuroFighterWithMissiles.x3d '/> |
11 | <meta name='generator' content='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/> |
12 | <meta name='Image' content='/Textures/'/> |
13 | <meta name='Sound' content='/Sounds/'/> |
14 | <meta name='license' content='../../license.html'/> |
15 | </head> |
16 | <Scene> |
17 | <WorldInfo title='EuroFighterWithMissiles.x3d'/> |
18 | <NavigationInfo avatarSize='3 3 1.5' speed='5'/> |
19 | <!-- Eurofighter fireing a missile --> |
20 | <Group DEF='MotherGroup'> |
21 | <Transform DEF='Steering' center='5 2. 0'> |
22 | <Group DEF='Airplane'> |
23 | <Transform DEF='T_Airplane' rotation='1 0 0 -1.571' translation='0 -0.5 0'> |
24 | <Inline DEF='EuroFighter' url=' "EuroFighter.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/EuroFighter.x3d" "EuroFighter.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/EuroFighter.wrl" '/> |
25 | </Transform> |
26 | <Transform DEF='InnerMissilesLeft' rotation='1 0 0 0' scale='0.2 0.2 0.2' translation='25 0.3 4'> |
27 |
<!-- Inline
Missile is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <Inline DEF='Missile' url=' "../../Weapons/Missiles/AIM120Missile.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/AIM120Missile.x3d" "../../Weapons/Missiles/AIM120Missile.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/Missiles/AIM120Missile.wrl" '/> |
28 | </Transform> |
29 | <Transform DEF='OuterMissilesLeft' rotation='1 0 0 0' scale='0.2 0.2 0.2' translation='25.5 0.3 10'> |
30 | <Inline USE='Missile'/> |
31 | </Transform> |
32 | <Transform DEF='InnerMissilesRight' rotation='1 0 0 0' scale='0.2 0.2 0.2' translation='25 0.3 -4'> |
33 | <Inline USE='Missile'/> |
34 | </Transform> |
35 | <Transform DEF='MissileStarter' translation='-10 30 20'> |
36 |
<!-- ROUTE information for CLOCK node:
[from fraction_changed to COLOR_PATH.set_fraction
]
-->
<TimeSensor DEF='CLOCK' loop='true'/> |
37 |
<!-- ROUTE information for COLOR_PATH node:
[from CLOCK.fraction_changed to set_fraction
]
[from value_changed to RedBlink.set_emissiveColor
]
-->
<ColorInterpolator DEF='COLOR_PATH' key='0.0 0.5 0.5 1.0' keyValue='1 0 0 1 0 0 1 1 1 1 1 1'/> |
38 |
<!-- ROUTE information for SwitchTrigger node:
[from MissileButton1.isActive to set_boolean
]
[from triggerValue to MissileSwitcher1.whichChoice
]
-->
<IntegerTrigger DEF='SwitchTrigger' integerKey='0'/> |
39 | <Group DEF='Starter1'> |
40 | <Transform DEF='FireButton1' translation='17.3 -27.15 -20'> |
41 | <Shape> |
42 | <Appearance> |
43 |
<!-- Material
RedBlink is a DEF node that has 1 USE node: USE_1
<!-- ROUTE information for RedBlink node: [from COLOR_PATH.value_changed to set_emissiveColor ] --> <Material DEF='RedBlink' diffuseColor='1 0.2 0.2' emissiveColor='1 0 0' transparency='0.3'/> |
44 | </Appearance> |
45 | <Sphere radius='0.05'/> |
46 | </Shape> |
47 | </Transform> |
48 | <Transform DEF='FireButtonOut_1' translation='10 -15 -20'> |
49 | <Shape> |
50 | <Appearance> |
51 | <Material USE='RedBlink'/> |
52 | </Appearance> |
53 | <Sphere/> |
54 | </Shape> |
55 | </Transform> |
56 |
<!-- ROUTE information for MissileButton1 node:
[from touchTime to StartClock.set_startTime
]
[from isActive to SwitchTrigger.set_boolean
]
[from touchTime to Sound.set_startTime
]
-->
<TouchSensor DEF='MissileButton1' description='Fire the missile'/> |
57 | </Group> |
58 | </Transform> |
59 | < ROUTE fromNode='CLOCK' fromField='fraction_changed' toNode='COLOR_PATH' toField='set_fraction'/> |
60 | < ROUTE fromNode='COLOR_PATH' fromField='value_changed' toNode='RedBlink' toField='set_emissiveColor'/> |
61 |
<!-- ROUTE information for MissileSwitcher1 node:
[from SwitchTrigger.triggerValue to whichChoice
]
-->
<Switch DEF='MissileSwitcher1' whichChoice='1'> |
62 | <Group DEF='MissileOnTheWay'> |
63 |
<!-- ROUTE information for FiredMissile1 node:
[from MissileFlightPath.value_changed to set_translation
]
-->
<Transform DEF='FiredMissile1' scale='0.2 0.2 0.2' translation='25 0.3 -10'> |
64 | <Sound DEF='MissileStartSound' maxBack='1500' maxFront='1500'> |
65 |
<!-- ROUTE information for Sound node:
[from MissileButton1.touchTime to set_startTime
]
-->
<AudioClip DEF='Sound' description='Flight Sound' url=' "Sounds/MissileStart.wav" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/Sounds/MissileStart.wav" "../../AircraftFixedWing/EuroFighter/Sounds/MissileStart.wav"'/> |
66 | </Sound> |
67 | <LOD DEF='FarFlighingMissile' range='1000 1200'> |
68 | <Inline DEF='StartingMissile' url=' "StartingAIM120Missile.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/StartingAIM120Missile.x3d" "StartingAIM120Missile.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/StartingAIM120Missile.wrl" '/> |
69 | <Inline DEF='StartingAIM120MissileLOW' url=' "StartingAIM120MissileLow.x3d" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/StartingAIM120MissileLow.x3d" "StartingAIM120MissileLow.wrl" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/StartingAIM120MissileLow.wrl" '/> |
70 | <Group DEF='StartingMissileNnull'/> |
71 | </LOD> |
72 | </Transform> |
73 | </Group> |
74 | <Group DEF='StaticMissile'> |
75 | <Transform DEF='Missile1' rotation='1 0 0 0' scale='0.2 0.2 0.2' translation='25 0.3 -10'> |
76 | <Inline USE='Missile'/> |
77 | </Transform> |
78 | </Group> |
79 | </Switch> |
80 | <TimeSensor DEF='FlightClock' cycleInterval='40' loop='true'/> |
81 | <OrientationInterpolator DEF='Jaw_Roll' key='0.0 0.16 0.20 0.26 0.36 0.45 0.50 0.63 0.70 0.76 0.89 0.95 1.00' keyValue='0 1 0 0 0 1 0 0 0.46 0.86 -0.19 0.95 0 1 0 1.54 0 1 0 1.54 0.04 0.2 -0.08 2.2 0 1 0 3.14 0 1 0 3.14 -0.03 0.2 -.08 3.8 0 1 0 4.71 0 1 0 4.71 -0.2 0.98 -0.08 5.4 0 1 0 0'/> |
82 | <PositionInterpolator DEF='JetFlightPath' key='0.0 0.16 0.20 0.26 0.36 0.45 0.50 0.63 0.70 0.76 0.89 0.95 1.00' keyValue='300.0 0.0 -100.0 0.0 0.0 -100.0 -130.0 0.0 -30.0 -200.0 0.0 100.0 -200.0 0.0 700.0 -130.0 -10.0 830.0 0.0 0.0 900.0 300.0 0.0 900.0 430.0 -10.0 730.0 500.0 0.0 600.0 500.0 0.0 100.0 430.0 -10.0 -30.0 300.0 0.0 -100.0'/> |
83 |
<!-- ROUTE information for StartClock node:
[from MissileButton1.touchTime to set_startTime
]
[from fraction_changed to MissileFlightPath.set_fraction
]
-->
<TimeSensor DEF='StartClock' cycleInterval='10'/> |
84 |
<!-- ROUTE information for MissileFlightPath node:
[from StartClock.fraction_changed to set_fraction
]
[from value_changed to FiredMissile1.set_translation
]
-->
<PositionInterpolator DEF='MissileFlightPath' key='.0 .05 .075 .1 .25 .5 .875 1.0' keyValue='25.0 0.0 -10.0 23.0 0.0 -10.0 20.0 0.0 -10.0 -0.0 0.0 -5.0 -200.0 0.0 0.0 -400.0 0.0 0.0 -800.0 0.0 0.0 -1200.0 0.0 0.0'/> |
85 | </Group> |
86 | <Sound DEF='FlightBy' location='0 0 300' maxBack='1000' maxFront='1000' minBack='30' minFront='30' priority='0.6'> |
87 | <AudioClip DEF='FlighBy' description='FlighSound' loop='true' url=' "Sounds/FlyBy.wav" "https://www.web3d.org/x3d/content/examples/Savage/AircraftFixedWing/EuroFighter/Sounds/FlyBy.wav" '/> |
88 | </Sound> |
89 | </Transform> |
90 | < ROUTE fromNode='MissileButton1' fromField='touchTime' toNode='StartClock' toField='set_startTime'/> |
91 | < ROUTE fromNode='StartClock' fromField='fraction_changed' toNode='MissileFlightPath' toField='set_fraction'/> |
92 | < ROUTE fromNode='MissileButton1' fromField='isActive' toNode='SwitchTrigger' toField='set_boolean'/> |
93 | < ROUTE fromNode='SwitchTrigger' fromField='triggerValue' toNode='MissileSwitcher1' toField='whichChoice'/> |
94 | < ROUTE fromNode='MissileFlightPath' fromField='value_changed' toNode='FiredMissile1' toField='set_translation'/> |
95 | < ROUTE fromNode='MissileButton1' fromField='touchTime' toNode='Sound' toField='set_startTime'/> |
96 | </Group> |
97 | <Viewpoint description='Eurofighter: Default view point' position='20 0 40'/> |
98 | <Viewpoint DEF='NearJet' description='Eurofighter: Pilots view from outside' orientation='0 1 0 1.57' position='50 5 5'/> |
99 | <Viewpoint DEF='PilotView' description='Eurofighter: Pilots view from inside the cockpit' fieldOfView='0.9' orientation='0 1 -0 1.57' position='10.2 3.8 0.2'/> |
100 | <Viewpoint DEF='RightRear' description='Eurofighter: Rear, right side' fieldOfView='0.71' orientation='0 1 0 2.0' position='80 -2 -30'/> |
101 | <Viewpoint DEF='LeftFront' description='Eurofighter: Front, left side' fieldOfView='0.7' orientation='0 1 0 -1.0' position='-40 2 40'/> |
102 | </Scene> |
103 | </X3D> |
Event Graph ROUTE Table entries with 8 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.
MissileButton1
TouchSensor touchTime SFTime |
StartClock
TimeSensor set_startTime SFTime |
then
|
StartClock
TimeSensor fraction_changed SFFloat |
MissileFlightPath
PositionInterpolator set_fraction SFFloat |
then
|
MissileFlightPath
PositionInterpolator value_changed SFVec3f |
FiredMissile1
Transform set_translation SFVec3f |
MissileButton1
TouchSensor isActive SFBool |
SwitchTrigger
IntegerTrigger set_boolean SFBool |
then
|
SwitchTrigger
IntegerTrigger triggerValue SFInt32 |
MissileSwitcher1
Switch whichChoice SFInt32 |
||
MissileButton1
TouchSensor touchTime SFTime |
Sound
AudioClip set_startTime SFTime |
CLOCK
TimeSensor fraction_changed SFFloat |
COLOR_PATH
ColorInterpolator set_fraction SFFloat |
then
|
COLOR_PATH
ColorInterpolator value_changed SFColor |
RedBlink
Material set_emissiveColor SFColor |
FlightClock
TimeSensor |
No direct ROUTE connection found for events to/from this node. |
<!--
Color-coding 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.
-->