Virtual Worlds
Erweitertes Bauen
Neben der einfachen Methode, Objekte anzuordnen, gibt es auch andere
Möglichkeiten, diese "Bauelemente" zu handhaben, sowie andere Objekttypen für spezielle Aufgaben zu verwenden.
Keyboard-Steuerung
Viele Aktionen, die mit Hilfe der Buttons innerhalb der "Build" Tabpane
ausgeführt werden können, sind auch per Tastatur ausführbar. Einzige Voraussetzung dafür ist, dass ein Objekt
selektiert wurde (dazu muss dieses innerhalb des 3D-Bereiches mit rechts angeklickt werden, so dass es als
Drahtgittermodell dargestellt wird). Folgende Funktionen sind dann per Keyboard zugreifbar:
- Drehen des Objektes um seine Achsen (x-, y-, z-Achse in positiver and negativer Richtung) - [Numpad-7],
[Numpad-9], [Numpad-4], [Numpad-6], [Numpad-1], [Numpad-3]
- Kopieren des selektierten Objektes - [Einfg]
- Löschen des selektierten Objektes - [Entf]
Einige Tastaturbelegungen für die erweiterten Baufunktionen überlappen sich mit der Belegung, die für die
Navigation innerhalb einer Welt verwendet wird. Um diese eindeutig zu trennen
und die entsprechenden Funktionen auf ein Objekt wirken zu lassen benötigt die "Build"-Tabpane bzw. eines
ihrer Bedienelemente den Focus. Das heißt, als letzter Bedienschritt muss die Tabpane selbst oder eines dieser
Elemente mit links angeklickt worden sein. In diesem Fall können folgende Aktionen über die Tastatur
ausgeführt werden:
- Verschieben eines Objektes in horizontaler Richtung (x, z) - [Cursor Up], [Cursor Down], [Cursor Left], [Cursor Right]
Objekttypen
Beim Bauen können verschiedene, mehr oder weniger spezielle Objekttypen verwendet werden. Diese Typen erfüllen
unterschiedliche Aufgaben. So eine Spezialisierung ist sinnvoll, um die umfangreichen und teilweise komplexen Effekte und
Features der verwendeten 3D-Engine dem Benutzer in einer möglichst einfachen, verständlichen und flexiblen Weise zur
Verfügung zu stellen.
Die einzelnen Objekttypen können mit Hilfe der Combobox am oberen Rand der "Build"
Tabpane ausgewählt werden. Die einzelnen Objekttypen kommen zum Einsatz, indem die Combobox angeklickt und aus der dann
sichtbaren Liste der jeweilige Eintrag ausgewählt wird. Der Inhalt dieser Liste entspricht dabei den Namen der einzelnen
Objekttypen.
Standardobjekt
Standardobjekte benötigen in jedem Fall 3D-Modelle, die als Files von einem definierten Ort heruntergeladen werden. Das
Herunterladen, Cachen, Interpretieren und Darstellen dieser Files wird dabei vom Virtual Universe Browser übernommen.
Die 3D-Modelle, die hinter diesen Standardobjekten stehen, können dabei unter Verwendung einer enstprechenden
3D-Modelliersoftware auch komplett selbst erstellt werden. Momentan werden folgende Dateiformate direkt unterstützt:
- RenderWare® RWX Modelle (.rwx)
- Caligari trueSpace® Modelle und Szenen (.cob and .scn)
- Alias/Wavefront® Modelle (.obj)
Andere 3D Formate können mit einer speziellen 3D-Konvertierungssoftware in eines der oben aufgeführten Formate umgewandelt
werden. Hierfür eignet sich z.B. AccuTrans 3D®.
Standardobjekte werden immer dann verwendet, wenn der entsprechende Objekttyp in der Combobox ausgewählt wurde und im
Objektnamen-Textfeld unter dieser Combobox der Name oder die komplette URL zu dem zugehörigen 3D-Modell eingegeben wird.
Eigenschaften:
- Das zugehörige 3D-Modell wird von einem Webspace heruntergeladen und anschließend verwendet
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden
- Objektkommandos können verwendet werden
Die 3D-Modelle für diese Standardobjekte können sich im Standardsuchpfad einer Welt befinden. In diesem Fall
muss in der Combobox nur der Name des 3D-Objektes (also der Filename) angegeben werden. Sollen eigene Modelle
zum Einsatz kommen, die sich auf einem anderen Webspace befinden, so muss der komplette URL angegeben werden.
Hier ist zu beachten: Der Browser sucht Texturen, die in einem 3D-Modell verwendet werden immer in einem
Untrerverzeichnis "textures". D.h. die Verzeichnisstruktur auf einem separaten Webspace sollte z.B.
so aussehen:
- Separater Webspace (z.B. "http://www.myhomepages.org/~user/")
- Ein Unterverzeichnis, in dem alle 3D-Modelle abgespeichert sind (z.B. "objects/")
- Das zwingend benötigte Unterverzeichnis "textures/", dass die Texturen für alle 3D-Modelle enthält
- Ein optionales Unterverzeichnis "data/", in dem bei der Verwendung von .obj-Files die Materialdefinitionen
(.mtl-Files) abgelegt werden
Für dieses Beispiel wäre eine gültige URL z.B. "http://www.myhomepages.org/~user/objects/street.rwx". Der
Browser würde eine benötigte Textur "streettex.png" in diesem Fall also unter
"http://www.myhomepages.org/~user/objects/textures/streettex.png" suchen.
Spotlight Objekt
Dieser Objekttyp wird verwendet, wenn in der Combobox der Build-Tabpane das Item "Spotlight" selektiert wird. Das "Spotlight" ist mit
einem Lichtstrahl gleichzusetzen, der nur in eine Richtung geht und nur einen begrenzten Bereich ausleuchtet (ähnlich einer Taschenlampe).
Im Unterschied zu einem Standardobjekt ist dieser Typ nicht direkt als 3D-Objekt sichtbar, sondern nur in Form von Licht, das von anderen,
sichtbaren Objekten reflektiert wird. Ist der "Building"-Modus aktiviert, wird dieser Objekttyp durch einen gelben Pfeil
sicht- und verwendbar gemacht. Zusätzlich zeigt dieser Pfeil an, wo sich der Ausgangspunkt der Lichtquelle
befindet und in welche Richtung sie strahlt.
Eigenschaften:
- Keine externen Daten (z.B. auf Webspace) nötig
- Beleuchtet nur umgebende Objekte, die sich in Richtung des Lichtstrahls befinden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden (das ändert auch die Richtung, in die geleuchtet wird)
- Bietet spezielle Parameter für den Öffnungswinkel, die Intensität und die Farbe der Lichtquelle
- Verschiedene Effekte können mit Hilfe zweier Listen mit vordefinierten Ein- und Ausschaltzeiten realisiert werden
Pointlight Objekt
Dieses Objekt kann durch Selektieren von "Pointlight" in der Combobox der "Build"-Tabpane ausgewählt werden.
Im Unterschied zu einem Standardobjekt ist dieser Typ nicht direkt sichtbar, sondern nur in Form des Lichtes,
das von ihm ausgeht und auf anderen Objekten reflektiert wird. Im "Building"-Modus wird das Objekt durch eine
gelbe Kugel symbolisiert, die gleichzeitig die Position der Lichtquelle anzeigt.
Eigenschaften:
- Keine externen Daten (z.B. auf Webspace) nötig
- Beleuchtet alle umgebende Objekte gleichmäßig (abhängig von deren Entfernung)
- Kann frei positioniert werden
- Bietet spezielle Parameter für die entfernungsabhängige Dämpfung (Dämpfung, die linear zur Entfernung wächst sowie
Dämpfung, die quadratisch mit der Entfernung wächst), die Intensität und die Farbe der Lichtquelle
- Verschiedene Effekte können mit Hilfe zweier Listen mit vordefinierten Ein- und Ausschaltzeiten realisiert werden
Visible Pointlight Objekt
Dieses Objekt kann durch Selektieren von "Visible Pointlight" in der Combobox der "Build"-Tabpane
ausgewählt werden. Dieser Lichttyp ist direkt und in Form des Lichtes, das von ihm ausgeht und auf anderen Objekten reflektiert wird
sichtbar. Deswegen wird im "Building"-Modus kein spezielles Symbol verwendet um die Position der Lichtquelle anzuzeigen.
Eigenschaften:
- Keine externen Daten (z.B. auf Webspace) nötig
- Beleuchtet alle umgebende Objekte gleichmäßig (abhängig von deren Entfernung)
- Kann frei positioniert werden
- Bietet spezielle Parameter für die entfernungsabhängige Dämpfung (Dämpfung, die linear zur Entfernung wächst sowie
Dämpfung, die quadratisch mit der Entfernung wächst), die Intensität und die Farbe der Lichtquelle sowie einen Skalierungsfaktor, der
die sichtbare Größe der Lichtquelle beeinflußt.
- Verschiedene Effekte können mit Hilfe zweier Listen mit vordefinierten Ein- und Ausschaltzeiten realisiert werden
Pointsound Objekt
Dieses Objekt kann durch Selektieren von "Pointsound" in der Combobox der "Build"-Tabpane ausgewählt
werden. Im Unterschied zu einem Standardobjekt ist dieser Typ nicht direkt sichtbar, sondern nur in Form des Klanges hörbar, der abgespielt
wird. Im "Building"-Modus wird das Objekt durch eine blaue Kugel symbolisiert, die gleichzeitig die Position der Soundquelle anzeigt.
Eigenschaften:
- Keine externen Daten (z.B. auf Webspace) nötig
- Kann frei positioniert werden
- Bietet spezielle Parameter für die Art der entfernungsabhängigen Dämpfung (Attenuation), für die Gesamtlautstärke und für den
Radius, innerhalb dessen der Sound hörbar sein soll
- RIFF-WAVE- (.wav), AIFF- (.aif / .aiff) und Sun-Audio-Soundfiles (.au) werden unterstuetzt
Cube Objekt
Dieses Objekt kann durch Selektieren von "Cube" in der Combobox der "Build"-Tabpane
ausgewählt werden. Damit kann ein Objekt erzeugt werden, dass ein so genanntes "Primitive" darstellt, eine geometrische
Grundform, bei der es sich hier um einen Quader handelt. Dieses Primitive kann ähnlich den Standardobjekten
verwendet werden, mit der Ausnahme, dass der Scale-Parameter hier nicht existiert. Die Größe dieses Objekts wird durch Angabe
der Längen für Breite, Tiefe und Höhe festgelegt.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Breite, Höhe und Tiefe können getrennt festgelegt werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Objektkommandos können verwendet werden
Cone Objekt
Dieses Objekt kann durch Selektieren von "Cone" in der Combobox der "Build"-Tabpane
ausgewählt werden. Damit kann ein Objekt erzeugt werden, dass ein so genanntes "Primitive" darstellt, eine geometrische
Grundform, bei der es sich hier um einen Kegel handelt. Dieses Primitive kann ähnlich den Standardobjekten
verwendet werden, mit der Ausnahme, dass der Scale-Parameter hier nicht existiert. Die Größe dieses Objekts wird durch
Angabe der Höhe und des Grundradius festgelegt.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Höhe, Grundradius und Auflösung können getrennt festgelegt werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Objektkommandos können verwendet werden
Cylinder Objekt
Dieses Objekt kann durch Selektieren von "Cylinder" in der Combobox der "Build"-Tabpane
ausgewählt werden. Damit kann ein Objekt erzeugt werden, dass ein so genanntes "Primitive" darstellt, eine geometrische
Grundform, bei der es sich hier um einen Zylinder handelt. Dieses Primitive kann ähnlich den Standardobjekten
verwendet werden, mit der Ausnahme, dass der Scale-Parameter hier nicht existiert. Die Größe dieses Objekts wird durch
Angabe der Höhe und des Radius festgelegt.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Höhe, Radius und Auflösung können getrennt festgelegt werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Objektkommandos können verwendet werden
Sphere Objekt
Dieses Objekt kann durch Selektieren von "Sphere" in der Combobox der "Build"-Tabpane
ausgewählt werden. Damit kann ein Objekt erzeugt werden, dass ein so genanntes "Primitive" darstellt, eine geometrische
Grundform, bei der es sich hier um eine Kugel handelt. Dieses Primitive kann ähnlich den Standardobjekten
verwendet werden, mit der Ausnahme, dass der Scale-Parameter hier nicht existiert. Die Größe dieses Objekts wird durch
Angabe des Radius festgelegt.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Radius und Auflösung (welche identisch mit der Genauigkeit des Objektes ist) können frei gewählt werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden (was wichtig ist, wenn das Objekt mit einer Textur belegt wurde)
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Objektkommandos können verwendet werden
Rotation Shape Objekt
Dieses Objekt kann durch die Auswahl von "Rotation Shape" im "Build"-Tabpanel
eingesetzt werden. Rotation Shape Objekte können zur Erzeugung von komplexen rotationssymmetrischen Formen verwendet
werden. Rotationssymmetrisch heißt dabei nicht nur, dass es rund sein muß, sondern auch dass das Objekt z.B. drei oder vier
Ecken haben kann. Die Form des Objektes kann dabei mit einem Editor online bearbeitet werden. Um das zu tun, ist es
zuerst durch Rechtsklick zu selektieren. Dadurch wird der Editor-Button rechts unterhalb der Objekt-Combobox bedienbar,
mit dessen Hilfe der Editor zugänglich wird.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Form des Objektes ist online editierbar
- Auflösung kann frei definiert werden
- Kann zu einem elliptischen Objekt an Stelle eines kreisrunden gestreckt werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
3D Text Objekt
Dieses Objekt kann durch Selektieren von "3D Text" in der Combobox der "Build"-Tabpane
ausgewählt werden. Damit wird ein spezielles Objekt erzeugt, das aus einem dreidimensionalen, frei definierbaren Text besteht,
der z.B. verschoben und gedreht werden kann. Im Vergleich zu anderen Objekten sind hier jedoch keine Objektkommandos möglich.
Statt dessen wird in der zugehörigen Text Area der Text eingegeben, der dann als Objekt erscheinen soll.
Ein Scale-Faktor von eins bedeutet hier, dass Großbuchstaben ca. 1 m hoch sind, bei diesem Scale-Faktor sowie einer Tiefe
von ebenfalls eins sind die einzelnen Buchstaben auch etwa einen Meter tief.
Eigenschaften:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Scale-Faktor, Tiefe und Auflösung (welche identisch mit der Genauigkeit der Buchstabendarstellung ist) können frei definiert werden
- Kann frei positioniert werden
- Kann um alle drei Achsen gedreht werden (was wichtig ist, wenn das Objekt mit einer Textur belegt wurde)
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Verschiedene vordefinierte Schriftstile können zugewiesen werden
- Objektkommandos sind nicht möglich, statt dessen muß hier der gewünschte Text angegeben werden
Fountain Objekt
Dieser Objekttyp kann durch Selektieren von "Fountain" in der Combobox der
"Build"-Tabpane ausgewählt werden. Er kann eingesetzt werden, um eine
Partikelanimation zu erzeugen, mit der sich z.B. Fontänen simulieren lassen. Um diesen Objekttyp - der sich ständig in
Bewegung befindet - zu selektieren, ist im "Build"-Tabpane zuerst mittels des
Buttons Movement "Off" dessen Bewegung zu stoppen. Dadurch wird das animierte Objekt durch einen Quader
ersetzt, der wie gewohnt durch Rechtsklick selektierbar ist.
Properties:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Animiertes Objekt (Partikelanimation mit Punkten oder Linien)
- Radius, Höhe und die Anzahl der verwendeten Partikel sind frei definierbar
- Kann frei positioniert werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
Water Surface Objekt
Dieser Objekttyp kann durch Selektieren von "Water Surface" in der Combobox der
"Build"-Tabpane ausgewählt werden. Er kann eingesetzt werden, um eine
bewegte Wasseroberfläche zu simulieren, Geschwindigkeit und Höhe der Wellenbewegung sind dabei parametrisierbar. Kopien eines solchen
Objektes bewegen sich absolut synchron zueinander, wenn sie die gleichen Parameter aufweisen. Diese Eigenschaft kann genutzt werden,
um mit mehreren einzelnen Water Surface Objekten große geschlossene Wasseroberflächen zu erzeugen. Wird ein solches Objekt selektiert, so
wird es mittels einer roten Umrahmung markiert und alle anderen, synchronen Objekte werden als Drahtgittermodell dargestellt.
Properties:
- Benötigt kein separates 3D-Modell und wird in einer Welt sofort sichtbar
- Animiertes Objekt (Wasserwellen-Animation)
- Höhe und Geschwindigkeit der Wellenbewegung ist frei definierbar
- Kann frei positioniert werden
- Verschiedene vordefinierte Materialien können zugewiesen werden
- Objektkommandos können verwendet werden
Landscape Objekt
Dieser Objekttyp wird speziell für die Realisierung von Landschaften verwendet. Durch das Selektieren des
Eintrags "Landscape" in der "Build"-Tabpane wird dieser Typ ausgewählt. Für
Landscape Objekte werden - ähnlich den Standardobjekten - spezielle 3D-Modelle benötigt.
Diese können mit dem VU Terrain Generator erzeugt werden. Es werden zwei verschiedene Typen unterstuetzt:
- "Complex Tiles" - Dieser Typ verwendet unterschiedliche Objekte fuer jedes Segment in einer Welt. Der Basisname
für diese einzelnen 3D-Objekte, die zusammengesetzt den Untergrund ergeben, ist auf "terrain" festgelegt. Dieser
Basisname wird dann - ergänzt um die Adresse des Webspace auf dem die Objekte liegen - in der
"Build"-Tabpane eingetragen.
Zur Verdeutlichung ein Beispiel: wenn die erzeugten Landscape-Objekte in das Verzeichnis "http://www.domain.tld/~User/MeineWelt" hochgeladen wurden, so
lautet die korrekte Basis-URL, die für das Landscape Objekt eingetragen werden muß
"http://www.domain.tld/~User/MeineWelt/terrain".
Der große Vorteil bei dieser Methode Landschaften zu generieren liegt darin, dass einzelne Objekte auch
verändert werden können. D.h. es kann mittels einer geeigneten 3D-Modelliersoftware z.B. ein Loch für einen
Tunneleingang hineingeschnitten werden. Das ist möglich, weil der Untergrund in Form von editierbaren 3D-Modellen vorliegt. Um herauszufinden, welches Objekt sich an einer
bestimmten Position befindet, muß diese Stelle nur mit rechts angeklickt werden. Der vollständige Objektname,
der neben dem Basisnamen auch einige Koordinaten enthält, wird dann im Chatpanel
angezeigt.
- "Repeated Tile" - Hier kommt ein einzelnes Objekt zum Einsatz, das fuer jedes Segment in einer Welt erneut dargestellt,
also wiederholt (=repeated) wird. Der Objektname, der in der "Build"-Tabpane
eingetragen wird, ist der komplette Name bzw. der komplette URL zum gewuenschten, 20 x 20 m grossen 3D-Modell.
Properties:
- Benötigt ein bzw. mehrere spezielle 3D Modelle für die Landschaft
- Die Höhe der gesamten Landschaft (Y-Position) kann modifiziert werden
Objektkommandos
Einige Objekttypen sind in der Lage, zusätzliche Kommandos zu interpretieren, die in Form spezieller Texte
übergeben werden. Diese Kommandos können im entsprechenden Textfeld am unteren Ende der "Build"-Tabpane
eingegeben werden. Mehrere verschiedene Kommandos müssen dabei durch ein Semikolon getrennt werden. Das
Eingabefeld wird editierbar, so bald ein Objekt, dass diese Kommandos auch unterstützt, durch einen
Rechtsklick selektiert wurde.
Für die folgende Beschreibung der Kommandos wird eine spezielle Schreibweise verwendet:
command parameter value=x [optional parameter1] [optional parameter2]
wobei "command" das Schlüsselwort ist, das festlegt, was zu tun ist. "parameter" stellt eine zusätzlich
benötigte Information dar, "value=x" setzt einen bestimmten Wert auf einen anderen als den Defaultwert und
"[optional parameter]" ist eine zusätzliche, nicht zwingend erforderliche Information. Wenn ein Kommando
mehrere optionale Parameter zulässt, ist ihre Reihenfolge auch dann einzuhalten, wenn einzelne Parameter
nicht verwendet werden. Es darf also z.B. der erste optionale Parameter weggelassen und mit dem zweiten
begonnen werden, es ist hingegen nicht erlaubt (und führt zu einer Fehlermeldung), den dritten Parameter
vor dem zweiten aufzuführen.
Die Anzahl möglicher (optionaler) Parameter hängt vom jeweiligen Kommando ab. Diese werden im folgenden
detailliert beschrieben:
- click audiotrack "URL" [volume=] - klickt der User dieses Objekt mit links an, wird das durch "URL"
spezifizierte Audiofile heruntergeladen und als nicht-räumlicher Sound abgespielt. Ein erneuter Klick
stoppt die Wiedergabe. Es werden MIDI- und OGG-Files sowie Soundmodules (.MOD, .XM, .IT, .S3M)
unterstützt.
- "URL" - die Internetadresse des Soundfiles, das bei einem Klick heruntergeladen und abgespielt
werden soll; dieser URL muss innerhalb von Anführungsstrichen angegeben werden (also z.B.
"http://www.VirtualWorlds.de/test.ogg")
- "volume=" - dieser optionale Wert legt die Lautstärke der Wiedergabe in Prozent (im Bereich 0..100%) fest,
der voreingestellte Wert liegt bei 100%.
- click location "worldname" x-coordinate y-coordinate z-coordinate y-axis - der User, der dieses Objekt
anklickt, wird zu den angegebenen Koordinaten transportiert
Dieses Kommando benötigt alle Parameterwerte um den User zu der gewünschten Position transportieren zu können. Die
kompletten Koordinaten können beispielsweise mit Hilfe des "?"-Buttons der Location-Bookmarks
ermittelt und direkt von dort kopiert werden.
- "worldname" - der Name der Welt in die der User transportiert werden soll; dieser Name ist auch dann anzugeben,
wenn die Koordinaten innerhalb der gleichen Welt liegen
- x-coordinate y-coordinate z-coordinate - die X-, Y- und Z-Koordinaten der Position, an die der User
transportiert werden soll
- y-axis - die Orientierung, in der der User an der neuen Position stehen soll
- click objectname - der Name des Objektes (bei Standardobjekten: der Name des 3D-Modells)
wird im Chattext-Bereich ausgegeben, wenn ein User das Objekt mit links anklickt
Dieses Kommando unterstützt keine weiteren Parameter, Werte oder Optionen außer dem zwingend benötigten "objectname".
- click url "URL" [target] - klickt der User dieses Objekt mit links an, wird im Standardbrowser oder im angegebenen "target"
die durch "URL" spezifizierte Internetseite geöffnet
"click" ist hier das eigentliche Kommando. "url" spezifiziert, das bei einem Klick mit der linken
Maustaste eine Internetseite geöffnet und angezeigt werden soll.
- "URL" - die Internetadresse, die bei einem Klick angezeigt werden soll; dieser URL muss innerhalb von
Anführungsstrichen angegeben werden (also z.B. "http://www.VirtualWorlds.de")
- "target" - wird hier "help" angegeben, so wird die Webseite im Hilfe-Panel des Browsers angezeigt, die eigentliche Hilfeseite
wird also ausgeblendet; wird kein "target" angegeben, wird der Standard Internetbrowser verwendet
- glowcolor colorvalue - färbt ein Objekt in der angegebenen Farbe ein und lässt dieses als
selbstleuchtend erscheinen
Der spezielle Selbstleuchteffekt, der mit Hilfe dieses Kommandos erzeugt wird, beeinflusst andere Objekte
nicht. Aber auch wenn das Objekt dadurch keine echte Lichtquelle darstellt, leuchtet die Farbe und ist
deswegen auch ohne separate Lichtquelle immer sichtbar. Zusammen mit dem "pointlight" Kommando können
auf diese Art realistische Neon-Effekte erzeugt werden. Das "glowcolor"-Kommando verändert nur die
Teile eines 3D-Modells, die nicht texturiert, also von vorne herein einfarbig sind.
- "colorvalue" - ein erforderlicher Parameter, der Farbe und Helligkeit festlegt; eine Beschreibung
der hierfür erlaubten Werte ist weiter unten zu finden
- pointlight colorvalue [radius=] - fügt zum Mittelpunkt eines Objekts eine punktförmige Lichtquelle
hinzu
Die Lichtquelle, die mit diesem Kommando erzeugt wird, ist in der Lage, umgebende Objekte anzuleuchten.
Sie ist einfacher gestaltet als der gleichnamige Objekttyp. Die einzige Möglichkeit, den Einflussbereich
zu begrenzen bietet der Parameter "radius=", es gibt hier keine Dämpfung in Abhängigkeit von der
Entfernung. Für aufwändigere und flexiblere Beleuchtungen sollten daher Objekte vom Typ "Point Light"
bzw. "Directional Light" verwendet werden.
- "colorvalue" - ein erforderlicher Parameter, der die Farbe des emittierten Lichts festlegt; eine
Beschreibung der möglichen Werte ist weiter unten zu finden
- "radius=" - ein optionaler Parameter, der den Wirkungsbereich der Lichtquelle festlegt, wird dieser
Parameter nicht verwendet, wird der Defaultwert von 10 m benutzt
- rotation [X][Y][Z] [loops=] [orbit=] [sangle=] [eangle=] [inctime=] [incacc=] [atmax=] [dectime=] [decacc=] [atmin=]
- führt mit dem Objekt eine (beschleunigte) Rotation oder eine (beschleunigte) Pendelbewegung um ein oder mehrere
der Objektachsen herum aus
Dieses Objektkommando ist mit eines der komplexesten. Abhängig von den Parametern können unterschiedlichste Rotations-
und Pendelbewegungen definiert werden. Um die Benutzung zu erleichtern wurden Parameterwerte voreingestellt, die
bei der Verwendung dieses Kommandos ohne jegliche weitere Parameter eine einfache Rotation um die Y-Achse des Objektes
ausführen. Durch probeweises Einsetzen und Modifizieren einzelner Parameter kann dann mit den Möglichkeiten dieses
Kommandos experimentiert werden.
Unter Verwendung der "eangle"- und "sangle"-Parameter zusammen mit den "incXXX"- und "decXXX"-Parametern können
neben Rotationen auch komplexe Pendelbewegungen definiert werden. Eine detailliertere Beschreibung dazu findet sich
bei der Erklärung des Parameters "dectime".
- "XYZ" - Legt die Achse(n) fest, um die herum das Objekt die Rotations- oder Pendelbewegung ausführen soll und für
die die folgenden Parameterwerte gelten sollen. Die Achsen können beliebig kombiniert werden, wenn dabei die
Reihenfolge "XYZ" nicht verändert wird. Wird dieser Parameter nicht gesetzt, so wird die Y-Achse verwendet.
- "loop" - Legt die Anzahl der Wiederholungen fest. Wird dieser Wert auf -1 gesetzt, so rotiert bzw. pendelt das
Objekt endlos. Werte > 0 sorgen dafür, dass das Objekt still stehen bleibt, so bald diese Anzahl an
Wiederholungen ausgeführt wurde. Voreingestellt ist hier -1, also eine Endlosschleife.
- "orbit" - Dieser Parameter spezifiziert den Bahnradius einer Umlaufbahn in der Einheit Meter. Wird hier ein Wert
> 0.0 angegeben, so führt das Objekt die Rotationsbewegung mit diesem Offset um seinen Mittelpunkt herum aus.
Das Ergebnis ist eine Umlaufbahn, wie sie z.B. von Planeten bekannt ist. Voreingestellt ist ein Bahnradius von
0.0 m, also keine Umlaufbahn.
- "sangle" - Der Startwinkel von dem an beginnend die Rotationsbewegung ausgeführt werden soll, voreingestellt sind
0.0 Grad.
- "sangle" - Der Endwinkel bis zu dem die Rotationsbewegung ausgeführt werden soll, voreingestellt sind
359.99 Grad.
- "inctime" - Die Zeit in Millisekunden, die die Rotation vom "sangle" zum "eangle" (der "Increase-Rotation")
dauern soll.
- "incacc" - Die Beschleunigung der "Increase-Rotation"-Bewegung. Voreingestellt ist hier 0, was bedeutet, dass
diese Rotationsbewegung mit konstanter Geschwindigkeit erfolgt.
- "atmax" - Die Zeitspanne in Millisekunden, die das Objekt auf seiner Maximalposition (dem "eangle") verharren soll,
bevor es eine Rückbewegung ausführt. Voreingestellt ist hier 0, was bedeutet, dass sich das Objekt sofort nach
erreichen der Maximalposition weiter- bzw. zurückbewegt.
- "dectime" - Die Zeit in Millisekunden, die die Rotation vom "eangle" zurück zum "sangle" (der "Decrease-Eotation")
dauern soll. Voreingestellt ist hier 0, was bedeutet, das die Rückwärtsbewegung ohne Verzögerung erfolgt und somit
nicht als solche erkennbar ist. Aus diesem Grund erscheint bei einer "dectime" von 0 bei einer kompletten
Rotation von 360 Grad die erzeugte Bewegung wie eine kontinuierliche Rotation.
Wenn "sangle" und "eangle" nur einen Teil einer Komplettrotation von 360 Grad festlegen und "inctime" sowie
"dectime" größer als 0 sind, vollführt das Objekt eine Pendelbewegung. Zusammen mit den Beschleunigungsparametern
"incacc" und "decacc" kann zusätzlich simuliert werden, dass dieses Pendel der Gravitation unterliegt.
- "decacc" - Die Beschleunigung der "Decrease-Rotation"-Bewegung. Voreingestellt ist hier 0, was bedeutet, dass
diese Rotationsbewegung mit konstanter Geschwindigkeit erfolgt.
- "atmin - Die Zeitspanne in Millisekunden, die das Objekt auf seiner Minimalposition (dem "sangle") verharren soll,
bevor es eine erneute Rotationsbewegung ausführt. Voreingestellt ist hier 0, was bedeutet, dass sich das Objekt
sofort nach Erreichen der Minimalposition weiterbewegt.
- text "text" textcolor bgcolor [glow] [flip] [mirror] [sharpen] - ersetzt die erste gefundene Textur eines Objektes
durch den angegebenen "text" mit der Textfarbe "textcolor" und der Hintergrundfarbe "bgcolor"
Für dieses Kommando muss der eigentliche "text" in jedem Fall in Anführungszeichen gesetzt werden.
Die Textur, die durch diesen Text ersetzt wird ist immer die aus Sicht des 3D-Modells als erstes aufgefundene
Textur. Damit die Ergebnisse eindeutig sind, wird empfohlen, hier nur Objekte zu verwenden, die nur eine
einzige texturierte Fläche besitzen. Anderenfalls hängt es von der nicht ohne weiteres vorhersehbaren
internen Struktur des 3D-Modells ab, was hier als "erste Textur" erkannt wird.
- "textcolor" und "bgcolor" - benötigte Parameter für Text- und Hintergrundfarbe; eine Beschreibung
der möglichen Werte ist weiter unten zu finden
- "glow" - optionaler Parameter, der den Text selbstleuchtend erscheinen lässt, umgebende Objekte aber
nicht beleuchtet; voreingestellt ist hier ein nichtleuchtender Text
- "flip" - optionaler Parameter, der den Text um 90 Grad verdreht; diese Funktionalität kann verwendet
werden, um z.B. ein Objekt, das eigentlich das Seitenverhältnis 4:3 hat, ebenfalls um 90 Grad gedreht
als 3:4-Objekt zu verwenden, ohne dass der Text dann auf der Seite steht
- "mirror" - zusätzlicher Parameter, der den Text in Spiegelschrift darstellt
- "sharpen" - schaltet ein eventuell aktiviertes Anti-Aliasing für diesen Text aus
- texture URL [refresh=] [glow] [flip] [mirror] [sharpen] [crop=(oben,links,unten,rechts)] - ersetzt die erste gefundene
Textur eines Objektes durch das
mit "URL" spezifizierte Bild
Die Textur, die hiermit ersetzt wird ist immer die aus Sicht des 3D-Modells als erstes aufgefundene
Textur. Damit die Ergebnisse eindeutig sind, wird empfohlen, ausschließlich Objekte zu verwenden, die
nur eine einzige texturierte Fläche besitzen. Anderenfalls hängt es von der nicht ohne weiteres
vorhersehbaren internen Struktur des 3D-Modells ab, was als "erste Textur" interpretiert wird.
- "refresh=" - optionaler Parameter, der festlegt, nach welcher Anzahl von Sekunden das Bild erneut
geladen werden soll; dieser Parameter kann z.B. benutzt werden, um sich veränderne Bilder einer
Webcam anzuzeigen
- "glow" - optionaler Parameter, der das Bild selbstleuchtend erscheinen lässt, umgebende Objekte aber
nicht beleuchtet; voreingestellt ist hier eine nichtleuchtende Textur
- "flip" - optionaler Parameter, der die Textur um 90 Grad verdreht; diese Funktionalität kann
verwendet werden, um z.B. ein Objekt, das eigentlich das Seitenverhältnis 4:3 hat ebenfalls um 90
Grad gedreht als 3:4-Objekt zu verwenden, ohne dass die Textur dann ebenfalls verdreht ist.
- "mirror" - zusätzlicher Parameter, der die Textur gespiegelt darstellt
- "sharpen" - schaltet ein eventuell aktiviertes Anti-Aliasing für diese Textur aus
- "crop" - schneidet einen Teil aus der Textur heraus und stellt nur diesen Ausschnitt dar; dieser
wird in Form der Pixel angegeben, die den auszuscheidenden Teil von "oben", "links", "unten" und "rechts" umschließen
- videostream1 - ersetzt die erste gefundene Textur eines Objektes durch Bilder des ersten Videokanals
- webpane URL - stellt die unter "URL" dargestellte Webseite im Misc-Panel dar wenn sich der User im Umkreis
von 30 m um dieses Objekt befindet
Erfüllen mehrere Objekte diese Bedingung, so wird das "webpane"-Kommando desjenigen genommen, das dem User am
nächsten ist
- "URL" - die komplette Adresse der Webseite, die im Misc-Panel dargestellt werden soll
Die folgenden Farbwerte können als Text für die verschiedenen "color"-Parameter verwendet werden:
black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red, white, yellow
Statt dessen kann eine Farbe auch durch die Verwendung eines hexadevimal Zahlenwertes mit vorangestelltem
"0x" oder "#" definiert werden. Diese Farbwerte setzen sich dabei aus ihren Rot-, Grün- und Blauanteilen in der
Form
#RRGGBB or 0xRRGGBB
zusammen, wobei RR für rot, GG für grün und BB für blau im Bereich von jeweils 0x00..0xFF (=0..255) steht. Mit
Hilfe dieser Methode kann jede vorstellbare Farbe erzeugt werden.
Die Objektdatenbank
Um die Suche nach einem bestimmten, bereits existierenden Standardobjekt zu erleichtern, wurde eine komplexe,
datenbankgestützte Suchfunktion in die Virtual Universe Clientsoftware integriert. Diese Suchfunktion ist von der
"Build"-Tabpane aus mit Hilfe des "..." Buttons (rechts unterhalb der Objekttypen-Combobox zu finden) zugänglich.
Hier ist zu beachten: Ist der Build-Modus aktiviert und der "..." Button ist trotzdem nicht bedienbar, so liegt das daran,
das der Besitzer der aktuellen Welt keine Objektdatenbank anbietet ober die nötigen Datenbankzugriffsdaten für diese Welt
nicht nicht eingetragen hat.
Nach dem der "..."-Button angeklickt wurde, versucht die Software, sich mit der Datenbank zu verbinden. Gelingt dies,
wird das Datenbankfenster geöffnet. Der obere Teil dieses Fensters enthält dabei die Elemente, die zum Suchen von Objekten
nötig sind:
- Index - hierbei handelt es sich nur um ein Informationsfeld dessen Inhalt nicht verändert werden kann
- Textfeld "Name" - der Name des Objektes: sind Teile des Namens bekannt, so können diese für die Suche hier eingetragen
werden, ansonsten ist dieses Feld leer zu lassen.
- Combobox "Color" - spezifiziert die Farbe bzw. das Material des Objektes; ist diese bekannt, sollte der entsprechende
Eintrag selektiert werden, ansonsten ist die Auswahl "undefined" zu verwenden
- Combobox "Size" - spezifiziert die relative Größe (die nur als Richtwert anzusehen ist und stark von der Art des
Objektes abhängt); ist diese bekannt, sollte der entsprechende Eintrag selektiert werden, ansonsten ist die Auswahl
"undefined" zu verwenden
- Textfeld "Description" - wurde ein Standardobjekt gefunden und selektiert, so erscheint eine genauere Beschreibung
innerhalb dieses Feldes; für die Suche nach Objekten können hier beschreibende Stichworte angegeben werden, ansonsten
ist dieses Feld leer zu lassen
- Button "Search" - dieser Button startet einen Suchvorgang unter Verwendung der Daten in den o.g.
Objekteingenschaftsfeldern, die Suchergebnisse werden in der Liste unterhalb dieses Buttons angezeigt
- Button "Reset" - löscht alle Objekteigenschaftsfelder und setzt diese auf ihre Vorgabewerte zurück
- Button "Use" - wurde ein geeignetes Objekt gefunden und innerhalb der Ergebnisliste selektiert, so kann es mit diesem
Button direkt in das Feld für den Objektnamen in der "Build"-Tabpane übernommen werden.
- Results - alle Suchergebnisse werden in dieser Liste angezeigt; hier ist es möglich, einen Eintrag anzuklicken, um
seine Daten in die Objekteigenschaftsfelder zu übernehmen (z.B. um die ausführliche Beschreibung anzusehen oder um
diese Daten als Basis für weitere Suchvorgänge zu verwenden); des weiteren kann ein Eintrag auch doppelt angeklickt
werden, was genau so wirkt wie die Verwendung des "Use"-Buttons: der Objektnahme wird direkt in die
"Build"-Tabpane übernommen
Unter diesen Bedienelementen finden sich noch einige weitere, die ausschließlich für den Administrator der Objektdatenbank
bzw. einer Person mit Schreibrechten für die Tabelle mit den Objektdaten sinnvoll nutzbar sind. Um diese zu verwenden,
sind zuerst der Datenbank-Loginname sowie das zugehörige Paßwort in die entsprechenden Felder einzutragen und die Eingabe
mit "Enter" abzuschließen. War der Loginprozess erfolgreich, werden die Administrationsbuttons bedienbar:
- "INSERT" - ein neues Objekt wird unter der Verwendung aller in den Objekteigenschaftsfeldern eingetragenen Daten
zur Datenbank hinzugegfügt
- "REPLACE" - diese Operation ist nur dann möglich, wenn das Feld "Index" nicht "undefined" ist, sondern einen gültigen
Datensatzindex anzeigt, diese Operation ersetzt dann die Daten des durch "Index" spezifizierten Datensatzes mit den
aktuellen, in den Objekteigenschaftsfeldern eingetragenen Daten
- "DELETE" - diese Operation ist nur dann möglich, wenn das Feld "Index" nicht "undefined" ist, sondern einen gültigen
Datensatzindex anzeigt, die Operation löscht dann den aktuellen, durch "Index" spezifizierten Datensatz aus der
Datenbank
Inhaltsverzeichnis