zurück: Texturen & Material | vor: Texturen zuweisen |
Texturen bestimmen das Aussehen von Oberflächen und damit über deren Eigenschaften, wie Farbe, Reflektion, Transparenz, Rauheit usw. . Es gibt 4 Arten von Texturen in Art of Illusion:
Gleichförmige (= uniform), bildbasierte (= imagemapped) und wandlungsfähige, (= procedurale) in 2D und 3D. Sie alle sind nachfolgend im Einzelnen beschrieben. Wählen Sie Szene → Texturen, um eine neue Textur zu erstellen, oder eine bereits erstellte zu bearbeiten. Dazu öffnet sich diese Dialogbox:![]() Die links gezeigten Ordner listen die Texturen und Materialien der aktuellen Szene ebenso auf, wie jene, die in dem Texturen-Archiv enthalten sind, das mit AoI geliefert wird. In der Mitte des Fensters gibt es eine Vorschau dazu, welche Textur oder welches Material auch immer gerade gewählt ist. Rechts finden sich die Schaltflächen zur Bearbeitung von Texturen und Materialien. Die meisten von ihnen sind selbsterklärend. Die Schaltflächen unter 'Szenenfunktionen' (im Dialog rechts oben) ermöglichen die Arbeit an den Texturen der aktuellen Szene. Man kann eine neue Textur erstellen, eine vorhandene duplizieren sowie eine gewählte löschen oder bearbeiten. |
Wählt man Neu hat man die Auswahl des Texturtyps im Klappmenü:![]() |
Wählt man Duplizieren, bittet das Programm darum, den neuen Namen für die neu entstehende Textur einzugeben: ![]() |
Wählt man Löschen wird eine Bestätigung erwartet:![]() |
Wählt man Bearbeiten öffnet sich die zum aktuellen Texturtyp passende Dialogbox. Die lernen wir dann jeweils in den entsprechenden nächsten Abschnitten kennen, worin es um die unterschiedlichen Texturtypen
geht. Die Schaltflächen unter 'Bibliotheksfunktionen' dienen zur Arbeit mit dem Archiv. Man kann eine Textur aus dem Archiv in die aktuelle Szene (mit Aus Bibliothek laden), oder von der aktuellen Szene ins Archiv (mit In Bibliothek speichern) kopieren, eine Textur aus dem Archiv löschen (mit Aus Bibliothek löschen) oder eine neue Textur-Datei darin speichern (mit Neue Datei) Man kann Texturen auch durch Verschieben zwischen den Ordnern von Archiv und aktueller Szene kopieren. Zeige externe Datei ist brauchbar, um Texturen und Materialien zwischen Dateien umzukopieren. Wählt man diese Schaltfläche, fordert sie dazu auf eine AoI-Szene zu markieren, die dann links in der Dialogbox erscheint, als ob sie Teil des eingebauten Archivs wäre. Einmal erstellt, können Texturen jedem 3D-Objekt zugewiesen und in jeder gewünschten Art auf dessen Oberfläche angewendet (gemappt) werden, indem ihre Größenänderung (Skalierung), Ausrichtung und/oder ihre Position auf das Objekt bezogen angepaßt werden. Texturen können auch in Schichten übereinander gelegt werden, um aufwändige, echt wirkende Oberflächen nachzuahmen. |
Gleichförmige (uniforme) Texturen sind in Art of Illusion der einfachste Texturentyp. Sie verleihen den Objekten diverse Oberflächeneigenschaften einheitlich über das ganze Objekt. Um nun eine gleichförmige
Textur zu erzeugen auf Szene → Texturen und dann im Texturendialog auf Neu und Uniform texture klicken. Das öffnet eine derartige Dialogbox: |
Die 4 Farbeigenschaften des obigen Dialoges sind: Diffuse Farbe Das ist die zugrundegelegte Ausgangsfarbe des Objektes. Sind keine anderen Eigenschaften bestimmt, richtet die Objektoberfläche ihr Aussehen nach dieser Farbe. Reflektierende Farbe Die reflektierende Farbe sorgt für die Glanz- bzw. Spiegelfähigkeit des Objektes. Die hierfür angegebene Farbe legt fest, in welcher Färbung das Objekt auftreffendes Licht zurückwirft. Zu beachten ist dabei, dass diese Wirkung sich nur zeigen kann, wenn der Spiegelungswert (= die Spekularität) größer als 0 eingestellt ist. (siehe unten). Transparente Farbe Wenn die Transparenz der Objekttextur größer als Null gesetzt ist, ist es diese Färbung, die sich vermittelt, wenn Licht das Objekt durchläuft (siehe unten). Ausstrahlende Farbe Diese Eigenschaft wird benutzt um leuchtende Objekttexturen nachzuahmen. Die hier gewählte Farbe wird von der Objekttextur auf die Umgebung abgestrahlt. Einige Beispiele sind unten gegeben. Darin wurden Farbausprägung (Hue) und Sättigung der diffusen Farbe mit geänderten Beträgen bei Schattierung/Wert als ausstrahlende Farbe genommen. Bemerkenswert ist, dass die Abstrahlungsmenge des Lichts in unmittelbarer Beziehung zu Schattierung/Wert des HSV Farbprofils steht, weswegen das HSV-Farbprofil wahrscheinlich das am besten geeignete für diese Oberflächeneigenschaft ist. ![]() Unterhalb der Farbeigenschaften befinden sich 5 numerische Größen (verschiedener Eigenschaften) mit Schieberegler oder direktem Feldeintrag zur Wertebestimmung. Transparenz ist der Grad in welchem das Licht durch das Objekt hindurchgeht. Ein Wert von 1 bedeutet, dass das Objekt komplett durchsichtig ist, - während ein Wert von 0 bedeutet, dass das Objekt komplett opak (= undurchsichtig) ist. Die Bilder unten zeigen Objekte mit einer Transparenz von 0.5. Die Auswirkung der Veränderung von Transparente Farbe ist darin veranschaulicht. Normalerweise wird ein durchsichtiges Objekt das Licht in einer seiner diffusen Farbe ähnlichen Färbung weitergeben, aber in computergrafischer Bildnerei sind wir nicht von physikalischen Gegebenheiten begrenzt. ![]() |
Spekularität ist das Spiegelungsverhalten der
Objekttextur. Ein Wert von 1 bedeutet das die Objekttextur ein vollkommener Spiegel und seine diffuse Farbe deshalb nicht sichtbar ist. Ein Wert von 0 ist gänzlich spiegelungsfrei. Die Objekte der Bilder rechts haben alle Spekularität 0.3 und zeigen die Wirkung des Änderns von Reflektierende Farbe. Plastikartige Objekte werfen normalerweise das Licht weiß zurück, während metallische Objekte dazu neigen, ihre Reflektionen in der diffusen Farbe zu tönen. In den Beispielen hier sind Farbausprägung (Hue) und Sättigung der diffusen Farbe auch für die Reflekierende Farbe mit geänderten Beträgen bei Schattierung/Wert und abgeglichen mit "plastiktypisch" weißer Spekularität benutzt worden. |
![]() |
Zusätzlich zur Spekularität gibt es den Kennwert Glanz, der die Stärke von sich spiegelnden Glanzlichtern steuert. Obwohl glänzende Oberflächen in der Wirklichkeit eigentlich nur durch Spiegelungen hervorgerufen werden, ist der Glanz-Parameter sinnvoll, um einige typische Wirkungen vorzutäuschen, wenn man z.B. plastikartige Oberflächen ohne recht augenfällige Spiegelung darstellen will. In den meisten Fällen wollen Sie beides einsetzen, Specularität und Glanz. Nachfolgend sind Beispiele für verschiedene Glanz-Werte mit und ohne Spiegelung gegeben.![]() Rauhheit Dieser Parameter kann genutzt werden, um die natürliche Wirkung nachzuahmen, dass eine aufgerauhte Oberfläche die Schärfe von Reflektionen verringert. Hohe Rauheitswerte ergeben unschärfer gezeichnete Spiegelungen und weiter gestreute Glanzlichter, wie unten erkennbar. Zu beachten gilt, dass Glanz/ Lichtdurchlässigkeit zum Rendern mit der Raytracer-Ausstattung (siehe Rendering) ermöglicht (= 'enabled') worden sein muss, um die Wirkung sichtbar zu machen. ![]() Wolkigkeit kontrolliert den Grad der Lichtdurchlässigkeit für durchscheinende Objekte. Höhere Werte bedingen größere Unschärfe des übermittelten Lichtes, wie unten gezeigt. Wie beim Rauheit-Kennwert muss Glanz/ Lichtdurchlässigkeit während des Renderns ermöglicht (= 'enabled') worden sein, um die Wirkung sichtbar zu machen. ![]() |
Dieser Texturtyp ermöglicht, die Oberflächeneingenschaften auf der Grundlage eines 2-D Bildes festzulegen.
Diese Bilder werden normalerweise in 2-D Malprogrammen erstellt. Um eine neue bildbasierte Textur zu erzeugen, geht man auf Szene → Texturen, nach dem Klick im Dialog auf Neu wählt man Image Mapped aus der Aufklapp-Liste. Daraufhin wird die folgende Dialogbox ausgegeben: |
![]() |
Die selben Oberflächeneigenschaften, wie im Uniforme Texturen-Dialog beschrieben, gibt es auch hier. Diesmal werden Farben und Werte der unterschiedlichen Eigenschaften jedoch durch die Auswahl von 2D-Bildern bestimmt. Das bedeutet, die Werte der Parameter ändern sich über die Objektoberfläche hin, dem/den verwendeten Bild(ern) entsprechend, statt gleichförmig zu bleiben. Links in der Dialogbox sind diffuse, reflektierende, transparente und ausstrahlende Farbe angeordnet. Klickt man auf das jeweilige Geviert gleich rechts neben der Bezeichnung, öffnet sich eine weitere Dialogbox, 'Images' benannt. Zum Einlesen eines neuen Bildes darin auf Laden klicken. Das Bildformat kann dabei *.jpg, *.png, *.gif, *.svg oder *.hdr sein. Einfach das Bild finden, markieren und mit 'Öffnen' in den Dialog aufnehmen. Ein Stellvertreter-Bildchen (Thumbnail) davon wird sichtbar und automatisch als gewählt markiert (= dick in schwarz gerahmt). Sind schon andere Bilder eingelesen, kann man (auch) eines von ihnen durch Anklicken wählen. Ist das vorgesehene Bild markiert, auf OK klicken. (Ist kein Bild gewünscht, auf Nichts auswählen klicken.) |
Bemerkenswert ist auch das 'einheitliche Farbe'-Feld, jeweils direkt rechts neben dem Bild-Feld. Die Farbe, die
man hier einstellt, beeinflußt die Farben der bildbasierten Textur gleichmäßig. Wie schon beim Uniform Texture-Dialog, wird mit einem Doppelklick auf die Vorschau-Ansicht der Dialogbox ein Menü für Vorschau-Objekt und Blickwinkel angeboten. Die Vorschau kann gezoomt (mit gehaltener STRG-Taste + rechter Maustaste Cursor auf bzw. ab bewegen), oder verschoben werden (nur mit gehaltener rechter Maustaste ziehen). Die Bilder unten rechts zeigen die Wirkung der Zuweisung einer Bildtextur an verschiedene Farbeigenschaften. Das Bild für die Textur selbst ist links davon zu sehen: ![]() Die rechte Seite des Image-mapping-Dialoges besetzen numerische Eigenschaften. Die im Uniform-Texture-Dialog bereits verfügbaren Eigenschaften Transparenz, Spekularität, Glanz und Wolkigkeit gibt es auch hier, aber zusätzlich noch zwei weitere Eigenschaften: Bump-Höhe und Verdrängung Die steuern die 'Krumpeligkeit' einer Oberfläche. Bump-Mapping variiert die Oberflächennormale, um 'Krumpel' in der Geometrie vorzutäuschen, während Verdrängung (Displacement Mapping) tatsächlich die Oberflächengeometrie verändert. Bei bildbasierten Texturen wird der Grad der Transparenz, Spiegelung usw. von der Image-Map festgelegt, die über das Anklicken des quadratischen Wahlfeldes direkt neben der Beschriftung erstellt wird. Ist kein Bild gewählt, kann eine einheitliche Farbe über Anklicken des Quadrates rechts daneben mit Hilfe einer dann erscheinenden Farbeinstellbox und ihrer Schieberegler angegeben werden. Wenn jedoch ein Bild gewählt wurde, ändert sich die jeweilige Eigenschaft auf der Oberfläche dem Bild entsprechend. Ob die Werte Rot, Grün oder Blau zur Steuerung der einzelnen Eigenschaften genommen werden, kann dabei durch Anklicken der passenden Komponente des Aufklapp-Feldes rechts im Dialog gewählt werden. Für Bilder mit Informationenin einem Alpha-Kanal, oder solche, die transparente Bereiche enthalten (von den unterstützten Bildformaten sind *.png, *.svg und *.gif transparenzfähig), wird (sofern so ein Kanal im Bild vorhanden ist) eine zusätzliche Komponente, Maske bezeichnet, in dieser Auswahl verfügbar. Die ist hervorragend brauchbar, um Effekte auf einzelne Bereiche der Oberfläche zu begrenzen, so können etwa nur Bildteile einer Alpha-Auswahl glänzend gemacht werden usw. . Die Ausgabe über Maske kann auch für die Zuweisung von Oberflächeneigenschaften, die von der Transparenz im Bild abhängig sind, verwendet werden. Das naheliegendste Beispiel wäre, sie in der Transparenzeigenschaft zu nutzen, wo die durchsichtigen Teile des Bildes dann als durchscheinende Bereiche der Textur dienen (siehe unteres Beispiel). Allerdings kann die Maske auch bei jeder der übrigen Eigenschaften für andere Wirkungen Verwendung finden. ![]() Die Schieberegler ändern sich dann, um den Grad des jeweiligen Effektes zu steuern. Auf diese Weise kann man nur einzelne Teile der Oberfläche transparent, glänzend usw. aussehen lassen. Einige Beispiele sind hier unten zu sehen: ![]() Der Imagemap-Dialog ermöglicht auch eine Kachelung des Bildes (Voreinstellung: An) (es wird also endlos aneinandergereiht), so dass die gesamte Objektoberfläche bedeckt werden kann, wenn das Bild kleiner bemessen ist, als sie. Und gespiegelt kann das Bild in beiden Achsen zudem werden. Die (Pixel-)Bilder die für Texturen beigezogen werden, können unmittelbar über Szene → Bilder verwaltet werden. Man kann sie so laden, sichern und/oder löschen. (Gespeichert werden diese Bilder in der AoI Datei ohne weitere Komprimierung, außer der der AoI Datei selbst, also verlustfrei). |
Wandlungsfähige (= Prozedurale) Texturen sind solche, deren verschiedene, oben erläuterte Eigenschaften
mit Hilfe mathematischer Rechenvorschriften beschrieben werden. 2 Arten von prozeduralen Texturen in Art of Illusion gibt es: Prozedurale 2D- und prozedurale 3D-Texturen. Die 2D-Texturen kann man sich als "bemalte Papierbogen" vorstellen, die um das Objekt herumgewickelt werden – in einer Weise, die vom Mappingtyp (siehe 4.1.4.)
bestimmt wird. Prozedurale 3D-Texturen ihrerseits, sind sozusagen "körperlich-massive, solide wirkende" Texturen. Objekte, denen sie zugewiesen werden, sehen aus, als wären sie aus einem Block davon herausgeschnitten worden. Die graphischen Schnittstellen zu Festlegungen für beide Typen sind jedoch identisch, daher werden in diesem Abschnitt beide gemeinsam beschrieben. Um eine neue prozedurale Textur zu erstellen, geht man auf Szene → Texturen, klickt auf Neu und wählt Procedural 2D-Texture oder Procedural 3D-Texture als Texturtyp. Folgender Editor wird angezeigt: |
![]() |
Dazu erscheint ein (frei positionierbares) Vorschaufenster, das die aktuelle
Textur des Editors auf eine Kugel aufgebracht darstellt.
Das Vorschaufenster wird bei einer Änderung der Textur automatisch nachgeführt. Die Größe des Vorschaufensters läßt sich ändern, indem man an seinen Seiten zieht. Die Vorschau kann auch gezoomt werden (mit STRG-Taste + rechter Maustaste gedrückt, den Cursorauf bzw. ab bewegen), und Drehen (= bei gedrückter mittlerer Maustaste ziehen), wie auch Verschieben des Vorschauobjektes (= bei gedrückter rechter Maustaste ziehen) ist ebenfalls möglich. Wie im Uniform Texture-Dialog, werden mit Doppelklick in die Vorschau zwei Aufklapp-Menüs zugänglich, die ermöglichen, Vorschauobjekt und Blickwinkel zu ändern. |
Anfangs zeigt das Vorschaufenster eine gleichförmig weiße Textur, weil diese voreingestellt ist. Beachtenswert ist, dass 2D-Texturen mit Projection-Mapping gezeigt werden, während 3D-Texturen lineares Mapping
aufweisen. Deshalb dürfte die selbe prozedurale Textur in der 2D-Vorschau anders aussehen, als in der 3D-
Vorschau. Alle folgenden Beispiele sind deshalb als 3D-Texturen erstellt. - Zur Übung könnte man eine hier
vorgestellte prozedurale Textur überprüfen, ob sie als 2D-prozedurale Textur anders aussieht, und wenn das
der Fall ist, weshalb. Die Felder rechts im Prozedurale Texturen-Editor zeigen die Oberflächeneigenschaften an, die für andere Texturtypen weiter oben bereits beschrieben sind. Die Idee beim Prozedurale Texturen-Editor ist, den entsprechenden Eigenschaften-Feldern Werte ( aus Farben oder Zahlen) zuzuordnen. Das erfolgt, indem Werte, Funktionen und Transformationen gesetzt, (evtl. auch untereinander verknüpft) und in die jeweiligen Eigenschaften-Felder eingegeben werden. Das bringt eine Gruppe von Werten hervor, die für jeden Punkt der Oberfläche berechnet wird und so die Textur erzeugt. Entlang der linken Seite des Editorenfensters ist ein Menü von 'Modulen' eingerichtet, die zu einer Rechenvorschrift zusammengesetzt werden können. Sie sind in Kategorien wie Werte, Operatoren, Funktionen usw. sortiert. Man kann eine Kategorie anklicken, um sie aufzufalten und die Module, die sie enthält zu sehen.
Nehmen wir ein einfaches Beispiel: Eine gleichförmige diffuse Farbe. Vergewissern Sie sich, dass die Werte-
Kategorie aufgeklappt ist, klicken Sie darin auf Farbe, oder ziehen Sie ersatzweise mit gedrückter Maustaste
das Farbe-Feld auf den freien weißen 'Maltuch'-Hintergrund.
Ein kleines ( und weil aktuell gewählt, rot umrandetes) Quadrat erscheint, das so aussieht ![]() |
Hätte man ein Y-Modul verwendet, wäre der Verlauf in Y-Richtung erfolgt. Was aber, wenn wir einen diagonalen Verlauf möchten? In diesem Fall
müßten wir ein (X+Y) in das Verlaufsmodul einspeisen. Wählen Sie also beides, ein X- und ein Y-
Modul aus der Werte-Kategorie. Um die Addition durchzuführen, wählen Sie unter Operatoren
das Hinzufügen-Modul. Dann verbinden Sie zunächst die Ausgänge der X- und Y-Module mit
den Eingangspfeilen des Hinzufügen-Moduls und dessen Ausgang dann mit dem Verlaufsmodul (umgekehrt klappt es auch, keine Sorge !), wie im oberen der beiden 'Schaltbilder' rechts: |
![]() |
Es gibt noch einen anderen Weg, wie dies erreichbar wäre. Unter Funktionen finden wir das leistungsfähige
Ausdruck-Modul. Wählen Sie es, und doppelklicken Sie darauf. Diese Funktion gestattet die Eingabe jedes
mathematischen Ausdruckes von X, Y, Z, Zeit und Modul-Eingaben. Tragen Sie 'x+y' ein und klicken Sie dann
OK. Verbinden Sie diese Ausgabe mit dem Verlaufsmodul und die selbe Wirkung ist erzielt, wie im zweiten,
unteren 'Schaltbild' vorangehend dargestellt.
Lassen Sie uns nun die verfügbaren Werte, Funktionen, Transformationen usw. etwas genauer betrachten. Werte So sieht das Werte-Menü aus: |
![]() |
Die meisten der Einträge hier sind selbsterklärend: Nummer fügt ein Modul mit einer einzelnen festgesetzten Zahl ein. Doppelklicken Sie auf das Modul, um deren Wert zu ändern. Farbe fügt eine Box mit einer einzelnen Farbe ein. Doppelklicken Sie auf das Modul, um den Farbwahl-Dialog aufzurufen. X, Y und Z fügen Module ein, deren Ausgänge einfach die X-, Y- und Z-Werte jeden Punktes auf der Oberfläche vertreten. Bei prozeduralen 2D-Texturen ist z=0. (Wichtiger Unterschied zu prozeduralen 3D-Texturen!) Zeit ügt ein Modul ein, dessen Ausgabe den aktuellen Zeitwert des Zeitstreifens darstellt. In Animationen wird sich dieser Wert ändern, wodurch sich Texturen selbst entsprechend animieren lassen. |
Blickwinkel
Dieses Modul kann benutzt werden, um Oberflächeneigenschaften eines Objektes abhängig
vom Blickwinkel der Kamera auf einen Punkt der Oberfläche erscheinen zu lassen. Es kommt zum Einsatz,
um Fresnel-Wirkungen nachzuahmen, bei denen die Spekularität in nahezu senkrechtem Auftreff-Winkel geringer ist und sich mit schräger werdenden Sicht-Winkeln verstärkt. Das Blickwinkel-Modul gibt den Kosinus des Einfallwinkels aus. Das Beispiel unten zeigt, wie das zur Erzeugung einer Fresnel-Wirkung genutzt
werden kann: In dem Beispiel wurde die links unten gezeigte prozedurale Textur benutzt, um die linke Vase
durch verstärkte Reflektionen an Schrägsicht-Winkeln 'plastikhafter' erscheinen zu lassen. Die metallische Vase rechts daneben hat eine höhere Spiegelungsfähigkeit, die allerdings (zum Vergleich) auch gleichförmig
(ohne Blickwinkelabhängigkeit) aufgebracht wurde.![]() ![]() Das Modul hat auch viele andere Verwendungsmöglichkeiten, eine davon ist die Herstellung einfacher (Car-) 'Toon'-Texturen, wie die unten gezeigte: ![]() ![]() Parameter gestattet Texturen, abhängig von nutzerbestimmten Kennwerten zu sein, die beim Mappen der Textur einzeln für Objekte und sogar für besondere Teile von Objekten festgelegt werden können. (Man kann damit Teile einer Textur auch nur Teilen von Objekten zuordnen - eben abhängig von Parametern.) Siehe Textur Parameter für Näheres dazu. (Soviel sei hier gesagt: Man kann sich damit häufig ein UV-Mapping ersparen und viel interessantere Eigenschaften erstellen.) Kommentar Dieses Modul ist ein reines Textfeld, das ermöglicht, Kommentare in der Rechenvorschrift anzubringen, also Teile der Prozedur zu beschreiben, wie im unteren Beispiel. (Damit kann man auch nach langer Zeit noch erkennen, was man eigentlich machen wollte, bzw. Andere können das so leichter nachvollziehen.)
![]() |
![]() |
Alles sind normale mathematische Operatoren: Hinzufügen (Addieren), Subtrahieren, Multiplizieren, Dividieren: Diese Module haben je zwei Eingänge deren Werte zusammengezählt, abgezogen (unterer vom oberen Eingangswert),miteinander malgenommen, oder geteilt werden (oberer durch unteren Eingangswert), abhängig vom gewählten Vorgang. Quadrat (Potenzieren): Der ausgegebene Wert hiervon ist der linke Eingangswert zur Potenz der Hochzahl (vom oberen Eingang). Mod (Restwert) hat zwei Eingänge, die Datengruppe die verarbeitet wird (linker Eingang) und den Teiler (unterer Eingang). Es gibt den Restwert der Teilung von Datenseteingabe durch den Teiler aus, wenn also die Eingabe 5 war, und der Teiler war 4, wäre die Ausgabe der Rest der Teilung 5 durch 4, welcher gleich 1 ist. Größer als: Ist die obere Eingabe größer als die untere, gibt es 1 aus, sonst Null. Min, Max: Jedes von beiden hat 2 Eingänge, die verglichen werden, und Minimum bzw. Maximum davon wird ausgegeben. |
![]() |
Seine Einträge werden auf Zahlenwerte angewendet, um diese auf unterschiedliche Weise zu beeinflussen: Ausdruck ermöglicht die Eingabe jeglichen mathematischen Audrucks von x, y, z, t (t steht für Zeit) und 3 Eingänge ins Modul. Diese Eingänge sind benannt Value (= Wert) 1, Value 2 und Value 3.. Ausdrücke können folgende mathematische Operationen ausführen: +, -, / (Division), * (Multiplikation), ^ (potenziert zu, 'hoch'), % (Restwert). Sie können folgende Funktionen enthalten: sin(a): Sinus von a, cos(a): Kosinus von a, sqrt(a): Quadratwurzel von a, abs(a): absoluter Wert von a, log(a): natürlicher Logarithmus von a, exp(a): e 'hoch' a (das selbe wie e^a), min(a, b): Minimum von a und b, max(a, b): Maximum von a und b, pow(a, b): a 'hoch' b (das selbe wie a^b), angle(a, b): der Winkel, den ein rechtwinkeliges Dreieck an seinen Seiten a bzw. b bildet, bias(a, b): die Bias-Funktion mit a bias von b, gain(a, b): die Gain-Funktion mit a gain von b. Die Konstanten Pi und e werden ebenfalls erkannt. Individuell ermöglicht eine Kurve zu zeichnen, die die Ausgabe zur Eingabe in Beziehung(skurve) setzt. Neue Punkte können mit gedrückter STRG-Taste + Mausklick in die Kurve eingefügt und vorhandene Punkte mit Klicken + Ziehen bewegt werden. Die Kurve kann auch durch Anhaken der entsprechenden Option geglättet werden. Zudem kann diese Funktion periodisch gesetzt werden, d.h. sie wiederholt sich außerhalb des 0-1 Bereiches unendlich. Eingaben kleiner als 0 erzeugen eine Ausgabe von 0, und Eingaben größer als 1 erzeugen Werte von 1. |
Skalieren/Verschieben multipliziert den Eingabewert mit einem konstanten Wert und addiert einen Versatzwert. Ein Doppelklick auf das Modul ermöglicht die Änderung beider Werte. Betrag gibt einen Wert absolut aus, d.h., ist die Zahl positiv, ändert sich nichts, ist sie negativ, wird der positiv entsprechende Wert ausgegeben (-5 wird +5). Verwischen (Blur) erzeugt eine (Bewegungs-)Unschärfe-Wirkung. Es gibt 2 Eingänge, der eine ist für die Wertegruppe die verwischt/unscharf dargestellt werden soll, der andere setzt den Wert der Effekt-Stärke fest. Etwas genauer ist dieser zweite Wert die Spanne, in der sich die Glättung vollzieht. Zuschneiden: Diese Funktion grenzt die Eingabe bis auf eine Spanne ein, die nach Doppelklick auf das Modul eingegeben werden kann. Eingabewerte, die innerhalb der Begrenzungen liegen, bleiben unverändert - Werte unterhalb des Minimums werden dem Minimum gleichgesetzt, Werte oberhalb des Maximums werden dem Maximum gleichgesetzt. Interpolieren: Die Ausgabe fußt auf 3 Werten. Wert 1 und Wert 2 (obere und untere Eingabe) bestimmen Maximum und Minimum und die Bruch (fraction)-Eingabe bestimmt den Wert zwischen Minimum und Maximum. Als Beispiel: Wenn die Bruch (Fraction)-Eingabe 0,5 wäre, läge der Wert auf halbem Wege zwischen den Extremwerten, ist er 0,25 wäre die Ausgabe ein Viertel der Strecke zwischen diesen usw. . Sinus, Kosinus, Quadratwurzel, Exponential, Log sind eigentlich selbsterklärende mathematische Funktionen mit je einem einzigen Eingang und Ausgang. Eingaben für Sinus und Kosinus sind im Bogenmaß. Das Log Modul ist ein (zur Basis e) natürlicher Logarithmus. Neigung/Bias: Dieses Modul berechnet Ken Perlin's Bias-Funktion. Bei einem gegebenen Eingangswert zwischen 0 und 1 berechnet es einen Ausgabewert, der ebenfalls zwischen 0 und 1 liegt in Abhängigkeit von: y(x) = x^(log(B)/log(0.5)), wobei der Eingabewert x und Bias B mit den zwei Eingabemöglichkeiten übereinstimmen. Wenn B=0.5, dann y(x)=x. Werte von B weniger als 0.5 verschieben die Ausgabe in Richtung geringerer Werte, während Werte von B größer als 0.5 die Ausgabe in Richtung größerer Werte verschieben. 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 in Abhängigkeit von: y(x) = Bias(2*x, 1-G)/2 wenn x<0.5 1-Bias(2-2*x, 1-G)/2 wenn 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: Dieses Modul ist ein eindimensionales Zufalls-Rauschmuster. Es hat 2 Eingänge, wobei einer die Dimension (Einheit) darstellt, auf welche das Zufallsrauschen angewendet wird und der andere die Menge des Rauschens. Die voreingestellte Eingabedimension ist Zeit (time), da diese Funktion meist genutzt wird, um eine Positionsänderung/Drehung während einer Animation zu erzeugen. Diese Funktion könnte genutzt werden, um Zufallsmuster im Raum zu erzeugen, oder, gewiß auch, um zufällige Änderungen bei Texturmustern aufzubringen. Ähnlich wie bei einigen hier beschriebenen Mustern, gestattet ein Doppelklick auf das Modul, den Amplitudenwert und die Anzahl der Oktaven zu bestimmen. Sehen Sie in die Beschreibung des Rauschen Musters für weitere Einzelheiten zu diesen Parametern. Farbfunktionen Dieser Abschnitt beschreibt das Farbfunktionen-Menü. |
![]() |
Seine Module werden genutzt, um Farbwerte auf
unterschiedliche Weisen zu erzeugen oder zu ändern:
|
Mischen ist eine weitere Möglichkeit eine Farbe aus einem Bereich auszuwählen. Es nimmt 2 Farbwert-Eingaben entgegen und mischt sie entsprechend der ZahlenwertEingabe. Der wichtigste Unterschied zwischen diesem und dem 'Individuell'-Modul ist, dass hier zwei der Eingaben Farbwerte sind, und deshalb auch von anderen Funktionen erzeugt werden können. Hier rechts ist ein einfaches Beispiel, worin einer der Farbeingänge eine festgelegte rote Farbe erhält und der andere eine Farbe, die aus einer individuellen Karte gewählt wurde. Der Wert, der die Farbe aus der Karte bestimmt, ist schlicht Y - das einen Verlauf in Y Richtung erzeugen würde. Die gewählte und in das Mischen-Modul eingespeiste Farbe verändert sich dadurch von weiß nach schwarz, abhängig von der Y- Position. | ![]() |
Dies, mit der roten Farbe gemischt, wird auf die X-Position bezogen, da das der Zahlenwert ist, der
in die Mischen-Farbfunktion eingespeist wurde. Offenbar können deutlich schwierigere Funktionen festgelegt
werden. Hinzufügen, Subtrahieren und Multiplizieren sind einfache (Farb-)Funktionen die 2 Farbeingaben annehmen und die entsprechende mathematische Operation an deren RGB-Anteilen vornehmen. Heller, Dunkler Beide Funktionen nehmen 2 Farben entgegen und geben davon die aus, die heller bzw. dunkler ist. Bestimmt wird das von der Luminanz-Komponente des CIE XYZ Farbsystems. Größe erlaubt die Eingabefarbe mit einer Zahleneingabe zu skalieren. Jeder Farbanteil der Eingabe wird mit dem eingegebenen Zahlenwert multipliziert. Eine einigermaßen versteckte Besonderheit ist, dass dieses Modul genutzt werden kann, um Eigenschaften wie Spiegelfähigkeit, Glanz, Durchsichtigkeit usw. über ihren normalen Maximalwert von 1 hinaus zu verstärken. Das kann man durch die Skalierung der passenden Farbeigenschaft (für Spiegelungsfähigkeit und Glanz ist das Reflektierend, für Durchsichtigkeit Transparent) mit Zahlen größer als 1 bewirken. Der sich ergebende Eigenschaftswert ist das Produkt des zu skalierenden Farbwertes und der eingegebenen Zahl der Eigenschaft. Ein Beispiel ist unten gezeigt: Im linken Bild ist die reflektierende Farbe weiß (also Hue = 0, Sättigung = 0 und Wert = 1) und der Glanz ist auf 1 gesetzt. Der endgültige Glanz ist damit das Produkt von 1 x 1 = 1. Das rechte Bild nutzt das Größe-Modul, um den Wert auf 20 zu erhöhen; das Produkt ist daher 20 x 1 = 20, und das Ergebnis ist ein (künstlich) wesentlich strahlender reflektierendes Glanzlicht auf der Vorschaukugel, das beispielsweise als cartoonartig glänzende Textur brauchbar wäre. ![]() Eine andere Anwendungsmöglichkeit gibt es bei abstrahlenden Texturen; Das Modul Größe kann in ähnlicher Weise (wie oben) benutzt werden, um das Licht zu verstärken, das von einem abstrahlenden Objekt erzeugt wird, wenn es mit 'Globale Ausleuchtung' gerendert wird. Das untere Bild zeigt die Wirkung der Anwendung des Farbfunktion-Moduls Größe auf die ausstrahlende Farbe einer Kugel mit den jeweils eingegebenen Zahlenwerten 1, 2, 5 und 10. Das Bild wurde mit Photonen-Mapping unter 'Globale Ausleuchtung' gerendert. |
RGB Dieses Modul gestattet Rot-,
Grün- und Blau-Komponenten mit eingegebenen Zahlenwerten zu bestimmen, was eine scheinbar einfache Funktion ist. Seine Leistungsfähigkeit liegt in der Tatsache, dass die Bestandteile Eingabewerte sind,
die somit von anderen Funktionskombinationen berechnet werden können. Im rechten Beispiel ist die
rote Komponente durch ein (lineares) Rauschen
-Modul bestimmt, die grüne Komponente wird durch ein Holz-Modul erzeugt, und die blaue Komponente basiert auf einer Blickwinkel-Abhängigkeit mit Potenz 3 (hoch 3). |
![]() |
HSV: Wie das RGB-Modul hat dieses Modul 3 Eingänge zur Zahleneingabe; ein Eingang für jeden Farbanteil. Nur werden hier Farbausprägung (Hue), Sättigung und Farbschattierung mit Zahleneingaben bestimmt, wie im einfachen rechten Beispiel, in dem die Farbausprägung (auf der Oberfläche) von der X-Position bestimmt ist. | ![]() |
HLS: Wie die vorangegangenen beiden Module, hat auch dieses 3 Eingänge für Zahlenwerte, einen für jeden Farbanteil. Diesmal werden Farbausprägung (H), Helligkeit (L) und Sättigung (S) bestimmt, wie im Beispiel rechts gezeigt, in dem die Helligkeit sich sinusartig ändert und die Sättigung von einem (linear) skalierten Zellen-Muster bestimmt wird. | ![]() |
|
![]() ![]() |
Das Polar-Modul rechnet das lineare Koordinatensystem von x und y zum polaren Koordinatensystem um, das von r (radialer Strecke) und theta (Winkel) beschrieben wird. Ein Beispiel ist links zu sehen. Das obere Beipiel zeigt das Ergebnis der Koordinate r im Hue-Eingang des HSV-Moduls. Das erzeugt ein Muster, in dem die gleiche Entfernung eines jeden Punktes zur Mitte dieselbe Farbe erzeugt, wodurch Farbringe entstehen. Ähnlich die theta-Ausgabe: Punkte die denselben Winkel haben bekommen dieselbe Farbe wie hier links gezeigt. |
Dieses Modul übersetzt das lineare Koordinatensystem in
ein kugelförmiges Koordinatensystem. Das obere Beispiel, rechts, zeigt ein Gitternetz-Muster (siehe dazu weiter unten), das dazu benutzt wird, Farben eines individuellen Farbverlaufs musterartig auf die Kugel aufzubringen. Wird das Kugelförmig-Modul dem Gitter-Modul in allen Achsen vorgeschaltet, entsteht das untere Bild, rechts. |
![]() |
![]() ![]() |
Dieses Transformations-Modul behält das lineare Koordinatensystem bei, erzeugt aber ein zufälliges Zittern der Textur.
Doppelklicken des Moduls öffnet den Dialog zur Steuerung
der Amplitude und des Bereiches, über den das Zittern stattfindet. In den Beispielen links ist die Textur des 'Polar'-Beispiels oben genommen worden. Das produziert normalerweise eine vielfarbige Ringgruppe. Diesmal wurde jedoch ein Zittern- Modul mit Amplitude 0.5 in die X- und Y-Koordinate eingeschaltet. Das obere Bild zeigt die Wirkung mit einer Skalierung von 1, und das untere Bild zeigt, was geschieht, wenn die Skalierung verkleinert wird. |
![]() |
Es gibt mehrere vorgegebene Textur-Muster in Art of Illusion, verfügbar über das Muster Jedes Muster hat 3 Eingänge für die X-,Y- und Z-Koordinaten. Im Weiteren schauen wir uns jedes Muster und einige seiner Spielarten an. In jedem dieser Fälle wurde die Ausgabe des Muster-Moduls in eine Individuelle Farbverlaufsbox gesteckt und deren Ausgang wiederum in das Diffus-Feld. |
Dieses Modul erzeugt ein fraktales Rauschmuster unter Gebrauch von Stefan Gustavsons Umsetzung von Ken
Perlins Simplex-Rauschen-Funktion. Für technische Einzelheiten lesen Sie bitte http://staffwww.itn.liu.se/%7Estegu/simplexnoise/simplexnoise.pdf weiter.
Jede Oktave hat die doppelte Frequenz der vorhergehenden Oktave. Sie können die Anzahl der Oktaven und die Amplitudenhöhe der ersten Oktave durch Doppelklick auf das Rauschen-Modul und Eintrag der gewünschten Werte festlegen. Die Amplitude jeder höheren Oktave errechnet sich aus der Multiplikation der Amplitude der vorangeenden Oktave mit dem Eingangswert des Rauschen-Moduls (der typischerweise zwischen 0 und 1 liegt, obgleich das nicht zwingend erforderlich ist). Weil es eher ein Eingang als ein Kennwert ist, muss es keine Konstante sein. Das ist besonders nützlich zur Erzeugung von Rauschen-Mustern, deren Charakter sich über die Oberfläche eines Objektes hin verändert. Die Rauschen Funktion ist skaliert, so dass 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: ![]() Turbulenz Dieses Modul gleicht dem Rauschen Modul mit der Ausnahme, dass es den absoluten Wert jeder Oktave nimmt, bevor es die Werte addiert. Das erzeugt "Knitter" am Ausgang, wobei seine Ableitung sich ungleichmäßig ändert. Das Ergebnis erinnert etwas an verwirbelte Strömungen in Flüssigkeiten. Das Turbulenz-Modul ist skaliert, so dass die Ausgabewerte typischerweise zwischen 0 und 1 liegen. Abhängig von den Parameterwerten und der Rauschen-Eingabe können die Ausgabewerte allerdings manchmal auch größer als 1 sein. Hier unten ein paar Beispiele: ![]() Netz/Gitter Dieses Modul ist eine große Hilfe, wenn man gleichförmige Gitternetze erzeugen will: Es legt ein gleichförmiges dreidimensionales Gitter von "Bezugspunkten" an. Der Wert an jedem Punkt ist gleich der Entfernung dieses Punktes zum nächsten "Bezugspunkt". Ein Doppelklick auf das Modul eröffnet die Möglichkeit den Raum zwischen den "Bezugspunkten" zu verändern. Hier unten zwei Beispiele: ![]() Zellen Dieses Texturmuster ist dem Gitter-Modul ähnlich, aber statt die Bezugspunkte gleichmäßig zu verteilen, streut es sie zufällig. Das Zellenmodul hat 3 Ausgänge. Der Zellen-Ausgang gibt einen Wert zwischen 0 und 1 aus, den der nächstliegende Bezugspunkt ermittelt. Dieser Wert ist derselbe für jede Zelle die von diesem Bezugspunkt festgelegt wird. Das ist brauchbar, um ungleichmäßig geformte Zellen zu erzeugen, deren jede eine andere Farbe hat. Die distance 1- und distance 2-Ausgänge geben die Abstände zum nächsten bzw. zum übernächsten Bezugspunkt an. Entfernung (Distance) 1 ist beim Zellenmuster gleich dem Gittermuster. Zusätzlich können die Entfernungen zwischen jedem Punkt und den Bezugspunkten auf 3 mathematische Weisen berechnet werden, was verschiedene Mustern ergibt: Euclidean (euklidisch), City Block (stadtviertelartig) und Chessboard(schachbrettartig). Einer dieser Typen kann nach Doppelklick auf das Modul gewählt werden. Die Ergebnisse mit jeder der 3 Möglichkeiten und 3 verschiedenen Distanz-Einstellungen sind hier gezeigt: ![]() |
Der Ausdruck distance2 - distance1 ist eine recht
brauchbare Einstellung: In diesem Beispiel ist der Ausdruck in ein individuelles Farbmodul gesteckt worden und das ist seinerseits mit dem Diffus- und Ausstrahlend-Feld verbunden. |
![]() |
Marmor Dies ist ein mathematisches Muster das Marmor simuliert. Zusätzlich zu den X-, Y- und Z-Eingängen hat es einen Rauschen-Eingang. Doppelklicken des Moduls ermöglicht, die Abstände der Marmorierungsbänder, ebenso wie die Rauschen-Amplitude und Anzahl seiner Oktaven zu ändern. Einige Beispiele dazu rechts: ![]() Holz Kaum erstaunlich, ist dieses Muster für holzartige Strukturen brauchbar. Seine Ausgabe für einen gegebenen Punkt ist proportional zur Entfernung von der Y- Achse plus einer Turbulenz-Funktion. Doppelklicken des Moduls gestattet folgende verschiedene Parameter zu ändern: Rauschen-Amplitude, Band-Abstand und Zahl der Rauschen-Oktaven. Hier rechts einige Beispiele: ![]() Wenn Sie das Häkchen bei 'Only Output Fraction' setzen, wird für die Ausgabe Mod 1 berechnet, sodass eine Reihe von konzentrischen Ringen entsteht, deren Ausgabe von 0 zu 1 über die Weite jedes Ringes zunimmt. Der häufigste Gebrauch dieses Moduls ist, seinen Ausgang in eine Individuelle Farbfunktion zu speisen, was eine schöne Reihe von Farbbändern in Holzmuster erzeugt. Wenn das Modul so eingesetzt wird, ist es grundsätzlich das Beste, nicht die Option 'Only Output Fraction' anzuhaken, sondern stattdessen die Farbfunktion periodisch zu setzen. Andernfalls kann das Antialiasing des Holz-Moduls zu sichtbaren Artefakten (= Darstellungsfehlern der Textur) führen. Schachbrett Dies Modul erzeugt das Schachbrettmuster, das man so häufig in computergrafischer 3D-Bildnerei zu sehen bekommt. Bei diesem Modul gibt es keine Optionen, aber die Abstände können über Skalierung der Eingabe auf den Koordinaten der X-, Y- und Z-Richtung geändert werden: ![]() Ziegel 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 zu erkennen: ![]() Bild Dieses Modul ermöglicht die Nutzung eines Pixelbildes in der prozeduralen Textur. Wie bei den bildbasierten Texturen auch, muss das Bild im Format *.gif, *.png, *.jpg oder *.hdr vorliegen. Das Bild-Modul hat 5 Ausgänge: Eine Farbkarte des Bildes und 4 Zahlenwert-Ausgänge die seinen roten, grünen und blauen Bestandteilen entsprechen, sowie einem Maskenausgang zur Änderung jener Oberflächeneigenschaften, die auf einer Alpha-Kanal-Auswahl/Maske des Bildes oder durchsichtigen Bildbereichen fußen. Lesen Sie für nähere Einzelheiten dazu hier weiter. |
Ein Doppelklick öffnet folgende Dialogbox (rechts): Auf das quadratische Feld klicken ruft den Bildauswahl Dialog auf, der Sie Bilder wählen oder laden läßt. X und Y werden die Maße des Bildes. Die Tile- und Mirror- Optionen ermöglichen das Bild in der X- und/oder der Y-Richtung zu spiegeln oder zu kacheln (= endlos wiederholen). Im ersten Fall wird das Bild so gekachelt, dass benachbarte Kacheln Spiegelbilder sind; das ermöglicht nahtlose Übergänge auf der Objektoberfläche. Die Ausgaben des Moduls können entweder auf gesetzt werden. |
![]() |
Hier unten ist ein Beispiel mit Bildmodul gegeben. Weil der Ausgang auf RGB gesetzt ist, sind die Einzelwerte
der Ausgabe des Moduls Farbe und 4 Zahlenwert-Ausgänge in folgender Reihenfolge: Rot, Grün, Blau und
Maske. Hier wurde den blauen Sternen ein Leuchten verliehen, indem der blaue Ausgang des Bild-Moduls mit
einem Farbskalierungsmodul verbunden wurde, das die Eingabe eines blaue Farbe-Moduls skaliert und in das
'Ausstrahlend'-Feld einleitet. Der rote Ausgang (der im orangen Stern am stärksten vorherrscht) - wird benutzt um die Spiegelung zu steuern, und der Farbausgang 'landet' geradewegs in der Diffus-Eigenschaftsfläche.![]() Das Bearbeiten-Menü Im 'Prozedurale-Texturen'-Editor ist ein Menü verfügbar, und das ist das Bearbeiten-Menü: Rückgängig /Wiederholen (STRG+Z bzw. STRG+SHIFT+Z) Diese Einträge ermöglichen die letzte Aktion rückgängig zu machen bzw. wiederherzustellen. Ausschneiden (STRG+X) kopiert alle ausgewählten Module in die Zwischenablage und löscht sie im Editor. Kopieren (STRG+C) kopiert alle ausgewählten Module in die Zwischenablage ohne sie im Editor zu löschen. Einfügen (STRG+V) kopiert die Module aus der Zwischenablage in den Editor. Löschen löscht alle ausgewählten Module. Eigenschaften (STRG+P): Diese Schaltfläche wurde zur schnelleren Erreichbarkeit auch zusätzlich noch aus dem Bearbeiten-Menü ausgegliedert. Sie ermöglicht die Änderung der Antialias-Einstellungen der Textur. Normalerweise ist der voreingestellte Wert 1 hinlänglich. Größere Werte bedingen eine stärkere Glättung der Textur. Gebrauch der Vorschau-Zeit Dieses Bild veranschaulicht den Gebrauch eines veränderten Vorschauzeitpunktes. Die Höhe (Displacement) des 'Grases' wird in diesem Beispiel gesteuert von dem Ausdruck input1*t*0.5. Die Ausgabe dieses Ausdrucks reicht von 0 zur Zeit (t) = 0 bis 0.5 zu t = 1 Sek., 1 zu t = 2 Sek. usw. . ![]() Beispiele für prozedurale Texturen Das Werkzeug 'Prozedurale Texturen' ist eine ausgesprochen leistungsfähige Möglichkeit Texturen für Oberflächen zu erzeugen. Die oben dargestellten Abschnitte zeigen zwar alle verfügbaren Module, können aber deren Möglichkeiten lediglich ein Stück weit darstellen, um aufzuzeigen, wie wendig dieser Weg, sich der Struktur für Texturen zu nähern, ist. (Um diese Möglichkeiten vollends zu entdecken, muss man ein wenig Geduld mitbringen, und sie eigenständig erforschen.) Die oben gezeigten Beispiele haben oftmals nur eine Verbindung in das Diffus-Feld gehabt. Die Module können aber genutzt werden, um einige der Farb- und Zahlenwerte zu ändern und dadurch eine große Vielfalt interessanter Texturen zu erzeugen. Zur Anregung sind hier noch drei Beispiele gegeben, was an Möglichkeiten in den Modulen steckt. 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 & Material | zum Inhaltsverzeichnis | vor: Texturen zuweisen |