Chapter 2. Using VOS to Explore and Build Virtual Worlds
While the object system described in the preceding chapters is general purpose, it was concieved with a specific use in mind: as the infrastructure on which to build multiuser 3D virtual environments. This chapter explains how to use VOS to explore and build such environments. First, we need some object types that represent objects in 3D worlds: this collection of MetaObjects is called A3DL (Abstract 3D Layer). Then, a client program is needed to find those objects, render them graphically, and provide controls for interacting with them and with other users in the world: this program is called Ter'Angreal. Finally, we need some tools for creating 3D geometry and publishing it as A3DL objects.
The following sections describe the client program, Ter'Angreal, and some world building tools: the Blender export script, the OmniVOS Server, and the swiss army knife shell tool, Mesh.
Ter'Angreal is the VOS virtual reality application. This section gives an overview of Ter'Angreal.
If you have not done so already, you may download binary packages of Ter'Angreal for several platforms. If such packages are not available, or you are interested in working on Ter'Angreal or using VOS in your own project then skip down for instructions on compiling Ter'Angreal.
2.1.1. Connecting to a 3D World
The user interface for Ter'Angreal is intended to mimic the apperance of familiar applications by combining the typical layout of a web browser and a chat client. The Ter'Angreal window is divided into three areas. At the top, below the menu bar, is a field that displays the current world URL. You can connect to a new world by entering its URL in this field. Below the URL field is the main 3D display, where the 3D graphics will appear. Finally there is the text communication panel for talking with other people in a world. This is similar to most IRC clients: the conversation is displayed in the left pane; a list of users is displayed in the right-hand pane; enter text to speak in the field at the bottom.
To connect to a world, either type its URL in the URL field and press Enter, or choose it from the bookmarks menu. A bookmark for some worlds hosted at interreality.org are preset in the bookmarks menu. Select one of these to get started.
2.1.2. Key Controls
Once you have successfully connected to the world, you will be placed at its starting viewpoint. From there, you may move around with the mouse and keyboard. These are some of the default button/key actions:
- Right mouse button
Hold and drag to turn in the world
- Left mouse button
Hold to walk forward
- Left arrow
Turn avatar left
- Right arrow
Turn avatar right
- Up arrow
- Down arrow
Turn avatar up
Turn avatar down
- Shift+Left arrow
- Shift+Right arrow
- Shift+Up arrow
- Shift+Down arrow
You can change your view of the 3D world in the Display menu: "First Person" is the normal view, you see the world through the eyes of your avatar; "Second Person" places the virtual camera behind and slightly above your avatar, allowing you to see yourself in the world; "Face On" places the camera directly in front of your avatar, so you can see what others see, or simply admire yourself. (Only in virtual reality can you be so objective, and yet so vain!)
2.1.3. Changing your Avatar
Your avatar is your character or visual representation in the virtual world. Many worlds have a default avatar assigned when you join the world. If you would like to use a custom avatar, you may change two aspects that define its look and behavior: the model and texture or "skin".
The best model format to use for avatars in Ter'Angreal is Quake MD2. The best image format to use for texture is PNG. Most MD2 models have an animation loop for walking or running; Ter'Angreal will enable this animation loop while you are moving in the world, and return to the default, standing animation loop when your are not moving.
To load model and texture images in Ter'Angreal, choose "Preferences" from the "Tools" menu. Click the "Set model..." button and choose a model file from your local filesystem. Click the "Set skin..." button and choose the texture image. Click the "Apply" button. It may take several seconds for Ter'Angreal to process the model and reflect the change in the display. If your avatar model is oriented incorrectly, you may set offsets in the Preferences window.