This is the users guide for the toolkit. It focuses mainly on how to use the gui's to augment your virtual experience.
One note: You cannot run the avatar server on the same machine as a client at this point in time. The item server was designed so that it can be ran on the same machine as a client.
SERVER:
Go into the CollabTools directory and type cd ClientServer/Server. Then type ./run-servers.
CLIENT:
Go into the CollabTools directory and type ./Start_Collab.
This will bring up a screen that looks like:
1) Type in the server you want to connect to. (The hostname of the machine you ran the server on).
2) Type in the avatar model you want to represent you. These are located in the CollabTools/DataFiles/avatars. You can alternativley use the Load button. After clicking on the load button click on ~Home and then browse to what file you want to load.
3) Put in a map scale and aspect ratio. These are relative to the size of the application you are running. A value of 2000 for map scale is a good value for something on the size of 15 miles or so.
4) Put in the directory where the collaborative tools are located (This is assumed to be the current working directory by default).
5) Type in the application you would like to start i.e. diversifly sub.pfb
6) Select which DSO's you want to load(Descriptions are listed below). You should always use Client , Collaborative Console, Item Manipulation, and the radar DSO's otherwise you will not get the full collaboration experience. If you want to load specific dso's that are not included in the gui put them in a : delimited list in the other field.
7) Press Start and your collaborating!
Client DSO's and their functions:
Client: Used to provide the client in the client-server model. This is what allows the collaboration to work.
FirePower: Used for implementing laser gun functionality and scud missle firing. Use l for lasers and f12 for scud missles.
Fog: Provide a fog that limits visibilty on the map. This can be set to different colors.
Pointer Intersection: Allows for a red cylinder to be placed on specifc points on the map to be used with intersecting points.
Radar: Provides a regular and a circle version of a 2D radar to assist users in finding each other.
SelectPoints: Allows the user to select points on the map for use in other applications.
Sky Ground Performer: Adds a friendly blue sky to the application instead of the default black background.
Snap Terrain: Used for collision detection and for terrain following (disabled by default, contact us for more information).
Collaborative Console: Used for shared view, tethering, jumping to a users position, and highlighting a specific user.
Item Manipulation: Provides the client for item manipulation and allows for loading / unloading / moving of objects in the virtual world.
Explanation of the collaborative console menu:
First a screenshot:
The Collaborative console allows many different useful features in a virtual environment. You can jump into another users eyes and see what they see. You can tether to a specific user and have a limited range of motion in a sphere around them. This allows you to go a short distance around a person so you can look over their shoulder or you can have them drag you along if you do not want to worry about keeping up with the person. You can also jump to a specific users position, or you can highlight a person with a bright sphere temporarily.
How to use these features:
Connect to a server with the collaborative console dso written.
Type ./CollabConsole in the base directory of the collaborative tools.
Click the user you want to interact with and select the appropriate action you want to do
Item manipulation tools:
To start the item manipulation tools type ./Item_Gui in the CollabTools base directory. This brings up a screen that looks like this.
This is the main control panel for item manipulation. Now a short explanation of the buttons and what they provide.
Side note about window behavior. Items highlighted in the Associated Items list are handled before items in the Disassociated Items list in all cases. So if you want to perform an action on a disassociated item make sure you only have that item highlighted.
The Highlight button will highlight a particular object in the world for a few seconds. You can only highlight one item at a time.
The Jump To button allows you jump to a specific items position.
The Remove button removes the item from the world.
The Query Information button requests that the server send you information about the item. This is displayed in a separate small window.
The Add Information button sends the information that query information retrieves.
The Set URL button sets the url where this item can be downloaded at. If an item is loaded into the world that the user does not have then the user will wget the the url that is set by this box. Make sure you have DPF_DOWNLOAD_DIR set to the CollabTools/DataFiles/avatar dirctory before you run the program.
Add adds an item to the world using a gui browser. Here is an example.
Click ~Home and then browser to where you want your file to be and the item should appear and be loaded into the virtual world. Note: only the CollabTools/Datafiles/avatars directory is supported for item loading at the present moment.
The associate button brings up this menu.
This item is the parent item and you can select multiple children by control clicking on the ones you want associated. Click associate button and the items are associated. What this means is that when you move the parent item the child items move with it.
If you want to remove a child simply click on the parent of the item then the child and then click on the Disassociate button.
The Request control button sends a message to the server requesting control of the object. If the request is granted a release control button appears and the request control button disappears. The next action that happens is this gui appears.
You now have control of the item in the virtual world. Use your mouse inside of the performer window for object manipulation. If you have a three button mouse you can use the left button to move the object farther away or closer to you. This is the zooming feature. The middle button rotates the object much like the virtual sphere technique. The right button pans the object by allowing you to move it left, right, up, and down. If you want to navigate in the world while manipulating an object click the navigate button and move to your desired position. You can then click the General Mouse Manipulation button to return to regular object manipulation mode. If you have a one button mouse you can select a specific action to be preformed on a left click in the virutal world. Zoom, rotate, and panning are the same as described above. If you want to rotate the object specifically you can use the X,Y,Z buttons after you have selected rotate and the object will only move around that axis. The XYZ and HPR increment are used to set the speed of object movement in the virtual world and the increment for the +/- buttons below. If you want to type in specific object measurements then enter them into the input boxes and press tab or enter. If you want to just step the object a little press the + or / button next to the coordinate you want to change. You can press save to save your position to a temporary file and load to put the position back. When you are finished manipulating the item press release control and you are back to the regular gui.