Distributed Interactive Simulation
DIS-Java-VRML Working Group


click for Dis-Java-VRML home page

Examples

Directories Example Applications Additional Information
You must install the dis-java-vrml distribution to run any of these examples.

If you're not already on the MBone, run either applet or command-line MulticastRelayClient below.

helicopter
[launch CaptureTheFlag world, Player Select, Referee]     PlayCaptureTheFlag starts up a new game:
CaptureTheFlag world, Player Select, Referee   


standalone VRML scene: CaptureTheFlag.wrl


[launch StartPanel batch file]     StartPanel selects the player control panels:

C:\> java demo.helicopter.StartPanel


[launch Referee batch file]     Referee controls both flags and keeps score:    

C:\> java demo.helicopter.Referee

This is our biggest example scene on how to DIS-ify lots of VRML.

java demo.helicopter.StartPanel in a command prompt window first launches a team selection panel, then a vehicle selection panel, then either a helo control panel or tank control panel.

java demo.helicopter.Referee in a command prompt window make the flags "live" and capturable.

When you do receive PDUs, please select a viewpoint local to the vehicle or it may move out of sight.

You can have multiple send and receive windows running on a single machine, and each will be able to access the same multicast address/port group.

Example screen snapshots: TankHeloFire1 TankHeloFire2 TankHeloFire3 TankHeloFire4 TankHeloFire5

Fort Irwin terrain geometry, terrain texture map and metadata report

Airfield Tactical Map for mission planning

logger and demo/pduRecordings
[launch PduPlayer batch file]     Pdu Player plays/records behavior streams:      

C:\demo\pduRecordings> PduPlayer

PduPlayer is a simple 2D-window example that acts like a VCR player. PduPlayer plays back or records files containing DIS PDUs.
auv DIS-driven: AuvInBeachTanks.wrl


Locally driven AUV mission playback world (with no networking):
mission.output.telemetry.wrl
This is another example on how to DIS-ify a VRML scene.

Here are some example screen snapshots showing our research robot Phoenix, a 2m-long Autonomous Underwater Vehicle (AUV), in motion: BeachTankAuv & BeachTankOverhead

When you do receive PDUs, please select a viewpoint local to the vehicle or it may move out of sight.

dis EspduTransformEXAMPLE.wrl This is the simplest example on how to DIS-ify a VRML scene.

Here is a screen snapshot of EspduTransformExample. The top (blue) AUV in this scene is set to read global PDUs from the NPS testing channel. The bottom (red) AUV will receive PDUs sent by EspduSender.html above. You can have multiple send and receive windows running on a single machine, and each will be able to access the same multicast address/port group.

When you do receive PDUs, please select a viewpoint local to the vehicle or it may move out of sight.

awt PduViewer.html This is a simple 2D-window example that reads multicast PDUs into text boxes.
awt EspduSender.html This is a simple 2D-window example that sends multicast Entity State PDUs, ttl 1. EspduSender produces Espdu's that will move the red AUV in the EspduTransformEXAMPLE scene.
gimbals DisCoordinateSystemGimbals.wrz

DisCoordinateSystemGimbals.wrl

and just in case you're looking: HelloWorld.wrl

Study DIS-to-VRML coordinate system naming and rotations using virtual gimbals. This is also a helpful tool to convert between roll-elevation-azimuth and an axis-angle SFRotation value.

Here are screen snapshots of the DIS Coordinate System Gimbals and the Hello World scenes.

 

Using our current default network settings, you must run the MulticastRelayClient
unless your local-area network (LAN) is already connected to the Internet's Multicast Backbone (MBone).

We are continuously sending PDUs from Monterey on the default multicast group.
For details on existing PDU streams see the Multicast Backbone (MBone) Testing page.

  bridge MulticastRelayClient.html This is a bridge interface to get multicast PDU connectivity (for machines not on the MBone).
bridge Still no incoming PDUs? An alternative to the MulticastRelayClient.html applet is to run the following application (in boldface type) at a shell prompt:

  • Windows Java command line:

C:\vrtp\mil\navy\nps\bridge>	
java mil.navy.nps.bridge.MulticastRelayClient devo.cs.nps.navy.mil 8010

  • Unix Java command line:

user/vrtp/mil/navy/nps/bridge>	
java mil.navy.nps.bridge.MulticastRelayClient devo.cs.nps.navy.mil 8010

As you might guess from the above, mil.navy.nps.bridge.MulticastRelayServer is kept running on devo.cs.nps.navy.mil and listens to default port 8010. Invocation:

user/vrtp/mil/navy/nps/bridge>	
java mil.navy.nps.bridge.MulticastRelayServer
auv   We are generating a default 1 PDU/second stream by invoking the PDU-generation program

user/vrtp/demo/auv>	java demo.auv.AuvPduGenerator
with global scope (ttl = 127), usually sent from devo.cs.nps.navy.mil or electric.stl.nps.navy.mil.

The dis-java-vrml sdr ssession announcement usually originates on blacknoise.stl.nps.navy.mil. Again, for details on existing PDU streams see the Multicast Backbone (MBone) Testing page.


July 6 2000 (official NPS disclaimer)
URL: www.web3D.org/WorkingGroups/vrtp/dis-java-vrml/examples.html
feedback: brutzman@nps.navy.mil & mcgredo@cs/nps.navy.mil