VRML kennt zur Gestaltung der Welt noch die Knoten:
um zusätzliche Einstellungen für das Betrachten der Welt vorzunehmen, bzw. zusätzliche Informationen in den Quelltext aufzunehmen.
Ausgangspunkt ist wieder das Beispiel "Blauer Stuhl".
EXTERNPROTO Stuhl [ exposedField SFColor color field SFVec3f pos field SFRotation rotation field SFVec3f size ] "http://www.debacher.de/vrml/beispiele/prototyp-stuhl.wrl#Stuhl" Stuhl { pos 0 -2 0 rotation 1 0 0 -0.1 }
Alle folgenden Darstellungen zeigen übrigens die gleiche Welt!
Über den Knoten WorldInfo lassen sich im Quelltext Informationen
unterbringen, die ansonsten keinen sichtbaren Effekt haben.
WorldInfo { title "Blauer Stuhl" info [ "Copyright 2003 erstellt von Uwe Debacher" "Dieses Modell ist frei fuer nichtkommerzielle Anwender" "http://www.debacher.de" "Diese Information muss unveraendert in der Datei verbleiben" ] } Manche Browser zeigen den title-Text in der Kopfzeile des Fensters an. |
Über den Knoten NavigationInfo lassen sich Vorgaben für die
Bewegung innerhalb der Welt vornehmen.
NavigationInfo { avatarSize [0.25, 1.6, 0.75] headlight TRUE speed 1.0 type "WALK" visibilityLimit 0.0 }
Die erste Zeile gibt die Abmessungen des Betrachters vor. Dessen
Größe ist wichtig, wenn er z.B. Stufen erklimmen soll. |
Auf diesen Stuhl kann man nun aus verschiedenen Richtungen blicken, also
verschiedene Betrachtungspunkte (Viewpoints) benutzen.
Viewpoint { position 0 0 10 orientation 0 0 1 0 jump FALSE description "blauer Stuhl von Hinten" } Viewpoint { position 0 0 -10 orientation 0 1 0 3.14159 jump FALSE description "blauer Stuhl von Vorn" } Viewpoint { position 10 0 0 orientation 0 1 0 1.571 description "blauer Stuhl von Rechts" } Viewpoint { position -10 0 0 orientation 0 1 0 -1.571 description "blauer Stuhl von Links" } Jeder Viewpoint gibt an, an welcher Position der virtuelle Betrachter zu finden ist und in welche Richtung er jeweils schaut. Beide Angaben sind hier jeweils passend verändert. Zwischen den einzelnen Betrachtungspunkten kann man jederzeit wechseln, über das Schaltelement View ziemlich in der Mitte der unteren Funktionsleiste von Cortona. Der Eintrag jump FALSE bewirkt, dass die Bewegung zum Zielpunkt kontinuierlich erfolgt. Bei jump FALSE wird der Zielpunkt schlagartig angesteuert. |
Hat man in einer Welt verschiedene Viewpoints definiert, so wird normalerweise beim Laden der erste Viewpoint aktiviert. Will man gezielt einen anderen Viewpoint vorgeben, so muss man den jeweiligen Viewpoint mittels DEF benennen:
DEF Rechts Viewpoint { position 10 0 0 orientation 0 1 0 1.571 description "blauer Stuhl von Rechts" }
Anschließend kann man diesen Viewpoint dann direkt aufrufen mittels
stuhlview.wrl#Rechts
Die vorliegenden Darstellungen machen von dieser Möglichkeit regen Gebrauch.
Hinweis: Leider funktioniert diese Seiten in manchen optimierenden Browsern, z.B. Opera, nicht richtig. Hier wird die Welt anscheinend nur einmal geladen, dadurch wird die unterschiedliche Ansteuerung der Viewpoint ignoriert.