Willkommen zu Realjocs Vrml2.0 Workshop Teil III:

Workshop: Teil III Erweiterte Oberflächeneigenschaften

a) "Texturierung"

Zu den erweiterten Oberflächeneigenschaften von VRML 2.0 gehört die Möglichkeit den Objekten eine Textur zuzuweisen.
Die "Textur" kann als 2D Bild in den Formaten JPG GIF und sogar im Videoformat MPEG vorliegen (Movieclips einbinden) und wird wie eine Tapete über das Objekt gezogen.

Dazu benötigen wir wieder den Knoten "appearance Appearance" (Aussehen) der unter "Shape" eingebunden wird. Als Feldknoten wird diesmal der "material Material" ersetzt durch den neuen Feldknoten "texture ImageTexture" mit dem wir die Möglichkeit zur Referenzierung auf ein Bild besitzen.
Die Referenzierung wird durch den Befehl "url" beschrieben, wie in dem folgenden Beispiel liegt die Datei im selben Ordner wie der Quelltext. Bei Dateien in über- oder untergeordneten Verzeichnissen muss die Pfadangabe beachtet werden, dazu unser Beispiel:

#VRML V2.0 utf8

Transform {
                   children [
                                  Shape {
                                             
appearance Appearance {
                                                                                 
  texture ImageTexture {url "bild.jpg"}
...

repeatS repeatT
Mit "repeatS" und "repeatT" und den dazugehörigen Feldoperatoren TRUE oder FALSE bestimmen wir ob die Texture der Oberfläche des nachfolgenden Objektes gestreckt bzw gestaucht werden soll, wobei S für die ursprünglich horizontale Ausrichtung und T für die ursprünglich vertikale Ausrichtung steht.
Mit TRUE wird die Texture nicht gestreckt oder gestaucht um auf ein zu kleines oder zu grosses Objekt zu passen.

...
     texture ImageTexture {
                                             url "bild.jpg"
                                                       
 repeatS TRUE
                                            
 repeatT TRUE
                                              }
...

Der komplette Quelltext: "Beispiel3a.wrl"

#VRML V2.0 utf8
#Copyright by Joachim Kuells 2000
#Beispiel3a Wuerfel mit einer ImageTexture belegen
Transform {
children [
Shape {
appearance Appearance {
texture ImageTexture {
url "bilder/bild3a.jpg"
repeatS TRUE
repeatT TRUE
}
}
geometry Box {
size 25 25 25
}
}
]
}
Und so sieht unser Quelltext als VRML Datei aus: beispiel3a.wrl

P.S.: Als Textur können Sie natürlich eigene Bilder verwenden.
Aufgabe: Belegen Sie die 4 Grundkörper (Kugel, Kegel, Würfel, Zylinder) mit verschiedenen Texturen!


Workshop: Teil III Erweiterte Oberflächeneigenschaften

b) Movieclips einbinden

Um Moviclips einzubinden gehen Sie wie oben beschrieben vor und ersetzten den " material Material " Knoten diesmal durch " texture MovieTexture ":

...
appearance Appearance {
                                    
 texture MovieTexture {
...

Die Referenzierung auf das MPEG File wird durch den Befehl "url" beschrieben: Wie in dem folgenden Beispiel liegt die Datei im selben Ordner wie der Quelltext. Bei Dateien in über- oder untergeordneten Verzeichnissen muss die Pfadangabe beachtet werden!
...
       url " video.avi "
...
Sie haben durch folgende Feldknoten die Möglichkeit Ihre Videodatei zu steuern:

Mit "loop TRUE" erzeugen Sie eine Enlosschleife für die Videodatei.

Mit "startTime" und "stopTime" wird die Startzeit, Endzeit sowie die Anzahl der Durchlaufsequenzen bestimmt.

Mit "speed" wird die Abspielgeschwindigkeit festgelegt:
-Bei einem Wert > = 0 wird nur gerade das erste Bild der ganzen Sequence angezeigt.
-Bei einem negativen Wert wird die Sequenz rückwärts abgespielt.
Achtung: Diese Werte funktionieren nur wenn Sie beim erstellen Ihres Video Schlüsselbilder mit angegeben haben.

Hier nocheinmal alle im Überblick:

...
loop TRUE
speed 1
startTime 0
stopTime 0
url "video/video3b.avi"
...

Der komplette Quelltext: "Beispiel3b.wrl"

#VRML V2.0 utf8
#Movieclips einbinden
#Copyright by Joachim Kuells 2000
Transform {
children [
Shape {
appearance Appearance {
texture MovieTexture {
loop TRUE
speed 1
startTime 0
stopTime 0
url "video/video3b.avi"
repeatS TRUE
repeatT TRUE
}
}
geometry Box { size 16 10 10 }
}
]
}

Und so sieht der Quelltext "Beispiel3b.wrl" als VRML Datei aus: beispiel3b.wrl

P.S.: Bisher stand das Objekt (Grundkörper) mit seinen Eigenschaften im Vordergrund. Sie haben mit VRML 2.0 aber auch die Möglichkeit komplexe Szenen mit einer virtuellen Umgebung zu generieren:
VRML 2.0 Workshop Teil IV Die Umgebungseigenschaften As soon as possible Your Realjoc