Zurück: Texturen and Materialien
5.1
Texturen
Texturen bestimmen das
Aussehen und die Eigenschaften von Oberflächen, wie Farbe,
Reflektion, Transparenz, und Rauhigkeit ect. Es gibt 4 Arten von
Texturen in Art of Illusion: Uniform, image-mapped, prozedural 2-D
und prozedural 3-D. Diese sind hier unten im Detail beschrieben.
Wählen Sie Szene->Texturen um eine neue Textur zu
erstellen oder eine vorhandene zu editieren. Dabei öffnet sich
diese Dialogbox:
Die meisten Optionen sind hier
selbsterklärend. Falls bereits Texturen erstellt und in der
Liste sind, kann man sie mit Löschen (Delete) aus der
Liste entfernen, mit Bearbeiten (Edit) kann man die Textur
in ihren Parametern verändern und Kopieren (Copy)
erwartet die Eingabe eines Namens für die kopierte Textur -
die bis zur Bearbeitung identisch mit der Ursprungstextur
ist. |
Neu (New) auswählen
öffnet den rechten Dialog: |
Einmal
erstellt können Texturen jedem 3D Objekt zugewiesen werden und
können in jeder gewünschten Art gemappt werden indem ihre
Skalierung, Orientierung und/oder ihre Position relativ zum Objekt
angepaßt werden. Texturen können auch in Layern
übereinander gelegt werden, um komplexe real wirkende
Oberflächen nachzuahmen.
5.1.1
Uniforme (homogene/einheitliche) Texturen
Uniforme
Texturen sind die einfachste Art von Texturen in Art of Illusion.
Diese verleihen den Objekten diverse Oberflächeneigenschaften
gleichmäßig (uniform) auf das ganze Objekt verteilt. Um
nun eine uniforme Textur kreieren einfach nur auf Szene ->
Texturen und dann im Texturendialog auf Neu und Uniform
klicken. Das bringt diesen Dialog hervor:
|
||||
Eine gerenderte Kugel oben im
Dialog zeigt die aktuelle gewählte Textur an. Auf die
Vorschau doppelklicken zeigt folgenden Dialog an: |
||||
Hier unten sind die
verschiedenen Eigenschaften die verändert werden können.
Es gibt 4 Farben die bestimmt werden können. Einfach auf das
Farbfeld klicken - das öffnet das Farbfeld zur
Rechten. |
||||
Diffuse
Farbe (Diffuse Colour)
Das ist die Basisfarbe des Objektes.
Bei Abwesenheit anderer Eigenschaften sieht das Objekt so
aus.
Reflektierende Farbe (Specular Colour)
Die
reflektierende Farbe ist die Farbe die vom Objekt reflektiert wird.
Dies funktioniert nur wenn der Wert größer als 0
eingestellt wird. (S. unten).
Transparente Farbe
(Transparent Colour)
Wenn die Transparenz größer
als Null gesetzt ist, ist es diese Farbe, die durch das Objekt
hindurchgeleitet wird. (S. unten).
Emissive Farbe (Emissive
Colour)
Diese Eigenschaft wird benutzt um leuchtende Objekte
zu simulieren. Die gewählte Farbe wird vom Objekt ausgesender
(emittiert). Einige Beispiele sind unten zu sehen. In diesen
Beispielen wird die Farbschattierung und Sättigung benutzt, die
auch für die diffuse Farbe benutzt wird - und das mit
variierenden Werten. Die V-Werte der HSV Farben sind direkt
proportional zur emittierten Lichtmenge. Deshalb ist das Zuweisen der
Helligkeit über das HSV Farbmodel sicherlich am
geeignetsten.
Unter
den Farbeigenschaften sind 5 numerische Werte verschiedener
Eigenschaften einstellbar per Schieberegler oder mit einem Eintrag in
das Werte Feld.
Transparenz (Transparency) ist der Grad
zu dem das Licht durch das Objekt hindurchgeht. Ein Wert von 1
bedeutet das das Objekt komplett durchsichtig ist, - während ein
Wert von 0 bedeutet das das Objekt komplett Opaque (undurchsichtig)
ist. Die Bilder unten zeigen Objekte mit einer Transparenz von 0.5.
Die Auswirkung der Variation der Transparenten Farbe ist hier
gezeigt. Normalerweise wird ein durchsichtiges Objekt das Licht in
einer ähnlichen Farbe wie seine diffuse Farbe hindurch lassen.
Aber in der Computergrafik sind wir darauf nicht zwingend angewiesen
- und können die Realität verbiegen.
Spekularität ist
die Reflektivität des Objekts. Ein Wert von 1 bedeutet das
das Objekt ein perfekter Spiegel ist, und seine diffuse Farbe ist
dann nicht zu sehen. Ein Wert von 0 ist komplett nicht
spiegelnd. |
Zusätzlich
zur Spekularität ist der Parameter Glanz (Shininess) der
die Intensität von Glanzlichtern kontrolliert. Obwohl glänzende
Oberflächen eigentlich nur durch Spiegelungen hervorgerufen
werden, ist der Glanz-Parameter sinnvoll wenn man z.B. plastikartige
Oberflächen darstellen will ohne eine Spiegelung einzusetzen. In
den meisten Fällen wollen Sie beides einsetzen Specularität
und Glanz. Weiter hier unten sind Beispiele mit verschiedenen
Glanz Werten - mal mit, mal ohne Spiegelung.
Rauhheit
(Roughness) Dieser Parameter kann genutzt werden um den Effekt
von Rauhigkeit auf Oberflächen nachzuahmen, der die Schärfer
und Spiegelung einer Oberfläche herabsetzt. Hohe Werte ergeben
stärker "geblurrte" Spiegelungen und weitgezogenen
Highlights wie unten gezeigt. Beachten Sie bitte das dafür der
Glanz/Lichtdurchlässigkeit "enabled" sein muß in
den Rendersettings des Raytracers (siehe Rendering)
um den Effekt zu sehen.
Wolkigkeit
(Cloudiness) kontrolliert den Grad der Tansluzenz für
tranzparente Objekte. Höhere Werte verursachen stärkeres
Blurring des transmittierten Lichtes wie unten gezeigt. Wie auch beim
Rauheit Parameter muss dafür der Glanz/Lichtdurchlässigkeit
während des Renderns "enabled" sein.
5.1.2
Bild basierte/gemappte Texturen
Diese
Art der Textur ermöglicht die Oberflächeneingenschaften
anhand eines 2-D Bildes anzugeben. Diese Bilder werden normalerweise
in 2-D Malprogrammen erstellt. Um eine neue bildbasierte Textur zu
erstellen klicken Sie einfach auf Szene->Texturen, dann
auch Neu klicken und Image Mapped aus der
Dropdown-Liste wählen. Folgender Dialog erscheint daraufhin:
Dieselben
Oberflächeneingenschaften wie in den Uniforme Texturen
Dialog sind hier auch vorhanden. Diesmal sind aber Farbe und
Werte bestimmt durch die Auswahl von 2-D Bildern. Das bedeutet die
Werte der Parameter variieren über die Objekt Oberfläche
entsprechnde dem(n) verwendeten Bild(ern) - anstatt gleichförmig
zu sein. |
Die
Bilder unten rechts zeigen die Auswirkung vom Zuweisen der Bilder zu
den verschiedenen Farbeigenschaften. Das Bild selbst ist links davon
gezeigt:
Auf
der rechten Seite des Image-mapping Dialoges sind numerische
Eigenschaften einzustellen. Die Eigenschaften Transparenz,
Specularität, Glanz und Wolkigkeit die auch
im Uniform Texturen Dialog verfügbar sind da zunächst, aber
zusätzlich sind weitere Eigenschaften vorhanden; Bump Höhe
and Verdrängung (Displacement). Diese kontrollieren die
"Hügeligkeit" einer Oberfläche. Bump Mapping
variiert die Oberflächennormale so, das man glaubt die
Oberfläche wäre hügelig oder rauh, während
Verdrängung (Displacement Mapping) tatsächlich die
Geometrie verändert.
Bei Bildbasierten Texturen ist die
Stärke der Tranzparenz, Spiegelung usw. von der gewählten
Imagemap bestimmt, die ausgesucht wird indem man auf die
quadratischen Boxen neben der Schiebereglern klickt. Wenn kein Bild
ausgesucht wurde/wird kann eine gleichmäßige Farbe mit
Hilfe der Slider ausgewählt werden. Wenn jedoch ein Bild
ausgewählt wird. dann variieren die Eingenschaften über die
Oberflächen entsprechend dem Bild. Sie können auswählen,
ob mehr die Roten, Grünen oder Blauen Werte
benutzt werden um diese jeweiligen Eigenschaften zu bestimmen (in der
Stärke). Dieses Auswählen der bestimmenden Farb- Komponente
geschieht mit dem Dropdown Feld zur Rechten des Dialogs. Für
Bilder die einen Alpha-Kanal oder Transparenz unterstützen (Gif
und PNG) wird - sofern so ein Kanal im Bild vorhanden ist eine
Komponente namens Mask verfügbar. Das kann hervorragend
genutzt werden um Effekte auf der Oberfläche zu begrenzen. Zudem
kann der Grad der Transparenz genutzt werden um die Stärke des
Effektes zu beeinflussen - natürlich nur im Rahmen des Wertes
der mit dem Slider eingestellt wurde. Der am häufigsten
auftretende Verwendungsgrund für Masken ist die Textur an
bestimmten Stellen durchsichtig zu machen - also im Transparenz Kanal
(s. unterstehendes Beispiel). Aber die Benutzung einer Maske kann
eben auch in jedem anderen Kanal/Eingenschaft sinnvoll sein.
Die
Schieberegleer (Sliders) ändern die Stärke des jeweiligen
Effektes. Auf diese Weise kann man nur Teile der Oberfläche
transparent oder glänzend aussehen lassen. Einige Beispiele sind
hier unten zu sehen:
Der
Imagemap Dialog ermöglicht auch eine Kachelung (tiling) des
Bildes (default: Angestellt) - es wird also endlos aneinandergereiht
- so das die gesamte Oberfläche des Objekts immer bedeckt ist-
auch wenn das Bild kleiner skaliert ist, als das Objekt. Auch kann
das Bild in beide Richtungen gespiegelt werden.
(Pixel)Bilder
die für Texturen benutzt werden können über Szene
-> Bilder direkt gehandhabt werden. In diesem Dialog können
Bilder geladen, gesichert und/oder gelöscht werden. Diese Bilder
werden in der AoI Datei ohne weitere Komprimierung (als die der AoI
Datei selbst = verlustfrei) gespeichert.
5.1.3
Prozedurale Texturen
Procedurale
Texturen sind solche, in denen die oben beschriebenen Eigenschaften
mit Hilfe mathematischer Algorithmen beschreiben werden. Es gibt 2
Arten von prozeduralen Texturen in Art of Illusion: Prozedurale 2D
und prozedurale 3D Texturen. Die 2D Texturen kann man sich als
"bemaltes Blatt Papier" vorstellen die um das Objekt
herumgewickelt werden - so wie in der Sektion Mapping (siehe 5.1.4)
beschrieben. Prozedurale 3D Texturen andererseits, sind sozusagen
"Körperliche - solide" Texturen und Objekte denen sie
zugewiesen werden sehen aus als wären sie aus einem Block dieses
Materials herausgeschnitten worden.
Das graphische Interface
(Gui) sieht jedoch für beide Typen fast identisch aus - somit
werden beide in diesem einen Abschnitt beschrieben.
Um eine
neue prozedurale Textur zu erstellen gehen Sie auf Szene ->
Texturen klicken auf Neu und wählen Prozedural 2D
oder 3D als Textur Type. Es wird folgender Dialog erscheinen:
Es wird dazu ein
Vorschaufenster angezeigt das die aktuelle Textur im Editor
darstellt - auf einer Kugel. Das Vorschau Fenster wird automatisch
upgedatet wenn die Textur verändert wird. Die Größe
des Vorschaufensters kann geändert werden, indem am an einer
Ecke zieht. Ebenfalls kann in das Vorschaufenster gezoomt (STRG
ziehen mit RMB) werden und ein Drehen (MMB) wie Verschieben
(schieben mit RMB) des Vorschauobjektes ist ebenfalls möglich.
Wie im Uniformen Texture Dialog kann
mit Doppelklick auf das Vorschaufenster ein Dialog aufgerufen
werden, der es ermöglicht die Art des Vorschau Objektes
einzustellen. |
Wir nehmen ein einfaches
Beispiel: Eine gleichmäßige diffuse Farbe. Klicken Sie auf
Einfügen -> Werte -> Farbe (Insert -> Values
-> Color). Dabei wird ein kleines Quadrat auf der Fläche
platziert, das so
aussieht.
Um diese Farbe auf das Objekt anzuwenden klicken Sie auf das
pinkfarbene Dreieck und verbinden es mit dem Dreieck der Diffus Box
(klicken drag and drop). Eine Verbindungslinie ist dabei entstanden,
die jetzt diese Boxen verbindet
Das Vorschau Fenster bleibt unverändert, da die Farbe nicht
verändert wurde - es ist die gleiche Farbe wie der Standardwert.
Doppleklicken auf die Farb Box öffnet den
Farbauswahldialog.Wählen Sie die farbe Ihrer Wahl und klicken
auf OK. Das Vorschaufenster wird nun die gewählte Farbe auf das
Objekt projizieren.
Jede Werte-, Funktions- usw. Box die vom
Einfügen Menü eingefügt werden hat mindestens einen
"Ausgabe" Verbinder (Dreieck das nach außen zeigt),
dort liegt entweder ein Wert oder eine Farbe "an". Pinke
Pfeile indizieren eine Farbe, während schwarze Pfeile einen Wert
beeinhalten. Um genauer zu sein - die Ausgaben repräsentierenn
Wertebereiche, die die Farbe oder Wert an jedem Punkt der Oberfläche
beeinhalten. Die meisten haben auch einen Pfeil am Eingang der Box -
nehmen also auch Eingangswerte entgegen.
Also probieren wir
jetzt etwas komplizierteres - ein Farbverlauf über die
Oberfläche. Klicken Sie das farbige Quadrat an und drücken
sie Entf (del) um es zu löschen. Diesmal wählen Sie
Einfügen -> Farbfunktionen -> Individuell ( Insert ->
Color Functions -> Custom). Das erstellt eine Farbverlaufsbox
.
Verbinden Sie den Ausgang dieser Box mit der Diffus Box. Die Vorschau
zeigt nun eine schwarze Kugel. Das kommt daher weil die ausgewählte
Farbe von dem schwarzen Eingangspfeil der Box abhängt. Wenn Sie
diesen mit der Maus anklicken und halten zeigt er den aktuellen
Wert an - der ist "0" (Null) - und das wiederum
repräsentiert schwarz in dem Farbverlauf. Um einen Verlauf zu
bekommen müssen wir die Farbwerte der Box bezogen auf Ihre
räumliche Position bekommen. Wenn also der Farbverlauf in
X-Richtung verlaufen soll, so geben wir X am Eingang der Box an.
Klicken Sie auf Einfügen -> Werte -> X (
Insert -> Values and
select X). Das erstellt eine Box mit der Bezeichnung X.
Die Ausgabe dieser Box ist der X Wert jedes einzelnen Punktes der
Oberfläche. Verbinden Sie jetzt diese Box mit der
Farbverlaufsbox und das Vorschaufenster wird nun einen Farbverlauf
auf der Kugel anzeigen:
Wenn wir ein Y mit der
Box verbunden hätte, hätten wir einen Verlauf in
Y-Richtung bekommen. Was aber wenn wir den Verlauf diagonal
haben möchten? In diesem Fall müssen wir ein
(X+Y) in die Box
"füttern". Wählen Sie beides aus - also eine X
und eine Y Box aus dem Einfügen -> Werte Menü.
Um die Addition herbeizuführen, wählen Sie Einfügen
-> Funktionen -> Hinzufügen (Insert ->
Functions -> Add) . Dann verbinden Sie erst die X
und Y Boxen mit der Hinzufügen Box und dann den
Ausgang der Hinzufügen Funktion mit der Farbverlaufsbox (es
funktioniert auch umgekehrt - keine Angst!)- so wie hier rechts
gezeigt: |
Lassen
Sie uns nun genauer die Werte anschauen - als auch Funktionen und die
verfügbaren Transformationen.
Werte
(Values)
So sieht das Einfügen
-> Werte Menü aus.
Die meisten Einträge sind
selbsterklärend: |
Blickwinkel (View Angle)
Diese Modul kann benutzt werden um Oberflächeneigenschaften
abhängig vom Blickwinkel zwischen Kamera und Oberfläche
erscheinen zu lassen. Es ist sinnvoll um Fresnel Effekte zu
simulieren, bei denen die Speckularität frontal geringer ist und
anwächst bei größeren Winkeln. Das Blickwinkel
Modul gibt als Ergebnis den Cosinus des Einfallwinkels
aus. Das Beispiel unten zeigt wie das für einen Fresnel Effekt
genutzt werden kann. In dem Beispiel wurde die prozedurale Textur aus
dem linken unteren Bild genutzt., um die Vase "plasik-artiger"
erscheinen zu lassen - die metallene Vase daneben hat eine
höhere Spiegelung die allerdings gleichmäßig ohne
Blickwinkelabhängigkeit appliziert wurde (zum
Vergleich).
Das
Modul hat auch anderen Nutzen, einer davon ist die Möglichkeit
einfache "Toon" Materialien herzustellen, wie hier unten
gezeigt:
Parameter
- erlaubt es Texturen nach Wunsch des Benutzers nur dort zu nutzen wo
bestimmte Parametereinstellungen zutreffen. Man kann damit Teile
einer Textur auch nur Teilen von Objekten zuordnen - eben abhängig
von Parametern. Siehe Textur
Parameter für Einzelheiten dazu. Soviel sei hier gesagt: Man
kann sich damit oftmals ein UV Mapping ersparen und viel
interessantere Eigenschaften erstellen.
Kommentar (Comment)
Dieses Modul ist eigentlich nur eine Textbox, die es ermöglicht
Kommentare und Erklärungen in einer Prozedur zu beschreiben.
Damit kann man auch nach langer Zeit noch erkennen was man eigentlich
machen wollten - bzw. andere Benutzer können das so leichter
nachvollziehen. S. unterstehendes Beispiel:
Funktionen
(Functions)
Dies ist das Einfügen
-> Funktionen Menü (Insert -> Function).
Diese Einträge werden
numerischen Werten hinzugefügt um diese auf verschiedenste
Arten zu modifizieren: |
Interpolieren
(Interpolate) die Ausgabe basiert auf 3 Werten. Wert 1 und Wert 2
(obere und untere Eingabe) bestimmen das Maximum und Minimum und der
Fraction Input bestimmt den Wert zwischen Min und MAX.Beispiel:
Wenn die Fraction Eingabe 0,5 ist, liegt der Wert in der Mitte
zwischen MIN und MAX - ist er 0,25 ist die Ausgave ein Viertel des
Weges zwischen den beiden Werten.
Mod hat 2 Eingänge
- den Dateneingang und den Modul Wert. Es wird der Rest einer
Division ausgegeben. Angenommen der Wert sei 5 und der Modul 4, dann
wird 5 durch 4 geteilt was den Rest 1 ergibt.
Sinus,
Cosinus, Quadratwurzel, Exponential, Log (Sine, Cosine, Square Root,
Exponential, Log) das sind eigentlich selbsterklärende
mathematische Funktionen mit einem einzigen Eingang und Ausgang. Die
Eingaben für Sinus und Cosinus sind in Radians. Das Logarithmyus
Modul ist natürlich also zur Basis e.
Quadrat (Power)
Die Ausgabe ist die linke Eingabe potenziert um den oben eingegebenen
Wert.
Bias This module calculates Ken Perlin's Bias
function. Given an input value between 0 and 1, it calculates an
output value which is also between 0 and 1 according to: y(x) =
x^(log(B)/log(0.5)) where the input value x and bias B correspond to
the two input ports. If B=0.5, then y(x)=x. Values of B less than 0.5
push the output toward smaller values, while values of B greater than
0.5 push the output toward larger values.
Zunehmen (Gain)
Dieses Modul kalkuliert Ken Perlin's Gain Funktion. Angenommen
sei eine Eingabe zwischen 0 und 1, dann kalkuliert das Modul
einen Ausgabewert, der seinerseits auch zwischen 0 und 1 liegt nach
diesem Beispiel: y(x) = Bias(2*x, 1-G)/2 if x<0.5 1-Bias(2-2*x,
1-G)/2 if x>0.5 wobei der Eingabewert x und das Gainmodul G den
beiden Eingängen zuzuordnen sind und Bias die oben beschriebene
Bias(x, B) Funktion ist. Wenn G=0.5, dann ist y(x)=x. G Werte kleiner
als 0,5 glätten die Eingabe, indem sie die Ausgabe in Richtung
0,5 drücken, während größere Werte die Ausgabe
in Richtung 0 oder 1 beeinflussen und damit die Eingabe
"schärfen".
Zufall (Random) Dies ist ein
Eindimensionales Zufalls Rauschmuster. Es hat 2 Eingänge, wobei
einer die Dimension (Größe) darstellt, und die andere die
Menge an Rauschen ist welche
das Muster angewandt wird. Die Eingabedimension ist standardmäßig
Zeit (time), da diese Funktion meist genutzt wird um eine
Positionsänderung in einer Animation zu erzeugen. Diese Funktion
kann aber auch genutzt werden, um Zufallsmuster im Raum zu erzeugen,
oder um Variationen in Texturmustern zu generieren. Wie auch bei
diversen hier weiter beschriebenen Mustern /( Patterns) bringt
ein Doppelklick auf die Box einen Dialog hervor, in dem dei Amplitude
und die Anzahl der Oktaven bestimmt werden kann. Sehen Sie in der
Beschreibung des Rauschen / Noise
Musters nach für weitere Details dazu.
Farbfunktionen
Color Functions
Dieser Abschnitt
beschreibt das Einfügen -> Farbfunktionen Menü
(Insert -> Color Function).
Diese Funktionen werden genutzt um Farbwerte auf unterschiedlichste Art zu ändern: |
||||
Individuell (Custom) Wie wir weiter oben bereits gesehen haben kann man diese Funktion benutzen um Farben nach Werten auszuwählen (0-256). Die Standardwerte sind Schwarz zu weiß. Doppelklicken eröffnet den Dialog zur Rechten. Um eine Farbe zu ändern einfach auf das kleine Dreieck unter dem Farbbalken klicken - das Dreieck wird rot. Danach auf das Farbquadrat klicken - es öffnet sich der Farbauswahldialog. Weitere Farben können dem Farbbalken hinzugefügt werden über Hinzufügen (Add). Dadurch wird ein weiteres Dreieck hinzugefügt, so das der Farbverlauf aus beliebig vielen Zwischenfarben bestehen kann. Die Positionen der kleinen Dreiecke können über ziehen mit der Maus bestimmt werden oder über die Eingabe einer Zahl zwischen 0 und 1 in die Value Box. Der Farbverlauf kann periodisch gemacht werden indem man das entsprechende Häkchen setzt. Das bedeutet das sich der Farbverlauf ständig wiederholt. Wenn es nicht ausgewählt wird, werden die Teile der Oberfläche außerhalb des Farbverlaufs eine gleichmäßige Farbe vom Ende des Farbverlaufs annehmen. |
||||
Mischen (Blend) ist eine weitere Möglichkeit eine Farbe aus einem Bereich auszuwählen. Es nimmt 2 Eingaben entgegen und mischt sie entsprechend ihrer numerischen Werte. Der wichtigste Unterschied zwischen dieser Funktion und der Individuell - Möglichkeit ist, das hier die Eingaben Farbwerte sind und eben auch von anderen Funktionen erzeugt werden können. Hier rechts ist ein einfaches Beispiel, wo eine Farbe eine feste rote Farbe ist und und die andere ist eine Farbe einer Individuellen Farbverlaufsmap. Die Funktion die die Farbe aus dem Farbverlauf bestimmt ist einfach Y - das würde einen Verlauf in Y Richtung erzeugen. Das wird mit der roten Farbe gemixt bezogen auf die X Position, - da das die Funktion ist die in die Mixen (Blend) Funktion gestöpselt wurde. Offenbar können deutlich komplexere Funktionen definiert werden. |
Hinzufügen,
Wegnehmen und Multiplizieren (Add, Subtract, Multiply) sind
weitgehend selbsterklärende mathematische (Farb)Funktionen die 2
Eingaben annehmen und die Rechnung anhand der RGB Werte der Farben
vornehmen.
Heller, Dunkler (Lighter, Darker) Beide
Funktionen nehmen 2 Farben entgegen und geben die aus die heller oder
dunkler ist. Bestimmt wird das heller oder dunkler über die
luminance Komponente des CIE XYZ Farbsystems.
Gewichten
(Scale) erlaubt die Eingabefarbe mit einem numerischen Input zu
skalieren. Jede Komponente der Farbe wird mit dem numerischen Wert
multipliziert. Ein doch irgendwie verstecktes Feature ist, das dieses
Modul genutzt werden kann um Eigenschaften wie Specularität,
Glanz, Transparenz ect. über ihren normalen max. Wert (1)
hinaus. Die resultierende Eigenschaft ist die Eingabefarbe
multipliziert um den Eingabewert. Ein Beispiel ist unten gezeigt: Im
linken Bild ist die Specular Color weiß (also Hue-0,
Saturation-0 und Wert von of 1) und der Glanz (Shininess) ist auf 1
gesetzt. Der Glanz ist damit das Produkt von 1x1 =1. Das Bild zur
rechten zeigt fast das Gleiche, aber diemal ist die spiegelnde Farbe
(specular color) skaliert um den Faktor 20 - das Produkt vpn
Glanz und specular color ist damit 20 x 1= 20 und das Ergebnis ist
ein (künstlich) strahlenderes Highlight auf der Vorschaukugel -
sowetwas kann z.B. für Zwecke der Cartoon Erstellung sinnvoll
sein.
Ein
anderer Nutzen entsteht im Zusammenhang mit emissiven Texturen ;
Die Gewichten Funktion kann hier ähnlich benutzt werden wie
oben, hier um ein emissives Licht zu verstärken, das mit Global
Illumination berechnet werden kann. Das untere Bild zeigt den Effekt
eines Skalieren Moduls auf einer emissive Farbe einer Kugel mit den
Skalierungswerten 1,2,5 und 10. Das Bild wurde mit Photon
Mapping für Global Illumination gerechnet.
RGB Dieses Modul ermöglicht es Rot, Grün und Blau Komponenten von numerischen Eingabewerten bestimmen zu lassen - was eigentlich eine sehr einfache Sache ist. Die Kraft liegt darin das die Eingaben ihrerseits von anderen Funktionen stammen können. Im rechten Beispiel ist die rote Komponente bestimmt durch ein Rauschen ( Noise ) Modul, die grüne Komponente wird durch ein Wood (Holz) Modul erzeugt und die blaue Komponente basiert auf einer View Angle (Blickwinkelabhängigkeit) zur Power 3 (hoch 3). |
HSV Wie die RGB Funktion hat auch dieses Modul 3 Komponenten mit numerischem Input; ein Eingang für jede Farbkomponente. Nur werden hier die Hue, Saturation und Value Komponenten mit numerischen Eingaben bestimmt. Im rechten Beispiel sieht man Hue bestimmt von der X Position auf der Oberfläche. |
HLS Wie oben, jedoch diesmal werden Hue, Lightness und Saturation bestimmt. Im rechten Beispiel wird die Lightness sinusförmig variiert und die Saturation wird durch ein skaliertes Cells pattern bestimmt. |
Transformationen
Dieses
Modul aus dem Menü erzeugt transformationen auf dem
Koordiantensystem.
Das Einfügen-Transformationen
(Insert -> Transforms) Menü sieht wie folgt
aus:
Linear
Dieses Modul ermöglicht
Skalierung, Rotation und Translation von x,y und z. Ein
Doppelklick auf die Box bringt einen Dialog hervor, der es
ermöglicht die relevanten transformations Parameter
einzugeben. |
Polar
Das Polar Modul transformiert
das lineare Koordinatensystem von x und y zum polaren
Koordinatensystem das durch die radiale Distanz (r) und theta
(Winkel) beschrieben wird. Ein Beispiel ist links zu sehen. |
Kugelförmig
(Spherical)
Diese Funktion transferiert
das lineare Koordinatensystem zum kugelförmigen
Koordinatensystem. |
Zittern(Jitter)
Dieses Modul behält das
lineare Koordinatensystem bei, erzeugt aber ein zufälliges
Zittern der Textur. Doppelklicken der Box ermöglicht die
Modifikation der Amplitude und des Bereiches des Effektes. |
Muster
(Patterns)
Es gibt viele vorgegebene Textur Muster in Art of Illusion, erreichbar über das Einfügen -> Muster ( Insert -> Patterns) Menü wie hier links gezeigt. Jedes Muster hat 3 Eingänge für die x,y und z Koordinaten. |
Weiter unten schauen wir uns jede
Art von Muster und einige mögliche Variationen an. In jedem
dieser Fälle wurde die Ausgabe der Musterbox in eine
Individuelle Farbverlaufsbox gesteckt und deren Ausgang wiederum in
den diffusen Kanal.
Rauschen (Noise)
Dieses
Modul erzeugt ein fraktales Rauschmuster indem es mehrere Oktaven von
Ken Perlins gradient noise function addiert. Jede Oktave hat die
doppelte Frequenz der vorhergehenden Oktave. Sie können die
Anzahl der Oktaven bestimmen und die Amplitudenhöhe der ersten
Oktave, indem sie die Box doppelklicken und die gewünschten
Werte eintragen. Die Amplitude jeder höheren Oktave ist
errechnet aus der Multiplikation der Amplitude der vorangehenden
Oktave mit dem Wert des Rauschen (Noise) Eingangs der typischerweise
zwischen 0 und 1, obgleich das nicht zwingend so sein muss. Weil das
mehr ein Eingang denn ein Parameter ist muss es nicht konstant sein.
Das ist insbesondere dann nützlich, wenn ein Rauschen erstellt
werden soll das über die Oberfläche eines Objektes
variiert.
Die Rauschen Funktion ist so skaliert das die
Ausgabe typischerweise zwischen 0 und 1 liegt. Abhängig von den
Parameterwerten und der Eingabe können die Werte aber auch
außerhalb dieses Bereiches liegen.
Hier unten einige
Beispiele:
Turbolenz
(Turbulence)
Dieses Modul gleicht dem Rauschen Modul mit
der Ausnahme das es den absoluten Wert jeder Oktave her nimmt bevor
es die Werte addiert. Das erzeugt "Rillen" oder
Vertiefungen (creases) im Ausgang während die weiteren
Abkömmlinge sich diskontinuierlich ändern. Das Ergebnis
erinnert irgendwie an turbulent fließende Flüssigkeiten.
Das Turbolenz Modul ist so skaliert, das die Ausgabe typischerweise
zwischen 0 und 1 liegen. Abhängig von den Parameterwerten und
der Eingabe können die Werte aber auch außerhalb dieses
Bereiches liegen.
Hier
unten ein paar Beispiele:
Netz/Gitter
(Grid)
Diese Modul ist eine große Hilfe wenn man
gleichförmige Gitternetze erzeugen will. Es wird ein
gleichförmiges 3 dimensionales Gitter von "feature
points" erstellt. Der Wert an jedem Punkt ist gleich der
Entfernung zum nächsten "Feature point". Ein
Doppelklick auf das Modul eröffnet die Möglichkeit den Raum
zwischen den "Feature points" zu verändern.
Hier unten ein paar
Beispiele:
Zellen
(Cells)
Dieses Texturmuster ist der Grid Funktion ähnlich,
aber anstelle die Feature Punkte gleichmäßig zu verteilen,
verteilt es sie zufällig. Das Zellenmodul hat 3 Ausgänge.
Der Zellen Ausgang gibt einen Wert zwischen 0 und 1 aus,
dieser Wert identifiziert den nächsten Feature point. Dieser
Wert ist derselbe für jede Zelle die von diesem Feature point
definiert wird. Das ist sinnvoll um ungleichmäßige
Zellenmuster zu erzeugen bei denen jede Zelle eine andere Frabe hat.
Die distance 1 und distance 2 Ausgänge geben die
Abstände zum nächsten und zum übernächsten
Feature point an. Entfernung (Distance) 1 ist beim Zellenmuster
gleich dem Gridmuster.
Zusätzlich können die
Entfernungen zwischen jedem Punkt und den Feature points auf 3
mathematische Weisen berechnet werden, was in verschiedenen Mustern
resultiert: Euclidean, City Block und Chessboard. Die Art und
Weise kann nach Doppelklick auf die Box bestimmt werden.
Die
Ergebnisse mit jeder der 3 Möglichkeiten und 3 verschiedenen
Distanz Einstellungen sind hier dargestellt:
Der Ausdruck (expression)
distance2-distance1 ist eine sehr nützliche
Funktion: |
Marmor (Marble)
Dies
ist ein mathematisches Muster das Marmor simuliert. Zusätzlich
zu den x, y und z Eingängen gibt es ein Rauschen (noise)
Eingang. Doppelklicken der Modul Box ermöglicht die Abstände
der Marmorierung zu ändern, als auch die Amplitude und Anzahl
der Oktaven. Hier unten einige Beispiele:
Holz
(Wood)
Nicht überraschen - dieses Muster simuliert
holzartige Strukturen. Seine Ausgabe für einen gegebenen Punkt
ist proportional zur Entfernung von der Y -Achse plus einer turbulenz
Funktion. Doppleklicken des Moduls ermöglicht verschiedene
Parameter zu ändern: noise amplitude, ring spacing und number
der noise octaves. Hier
unten einige Beispiele:
Wenn
Sie die Option "Only Output Fraction" benutzen, so wird die
Ausgabe zur Mod 1 berechnet, so entsteht eine Reihe konzentrischer
Ringe, bei denen die Ausgabe wächst von 0 zu 1 über die
Weite jeden Ringes. Der häufigste Gebrauch dieses Moduls ist es,
es an eine Individuelle Farbfunktion zu stecken, was dann eine schöne
Reihe von Farbbändern in Holzmuster erzeugt. Wenn es so benutzt
wird ist es eine gute Idee nicht die Option "Only Output
Fraction" zu benutzen, sondern die Funktion periodisch zu
machen. Andernfalls kann die Antialiasing Funktion des Moduls zu
sichtbaren Artefakten führen.
Schachbrett
(Checker)
Diese Modul erzeugt ein Schachbrettmuster - das
man sehr häufig in Computergrafiken "bewundern" kann.
Es gibt keine Optionen bei dieser Box - aber die Skalierung kann über
eine Transform Box in x,y und z Richtung bestimmt werden:
Ziegel
(Bricks)
Dieses Modul erzeugt ein Mauersteinmuster das für
den Stein eine 1 ausgibt und für den Mörtel eine 0.
Doppelklicken ermöglicht eine Eingabe von Steinhöhe,
Fugenhöhe und Fugenversatz-wie in den unteren
Beispielen:
Bild
(Image)
Dieses Modul erlaubt die Benutzung eines
Pixelbildes in der prozeduralen Textur. Wie auch bei den
Bildbasierten Texturen muss das Bild im Format .gif, .png, .jpg oder
.hdr vorliegen. Das Modul hat 5 Ausgänge: Eine Farbmap des
Bildes und 4 numerische Ausgänge die den rot, grün, blauen
und Masken Komponenten entsprechen. Wie man z.B. den Maskenausgang
mit nutzen kann, ist hier nachzulesen.
Ein Doppelklick bringt
folgenden Dialog hervor: |
Hier unten ist ein Beispiel
des Bildmoduls. Die Ausgänge des Moduls beinhaltet die Farbe und
4 numerische Ausgänge in folgender Reihenfolge: Red, Green, Blue
und Mask. Hier wurden den blauen Sternen ein Glühen verliehen
indem der blaue Ausgang mit einem Skalierungsmodul verbunden wurde,
das eine blaue Farbe skaliert und in den Emissive Kanal eingeleitet
wird. Der rote Ausgang (welcher am stärksten im orangen Stern
zutage tritt) - wird benutzt um die Spiegelung zu bestimmen - und der
Farbausgang geht geradewegs in die Diffus Box.
Bearbeiten (Edit)
Menü
Das andere verfügbare Menü im prozeduralen
Textureditor ist das Bearbeiten Menü:
Rückgängig
/Undo (Undo/Redo) Dieser Eintrag ermöglicht die letzte
Aktion rückgängig zu machen oder
wiederherzustellen.
Ausschneiden (Cut) kopiert alle
ausgewählten Module und kopiert diese in die Zwischenablage und
löscht die ausgewählten im Editor.
Kopieren
(Copy) kopiert alle ausgewählten Module und kopiert
diese in die Zwischenablage ohne löschen der Module im
Editor.
Einfügen (Paste) kopiert die Module aus
der Zwischenablage in den Editor.
Löschen (Clear)
löscht alle ausgewählten Module.
Eigenschaften
(Properties) Dieser Eintrag ermöglicht die Beeinflussung der
Antialiasing Einstellungen der Textur. Normalerweise ist der Wert mit
1 vollkommen in Ordnung - größere Werte verstärken
den Antialiasing Effekt - glätten aber die Textur auch mehr.
Beispiele für prozedurale Texturen
Das
Werkzeug prozedurale Texturen ist eine sehr mächtige und
flexible Art Texturen zu erzeugen. Die oben dargestellten
Abschnitte zeigen zwar alle verfügbaren Module, können die
Möglichkeiten aber nicht im Detail darstellen. Um diese
Möglichkeiten vollends zu entdecken muss man ein wenig Geduld
mitbringen um die Möglichkeiten selber zu entdecken. Die oben
gezeigten Beispiele haben oftmals nur eine Verbindung in den diffus
Kanal gehabt. Um etwas Anregung zu geben was an Möglichkeiten in
den Modulen steckt sind hier noch einige Beispiele aufgeführt:
Auch
diese Beispiele nutzen nur eine sehr begrenzte Anzahl an Modulen -
aber in etwas anspruchsvollerer Weise. Klicken Sie auf die Bilder um
mehr über deren Entstehung zu erfahren.
Zurück: Texturen and Materialien