Virtual Worlds
Advanced Build
Beside the straigt forward method to put and arrange objects there are some more ways
to hande and use objects, special object types and their possibilities.
Keyboard Control
Some of the functionalities which are offered by buttons of the "Build" tab pane
are accessible using the keyboard too. As precondition for this, an object has to be selected (right click it inside
the 3D area). Now following actions are possible using the keyboard:
- Rotate the object around its axises (x-, y-, z-axis in positive and negative direction) - [Numpad-7], [Numpad-9],
[Numpad-4], [Numpad-6], [Numpad-1], [Numpad-3]
- Copy the selected object - [Insert]
- Remove the selected object - [Delete]
Some other functionalities overlap with the keys used for navigation. To let them take
effect for an object, the "Build" tab pane has to be focussed. That means, as last operation the tab pane itself
should have been left clicked or one of its buttons. In this case following functionality is accessible using the
keyboard:
- Move in horizontal direction (x-, z-direction) - [Cursor Up], [Cursor Down], [Cursor Left], [Cursor Right]
Object Types
The Virtual Worlds building capability offers a wide range of object types. The purpose of these special objects is
to offer as much as possible of the extensive features of the 3D engine in an as much as possible flexible and
performance-saving way. Therefore some very different object types can be used.
These types can be selected using the combobox at the upper end of the "Build"
tab pane. The object types are chosen simply by clicking the combobox and selecting one of the offered items.
Standard Object
Standard objects in every case are 3D models which have to be downloaded from a defined location. The Virtual
Universe browser downloads, caches, interprets and displays these files. Such objects also can be created completely
new using a 3D modeler software. At the moment following 3d fileformats are supported directly:
- RenderWare® RWX models (.rwx)
- Caligari trueSpace® models and scenes (.cob and .scn)
- Alias/Wavefront® models (.obj)
Other 3D fileformats can be converted to one of the above fileformats using special 3D conversion software. Here e.g.
AccuTrans 3D® can be used.
Such a standard object is used when the appropriate object type is selected in the combobox and when its name or URL is
entered in the "Build" tab panes input field directly below this model type combobox.
Properties:
- Downloads its 3D model data from a webspace
- Can be scaled
- Can be positioned freely
- Can be rotated around all axises
- Uses object commands
These objects can be located in the default path of a world. Then you only have to enter its name. If you want to
use own objects which can be found on an different webspace instead, you have to enter the complete URL. Please note:
The browser expects to find the textures, required for the object, in an subdirectory "textures". So the hierarchy
of your own webspace should look like this:
- Your webspace (e.g. "http://www.myhomepages.org/~user/")
- A subdirectory where you have put all your objects into (e.g. "objects/")
- The required subdirectory "textures/" which contains the textures for all your objects
- The optional subdirectory "data/" which contains the separate material definitions (.mtl files) for the .obj files
So for this example a fictive object URL could be "http://www.myhomepages.org/~user/objects/street.rwx". The browser
then would look for a required texture "streettex.png" at "http://www.myhomepages.org/~user/objects/textures/streettex.png".
Spotlight Object
This object type can be chosen by selecting "Spotlight" with the "Build" tab panes combobox. Different to
a standard object this one is not visible directly, it appears only as the light which is reflected by other
objects. If you are in building mode, this object is symbolized by a yellow arrow which shows you the position of
its origin and the direction the light source beams to.
Properties:
- Doesn't downloads any data from a webspace
- Lights only surrounding objects which are located in the correct direction
- Can be positioned freely
- Can be rotated around all axises (this changes the direction the light beams to)
- Offers parameter for the light sources dihedral angle, its intensity and color
- different effects can be realized using two selections of predefined light-on- and light-off-times
Pointlight Object
This object type can be chosen by selecting "Pointlight" with the "Build" tab panes combobox. Different to
a standard object this one is not visible directly, it appears only as the light which is reflected by normal
objects. If you are in building mode, this object is symbolized by a yellow sphere which shows you the position of
the light sources center.
Properties:
- Doesn't downloads any data from a webspace
- Lights all surrounding objects in the same way (only dependend from their distance)
- Can be positioned freely
- Offers parameter for the lights intensity and color and for the attenuation dependend on the distance (attenuation
growing linearly with the distance and attenuation growing quadratic with the distance)
- different effects can be realized using two selections of predefined light-on- and light-off-times
Visible Pointlight Object
This object type can be chosen by selecting "Visible Pointlight" with the "Build" tab panes combobox.
This special light object is visible directly and it appears as the light which is reflected by normal objects. Therefore in building
mode no special symbol is used to show the postition of this light.
Properties:
- Doesn't downloads any data from a webspace
- Lights all surrounding objects in the same way (only dependend from their distance)
- Can be positioned freely
- Offers parameter for the lights intensity, color, for the attenuation dependend on the distance (attenuation
growing linearly with the distance and attenuation growing quadratic with the distance) and scale for the size of the visible light
effect
- different effects can be realized using two selections of predefined light-on- and light-off-times
Point Sound Object
This object type can be chosen by selecting "Pointsound" with the "Build" tab panes combobox.
Different to a standard object this one is not visible directly, it appears only as sound which can be heard within a world from the
direction, where this object is located. If you are in building mode, this object is symbolized by a blue sphere which shows you the
position of the sound sources center.
Properties:
- Doesn't downloads any data from a webspace
- Can be positioned freely
- Offers parameter for the radius within the related sound can be heard, for the total volume and for the attenuation (charactersictic
of attenuation dependend on the distance can be chosen)
- RIFF-WAVE (.wav), AIFF (.aif / .aiff) and Sun-Audio soundfiles (.au) are supported
Cube Object
This object type can be chosen by selecting "Cube" with the "Build" tab panes combobox. It can be used to create a
so called primitive, a basic geometric form. This primitive object can be used very similar to a Standard Object
except the scale parameter which is replaced by different dimension parameters. Its size can be specified by three
different lengths for width, height and depth of the cube.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Width, height and depth can be defined
- Can be positioned freely
- Can be rotated around all axises
- Different predefined materials can be assigned
- Uses object commands
Cone Object
This object type can be chosen by selecting "Cone" with the "Build" tab panes combobox. It can be used to create a
so called primitive, a basic geometric form. This primitive object can be used very similar to a Standard Object
except the scale parameter which is replaced by different dimension parameters. Its dimensions are specified by its
height and the radius of its base disc.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Height, base radius and resolution of the disc can be defined
- Can be positioned freely
- Can be rotated around all axises
- Different predefined materials can be assigned
- Uses object commands
Cylinder Object
This object type can be chosen by selecting "Cylinder" with the "Build" tab panes combobox. It can be used to create a
so called primitive, a basic geometric form. This primitive object can be used very similar to a Standard Object
except the scale parameter which is replaced by different dimension parameters. Its dimensions are specified by its
height and radius.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Height, radius and resolution can be defined
- Can be positioned freely
- Can be rotated around all axises
- Different predefined materials can be assigned
- Uses object commands
Sphere Object
This object type can be chosen by selecting "Sphere" with the "Build" tab panes combobox. It can be used to create a
so called primitive, a basic geometric form. This primitive object can be used very similar to a Standard Object
except the scale parameter which is replaced by different dimension parameters. Its dimensions are specified by its
radius.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Radius and resolution (whis is equal to its accuracy) can be defined
- Can be positioned freely
- Can be rotated around all axises (which is important when a texture is displayed onto a sphere)
- Different predefined materials can be assigned
- Uses object commands
Rotation Shape Object
This object type can be chosen by selecting "Rotation Shape" with the "Build"
tab panes combobox. It can be used to create several complex objects which are rotation symmetric. That also means an
object can be round or it can have three or four corners too. The shape of the object can be edited using an integrated
editor. Tho access this editor, the object has to be selected. Afterwards the editor button right below the object
combobox is selectable.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Design of the shape is online editable
- Number of subdivisions can be defined freely
- Can be stretched to an elliptic object instead of an circular one
- Can be positioned freely
- Can be rotated around all three axises
- Different predefined materials can be assigned
3D Text Object
This object type can be chosen by selecting "3D Text" with the "Build" tab panes combobox. It can be used to create a
special kind of object which is generated dynamically. Using this object, a three-dimensional text is generated which
can be moved, rotated and so on like any other object except no object commands are possible. Its dimension is specified
by its scaling factor, the length of the text and the depth of the letters. A scale factor of one is nearly equal to a
height of 1 m (for a capital letter) and a depth of 1 is also nearly equal to a depth of one meter (in case the scaling
factor is one too). The text itself has to be entered inside the text area at the lower end of the "Build" tab pane.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Scaling factor, depth and resolution (equal to the exactness) can be defined freely
- Can be positioned freely
- Can be rotated around all axises (which is important when a texture is displayed onto a sphere)
- Different predefined materials can be assigned
- Different predefined font styles can be assigned
- Object commands aren't possible, instead of it, the text string has to be entered in the text area
Fountain Object
This object type can be chosen by selecting "Fountain" using the
"Build" tab panes combobox. It can be used to create a particle animation
to e.g. simulate some kind of fountains. To select this object first all movements have to be turned
off in the "Build" tab pane. Then the Fountain Object is replaced by a cube
which is selectable by left-clicking it.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Animated object (particle animation using dots or lines)
- Radius, height and number of particles can be defined
- Can be positioned freely
- Different predefined materials can be assigned
Water Surface Object
This object type can be chosen by selecting "Water Surface" using the
"Build" tab panes combobox. It can be used to create an object which moves in waves
like a water surface. Speed and height of the waves can be modified using the objects parameter. Different to all other object types
here copies of it work synchronously when they have the same parameters. So several single water surface objects can be put
together to e.g. a large sea with one closed surface. If a water surface object is selected it is highlighted by a red box and all other water surfaces
which are synchronous to this one are drawn as wireframe.
Properties:
- Doesn't requires a separate 3D model and appears immediately inside a world
- Animated object (waves animation)
- Speed and height of the waves can be defined
- Can be positioned freely
- Different predefined materials can be assigned
- Uses object commands
Landscape Object
This object type is a very special one which can be used to realize landscapes. It can be chosen by selecting
"Landscape" with the "Build" tab panes combobox. Two different kinds of objects
are supported:
- "Complex Tiles" - This kind of landscape generation uses different tiled landscape objects somewhere on a
webspace - similar to the Standard Objects. These tiled objects can be created using the
VU Terrain Generator. This application defines the base name "terrain" for the objects. This basename has to
be entered within the "Build" tab panes input field extended by the address of
the webspace.
For an example: if you want to upload the data to the directory "http://www.domain.tld/~User/MyWorld", the correct
base URL would be "http://www.domain.tld/~User/MyWorld/terrain".
The great advantage of this terrain creation method is the possibility to modify the landscape models. So for an
example a hole can be cut into a landscape tile to realize a tunnel. To find out which tile has to be modified, the
exact name (which is the base name extended by some coordinates) is printed into the
chat panel after right-clicking the location of it.
- "Repeated Tile" - here one model is used and repeated for every segment in a world. That means, the name of the model
which has to be entered in the "Build" tab pane is the full object name or the
complete URL to the object. The object itself needs to be 20 x 20 meters in size to fit to the segments.
Properties:
- Requires specific 3D models for the landscape
- Its height can be modified to correct e.g. the height level of the world entry
Object Commands
Some object types are able to interpret additional commands, given as a text. These commands have to be entered in
the command text area at the lower end of the "Build" tab pane. If an object was selected and this text area is not
enabled and editable, this object type doesn't supports commands.
For the command description following conventions are used:
command parameter value=x [optional parameter1] [optional parameter2]
where "command" is a keyword which describes what has to be done, "parameter" is a required additional information
for it, "value=x" sets a special value and "[optional parameter]" is something additional which isn't required
implicitly. If a command allowes more than one optional parameter the chronological order of it is important. You
may drop e.g. the first parameter and start with the second, but it isn't allowed to set the second optional
parameter before the first.
The number and chronological order of (optional) parameters and values is dependend on "command" and
will be described for each one in detail here:
- click audiotrack "URL" [volume=] - if the user left-clicks this object, the specified soundfile will
be downloaded and replayed as non-spatial sound. A second click stops replaying. Here MIDI- and OGG-files
are supported plus soundmodules (.MOD, .XM, .S3M, .IT).
- "URL" - the address of the soundfile that has to be downloaded and replayed if somebody left-clicks the
object which carries this command; the URL parameter has to be given quoted (e.g. "http://www.VirtualWorlds.de/test.ogg")
- "volume=" - this optional parameter can be used to specify the replaying volume in percent (range 0..100%), default
is 100%
- click location "worldname" x-coordinate y-coordinate z-coordinate y-axis - the user which clicked this object
will be transported to the given coordinates
For this command all values are required to specify a location in a world and the orientation of the user correctly.
A correct coordinate string can be created easily using the "?"-button from the "Navigation" tab panes
Location-Bookmarks.
- "worldname" - the name of the world where the user has to be transported into; this name has to be set also
if the following coordinates are within the same world
- x-coordinate y-coordinate z-coordinate - the x-, y- and z-coordinates of the location where the user has to be
transported to
- y-axis - the orientation for the user at the desired location
- click objectname - the name of this object (for Standard Objects: the name of the 3D-model)
is printed in the chat text area when somebody left-clicks this object
This command doesn't supports any additional parameters options or values (except the required option "objectname").
- click url "URL" [target] - if the user left-clicks this object, the specified webpage will be opened using the standard
webbrowser or the specified "target"
Here "click" is the objectcommand and "url" specifies that an internetaddress has to be opened when somebody left-clicks
the object.
- "URL" - the address which has to be shown if somebody left-clicks the object which carries this command; the URL
parameter has to be given quoted (e.g. "http://www.VirtualWorlds.de")
- "target" - if the value "help" is give here, the webpage will be displayed instead of the help directly within the browsers
tab pane, if nothing is specified here, the standard browser is used to show the page
- glowcolor colorvalue - colors an object with the given color value and gives it an glow effect
This command adds a special lighting effect which doesn't affects surrounding objects. But also if this object is
not lighted in any way its "glowcolor" is visible. This command can be used e.g. together with "pointlight" to
create neon-light like effects. This command affects only these parts of the object which are not textured.
- "colorvalue" - a required parameter which specifies the color itself, see below for possible values / templates
- pointlight colorvalue [radius=] - attaches a simple point light to the center of the object
The light source created by this command is able to light surrounding objects. It doesn't uses any attenuation and is
limited only by the optional parameter "radius=". For more flexible lighting purposes please use the special
"Point Light" or "Directional Light" objects.
- "colorvalue" - a required parameter which specifies the lights color itself, see below for possible values / templates
- "radius=" - an optional parameter which specifies the radius of influence for the light in meters; the default
value (in case this optional parameter isn't used) is 10 m
- rotation [X][Y][Z] [loops=] [orbit=] [sangle=] [eangle=] [inctime=] [incacc=] [atmax=] [dectime=] [decacc=] [atmin=]
- performs an (accelerated) rotation or an (accelerated) pendulousness around the specified axis(es) of the object
This object command is one of the most complex ones. Depending on its parameters very different movements can be
performed. To make the usage easier, there are default values set which cause a simple rotation around the objects
Y-axis. By modifying different parameter values the mode of action of this command can be tried out.
Using the "eangle" and the "sangle" parameters together with the "incXXX" and "decXXX" parameters a pendulum movement
instead of a rotation can be defined. For some more detailes see the description of the parameter "dectime".
- "XYZ" - Specify the axis(es) which shall be used for the rotation or pendulum-movement and for what the other
parameter values have to be used. These parameters can be combined arbitrary if their order is not changed. If
nothing is specified, the Y-axis is used.
- "loop" - Specifies the number of loops which have to be perfomed. If this value is set to -1, the object rotates
endless. If a value > 0 is given here, the rotation stops after this amount of loops has elapsed. Default is
an endless loop.
- "orbit" - This parameter specifies an orbit in unit meters. If "orbit" is set to a value > 0.0 the object rotates
around its center coordinates using this offset. This results in a orbit-like rotation as it is known e.g. from
planets. The default value is 0.0.
- "sangle" - The start angle in degrees from what the rotation shall begin, default is 0 degrees.
- "sangle" - The end angle in degrees at what the rotation shall stop, default is 359.99 degrees.
- "inctime" - The time in msec the rotation from "sangle" to "eangle" (the increasing rotation) has to last.
- "incacc" - The acceleration which has to be used for the increasing rotation. Default is 0 what means there is no
acceleration but a movement with constant speed.
- "atmax" - The time the object has to be stationary at the "eangle" after the increasing rotation was performed
completely. Default is 0 what means there is no delay for the maximum position.
- "dectime" - The time in msec the backward rotation from "eangle" to "sangle" (the decreasing rotation) has to
last. The default value is 0. That means, the decreasing rotation is performed immediately. Because this is not
visible it results in a rotation when "eangle" and "sangle" are set to vaules which are identically to a 360
degrees rotation. If these two parameters specify only a part of a circle and the parameters "inctime" and
"dectime" are greater than 0, a pendulum movement is performed by the object. Using the acceleration parameters
"incacc" and "decacc" a pendulum can be simulated which is subject of gravity.
- "decacc" - The acceleration which has to be used for the decreasing rotation. Default is 0 what means there is no
acceleration and the object performs the backward-rotation with a constant speed.
- "atmin - The time the object has to be stationary at the "sangle" after the decreasing rotation was performed.
Default is 0 what means there is no delay for the maximum position.
- text "text" textcolor bgcolor [glow] [flip] [mirror] [sharpen] - replaces the first texture which can be found in the object
using the string "text" in the given textcolor "textcolor" and the background color "bgcolor"
For this command the "text" itself in every case needs to be quoted. The texture which will be replaced by the
given "text" (the "first texture") is defined from the 3D models point of view. To get predictable results it is
recommended to use this command only with objects which do not own more than one texture. Elsewere it depends
on the arrangement of the 3D models components within the file which one the "first texture" is.
- "textcolor" and "bgcolor" - required parameters, the values / templates for color described below can be used here
- "glow" - an optional parameter which makes the text shiny, it gives a luminescent effect but it doesn't lights
surroundng objects; default is a non-shiny text
- "flip" - an optional parameter that rotates the texture by 90 degrees, this is useful e.g. in case an object
with a texture aspect ratio of 4:3 was rotated by 90 degrees to use it as an 3:4 object, without the "flip"
command the text would not be aligned in horizontal direction
- "mirror" - display the text mirrored
- "sharpen" - disables a possibly activated texture anti-alias locally for this text
- texture URL [refresh=] [glow] [flip] [mirror] [sharpen] [crop=(top,left,bottom,right)] - replaces the first texture
of the object with the picture specified by "URL"
Here "first texture" is defined from the 3D models point of view too (see command "text" for more information), to
get predictable results it is recommended to use this command only with objects which do not own more than one
texture.
- "refresh=" - an optional parameter which can be used to specify a time in seconds after what the picture is
reloaded, it can be used e.g. to show pictures from a webcam, the default is refresh off
- "glow" - an optional parameter which makes the picture shiny, it gives a luminescent effect but it doesn't
affects surrounding objects, default is a non-shiny texture
- "flip" - an optional parameter which rotates the texture by 90 degrees, this is useful e.g. in case an object
with a texture aspect ratio of 4:3 is used rotated by 90 degrees to use it as an 3:4 object, without the
"flip" command the new texture would not be aligned in horizontal direction
- "mirror" - display the texture mirrored
- "sharpen" - disables a possibly activated texture anti-alias locally for this texture
- "crop" - uses only a part of the image as texture; the part which has to be used must be specified using the
absolute pixel values for its "top", "left", "bottom" and "right" border
- videostream1 - replaces the first texture of the object with the pictures of the first video channel
- webpane URL - displays the webpage "URL" within the Misc-panel if the user is located in an area of
30 m around this object
If the user has a position within the 30-m-radius of more than one object, the "webpane"-command of that one is
used which is closest to the user.
- "URL" - the complete URL of the webpage which has to be displayed in the Misc-panel
Following color-templates are useable for the different "color" parameters: black, blue, cyan, darkGray, gray,
green, lightGray, magenta, orange, pink, red, white, yellow
Instead of it a color can be defined using a hexadevimal value with a preceding "0x" or "#". These values are
defined as
#RRGGBB or 0xRRGGBB
where RR stands for the red portion of the desired color in range 0x00..0xFF (=0..255), GG stands for the green portion
of the desired color in range 0x00..0xFF and BB stands for the blue portion of the desired color in range 0x00..0xFF.
Using this values every imaginable color can be defined.
Object Database
To make it easier to find a specific object, a complex database-supported search function is available from within the
"Build" tab pane. The database searchwindow can be accessed by clicking the "..." button beside of the input field for
the object name (right below the model type combobox). Please note: In case building is activated but even tough this
button is disabled, the acutal world does not support this functionality. Reasons may be that the owner doesn't offers
a database with the objects or the database connection data have not been entered.
After clicking the "..." button, the client software tries to connect to the database. If this was sucessful, the
database window opens. The upper part of it can be used for searching objects only. There a set of object property
input fields can be used:
- Index - this is an informational field only, no input can be made here
- Input field "Name" - the name of the object: if (parts) of the name of the wanted object are known, they can be
entered here, elsewhere this field can be left free
- Combobox "Color" - specifies the color of the object; if it is known, the color or material of the wanted object can
be selected, elsewhere "undefined" should be used
- Combobox "Size" - specifies a relative size of the object; this size is only a reference value and often depends on
the kind of an object; here "undefined" should be selected when the relative size of the wanted object is not known
- Textarea "Description" - when an object was found and selected, a more detailled description of it appears here
within this textarea; for a search operation it is possible to enter keywords which describe the wanted object,
elsewhere this are should be left empty
- Button "Search" - this button starts a search process using the data which were entered in the object property fields
above of it, the search results are listed in the area below the buttons
- Button "Reset" - clears all fields and resets them to the default state
- Button "Use" - if an object was found and selected it can be put directly into the textfield for the modelname with
this button
- Results - all results of a search process are listed within the results-list; here it is possible to single-click
an entry which brings all its data into the object property input fields (this is useful e.g. to read the description
of the object or as base for further search operations), double-clicking an entry puts the object name directly into
the objectname input field of the "Build" tabpane.
Below of these control elements some more can be found. These are useful only for the person which has administation rights
for the object database. To access these administation functions, it is first necessary to enter the database login name
and password in the related fields and to finish this by pressing enter. The administration buttons become enabled after
the login was successful. They offer following functionalities:
- "INSERT" - a new object will be added to the database using all values of the object property input fields which can
be used for searching objects too
- "REPLACE" - this operation is valid only if the "Index" field is not "undefined" but shows a valid index number; this
operation replaces the actual record with the data from the object property input fields
- "DELETE" - this operation is valid only if the "Index" field is not "undefined" but shows a valid index number; it
removes the actual record from the database
Table of Contents