next last content

4. Shout3D Client

The DeepMatrix Shout3D client applet is derived from a Shout3DApplet and uses the Shout3D classes to render the virtual environment. In a similar manner to the EAI client, it reads a given VRML file into the render component and handles all the communication with the VRML world. Keep the limitations of the Shout3D applet in mind when developing worlds for this client. To run this client you need the Shout3D package from www.shout3d.com.

A sample html file embedding the client applet looks like this. All Shout3D runtime classes have to be in the codebase for the client to work. Do NOT just copy the shout3dclasses.zip to the directory where your DeepMatrix classes are residing, because this file does not contain all necessary classes. Either copy the runtime tree to the DeepMatrix classes or make a zip file containing all classes and reference with the archive parameter of the applet tag !

<HTML>
 <HEAD>
   <TITLE>DeepMatrix Shout3D</TITLE>
 </HEAD>
 <BODY BGCOLOR="#909090">
    <applet code="matrix.deck.s3d.BetaX.class" mayscript width="100%" height="400">
      <param name=Port value="6666">
      <param name=Room value="matrix">
      <param name=Avatar1 value="Green Sphere">
      <param name=AvatarUrl1 value="sphere.wrl">
      <param name=Background value="ff00ff">
      <param name=Foreground value="00ff00">
      <param name=line1 value="DeepMatrix">
      <param name=line2 value="Welcome">
    </applet>
  </BODY>
</HTML>
This is a complete list of all applet parameters and their function.
Port
This parameter tells it to which port to connect and has to be the same as the server is listening to. If it is not set, the default value 6666 is used.
Room
The name of the world the user starts in. This has to be one of the names defined in the matrixrc file.
Avatar1 / AvatarUrl1
This pair of parameters defines the name of an avatar and an URL of a VRML file holding the geometry of that avatar. It is either absolute, or relative to the codebase of the applet. In this example the codebase is the location of the HTML file. You can specify more than one avatar by defining more parameter pairs Avatar#/AvatarUrl#. The numbers have to start with 1 and advance by 1. If these rules are not met the applet either shows no Avatars or just the first ones.
Background
sets the background colour of the applets user interface.
Foreground
sets the foreground colour of the applets user interface.
line1, line2, ...
This parameter customizes the text in the greeting box of the login panel.The numbering is equal to the avatar parameters. The first line will be bigger and in bold face. All lines are centered.
sizeGUI
gives the height in pixels of the DeepMatrix panel. This makes it possible to define how big the panel and the VRML display should be.

Contrary to the EAI client the Shout3D client does not need a special root node or Group node to work. NetworkState classes can be distributed throughout the whole scene graph and will work correctly. The special nodes used by the DeepMatrix system are implemented as custom_nodes for Shout3D. Therefore you need not include the PROTO definitions in VRML files for this client.

Important

In theory, you should still be able to use the same VRML files as the EAI client, because the Shout3D client will ignore the ProximityNode and find the NetworkState nodes, if defined as for the EAI client. However the Shout3D applet currently chokes on PROTO definitions in the VRML files it loads. Until this is fixed, you will have to remove the PROTO definitions in VRML files you use with the Shout3D client. This breaks content compatibility, i.e. you cannot use the same VRML files for both clients !

Moreover DO NOT process the VRML files with the Shout3DWizard and convert them to s3d files. This removes all custom_nodes and therefore the resulting file will not work with the DeepMatrix client !

next last content