Willkommen zu Realjocs Vrml2.0 Workshop Teil II: |
|
Workshop: Teil II Oberflächeneigenschaften |
In diesem Workshop wollen wir uns mit
dem Aussehen und der Beschaffenheit der Objekte beschäftigen. Dazu
benötigen wir den neuen Knoten "appearance Appearance" der unter "Shape"
eingebunden wird. Als Feldknoten kommt noch "material Material" hinzu, mit
dem wir die Möglichkeit zur explizierten Zuweisung der Oberflächeneigenschaften
besitzen. Hört sich kompliziert an ist es aber gar nicht, dazu unser
neues Beispiel: |
#VRML V2.0 utf8 Transform {
|
diffuseColor |
...
|
ambientIntensity Mit dem nächsten Feldknoten "ambientIntensity" bestimmen wir die Grundhelligkeit eines Objektes unabhängig von allen Lichtquellen einer Szene, wobei 0.1 ein dunkles und der Wert 1 ein helles Objekt darstellt:
|
... material
Material {
|
Obiges Beispiel ergibt demnach ein mattes Blaues und sehr dunkles Objekt. |
shininess Mit dem Feldknoten "shininess" bestimmen wir die Rauhheit des nachfolgenden Objektes, wobei 0.1 ein rauhes und 1 ein glattes Objekt ergibt:
|
...
material Material {
|
Obiges Beispiel ergibt also ein glänzendes
Grünes, helles und glattes Objekt. |
transparency Nun kommen wir zum Feldknoten "transparency" mit dem die Transparenz eines Objekte eingestellt wird, wobei 0 ein vollständig opales und 1 ein völlig transparentes Objekt ergibt: |
...
material Material { |
Obiges Beispiel ergibt also ein
glänzendes Rotes, helles, glattes und halb transparentes Objekt.
|
emissiveColor Der Feldknoten "emissiveColor", der das Leuchten eines Objektes beschreibt, muss um sich aufs Objekt auszuwirken anstelle des "diffuseColor" gesetzt werden. |
... material Material { emissiveColor 0 1 0 ambientIntensity 1 shininess 0.9 transparecy 0.5 ...
|
Der "emissiveColor" Knoten wird anstelle
des "diffuseColor" gesetzt mit den Werten für RGB, dabei handelt es
sich um einen obtischen Effekt. Wird eine Lichtquelle an der gleichen Position
angebracht wie das zu beschreibende Objekt, (über"transform" Workshop
Teil I) beleuchtet das Objekt auch andere Objekte, ohne eine zusätzliche
Lichtquelle nicht. (siehe Workshop: Lichtquellen). |
Der komplette Quelltext: 4 Grundkörper (Workshop Teil I) und deren Oberflächeneigenschaften: Quelltext: "Beispiel2.wrl"
|
#VRML V2.0 utf8 # Wuerfel mit Zeichenstift auf Punkt 0(X) 0(Y) 0(Z) und Defaultgroesse #Dem Objekt eine grüne glänzende Eigenschaft zuweisen Transform { translation 0 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0 1 0 } } geometry Box { } } ] } #Kegel mit Zeichenstiftverschiebung auf 2(X) und Defaultgroesse #Dem Objekt eine blaue, matte, dunkle Eigenschaft zuweisen Transform { translation 2 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0 0 0.1 ambientIntensity 0.1 } } geometry Cone { } } ] } #Cylinder mit Zeichenstiftverschiebung auf 4(X) und Defaultgroesse #Dem Objekt eine rote, glänzende, helle, glatte Eigenschaft zuweisen Transform { translation 4 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 1 0 0 ambientIntensity 1 shininess 1 } } geometry Cylinder { } } ] } #Kugel mit Zeichenstiftverschiebung auf 6 (X) und Defaultgroesse #Dem Objekt eine gelbe glänzende , helle, glatte und halb transparente Eigenschaft zuweisen Transform { translation 6 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 1 1 0 ambientIntensity 1 shininess 0.9 transparency 0.5 } } geometry Sphere { } } ] }
|
Vergessen Sie nicht die Datei
im WRL Format zu speichern!
Dann sollte unser Quelltext als VRML Datei so aussehen:
beispiel2.wrl Aufgabe: P.S.: Sie können Objekte auch Texturen zuweisen, das wird Bestandteil des nächsten Workshops:
|