5.1.4
Objekte einfache Texturen zuweisen
Wenn
Texturen mal erstellt sind müssen sie den Objekten auch
wunschgemäß zugeordnet werden. Um das zu erreichen, wählt
man das Objekt der Begierde in der Obkjektliste aus und klickt auf
Objekt -> Textur zuweisen. Dabei wird dieser Dialog
sichtbar:
Auf der linken Seite des
Dialogfensters ist die Liste mit erstellten, bzw. den verfügbaren
Texturen sichtbar. Wenn man eine davon klickt wird diese im
Vorschaufenster dargestellt - was bei sehr komplexen Texturen auch
mal einen Augenblick in Anspruch nehmen kann. Wie auch beim
Uniforme Texturen Dialog
kann man mit einem Doppelklick auf das Vorschaufenster das
Vorschauobjekt oder die Ansicht ändern. Die Vorschau kann mit
STRG und ziehen mit dem rechten Mausbutton auch gezoomt werden und
nur mit dem rechten Mausbutton gepant werden. |
Für einheitliche (uniforme) Texturen muss man nur noch die entsprechende Textur wählen und OK klicken. Bei den anderen Texturen können wir allerdings bestimmen in welcher Art und Weise sie auf das Objekt gebracht werden, - das nennt man "Mapping". Um nun die Art des Mapping einzustellen einfach auf klicken und der folgende Dialog erscheint:
Im Dialog wird das aktuell
gewählte Objekt angezeigt mit der ausgewählten Textur
und dem aktuellen Mapping. Das Objekt kann im Vorschaufenster
rotiert und gepannt werden wie zuvor oft beschrieben. Das
Vorschaufenster kann auch hier gestreckt werden, um präziseres
Arbeiten zu ermöglichen. Die Ansicht kann auch wieder mit dem
Doppelklick ausgewählt werden, so das ein Dialogfenster mit
der Auswahlmöglichkeit der Ansichten erscheint. |
Mapping
Arten
Für prozedurale 3D Texturen gibt es nur
eine Art des Mappings: Linear. Das kommt daher weil 3D
Texturen "solide" sind, d.h. das das Objekt mit dem sie
belegt sind aussieht wie aus dieser Textur herausgeschnitten.
Bei
Bildbasierten Mappings und 2D Texturen wird die Textur um das Objekt
herum gelegt ("wrapped") und das kann auf verschiedene
Weisen geschehen. In diesem Fall ist die Art des Mappings entweder
Projection, Cylindrical, Spherical oder UV.
Projection
legt die Textur auf das Objekt als ob sie mit Hilfe eines
Diaprojektors aufgebracht würde. Das funktioniert gut bei
flachen Objekten, birgt aber das Risiko von Störungen an
scharfen Übergängen wie im unteren Beispiel. In diesem
Beispiel sieht die Textur gut aus bis man auf die Seite achtet, wo
die Textur gedehnt wird. Die Projektion auf zylindrisch
(Cylindrical) umstellen bringt hier ein besseres Ergebnis. Ebenso
ergibt Kugelförmig (Spherical) ein passendes
Ergebnis:
Die
beste Art des Mappings ergibt sich aus der Geometrie des Objektes.
Cylindrical und Spherical Mapping funktionieren so, das die Textur
perfekt um ein zylindrisches oder kugelförmiges Objekt passen
würde. Wenn also Ihre Geometrie einem Zylinder oder einer Kugel
von der Form her nahe kommt, werden diese Arten des Mappings gut
passen.
In den meisten Fällen sind Objekte allerdings
werder perfekt flach noch kugelförmig/zylindrisch. Das ist dann
ein Fall für das sogenannte UV Mapping. UV Mapping
ermöglicht nahezu eine perfekte Kontrolle über die
Positionierung der Textur, bzw. ihrer Koordinaten auf dem
Netz-Objekt. Siehe später hier für
eine präzisere Ausführung.
Ändern
von Mapping Parametern
Wenn die Art des Mappings
erst einmal festgelegt ist können wir uns darum kümmern die
Textur über Anpassung der Parameter bessern anzupassen.
Für
prozedurale Texturen gibt es, wie oben gesagt, nur die Option Linear,
wir können hier Skalierung, Zentrum und Rotation festlegen wie
im Dialog oben gezeigt. Die Skalierung ändert die Größe
der Textur auf dem Objekt, Die Option Mittelpunkt kontrolliert
die Position und Rotation beeinflusst die Orientierung. Jeder
dieser Parameter kann für die X, Y und Z Achse bestimmt werden.
Wie im Hauptfenster ist Y "hoch und runter", X
ist "links und rechts" und Z ist "vor und
zurück" (in den Bildschirm).
In diesem Beispiel wurde die
skaliert und ein wenig in die X-Achse gestreckt und in Y-Achse
gestaucht - das ergibt lange, dünne Steine. |
Die letzte Option hier
ist ob die Textur nur an der Front- oder Rückseite, oder auf
beiden Seiten angebracht werden soll. Der Unterschied ist nur wichtig
bei offenen Objekten (Oberflächen). Im unteren Beispiel ist es
ein Splineobjekt das auf sich selbst zurück gebogen ist. Die
Textur auf beiden Seiten anzubringen sichert die Sichtbarkeit des
ganzen Objektes, während jeweils die Textur nur an Front- oder
Backfaces die Sichtbarkeit nicht garantiert, weil die andere Seite
jeweils unsichtbar wird.
Ein
wichtiger Grund Fähig zu sein nur eine Seite zu texturieren
kommt mit Geschichteten Texturen (layered
textures) ins Spiel, wo man dann z.B. bestimmen kann verschiedene
Texturen auf verschiedene Seiten zu mappen (z.B. Kotflügel innen
schwarz Unterbodenschutz, - außen lackiert).
Für
prozedurale 2D und Bildbasierte Texturen, sind die Möglichkeiten
des Mappings folgende: Projection, cylindrical und spherical als auch
UV (Mapping). Die zur Verfügung stehenden Mapping Parameter
hängen von der gewählten Art des Mappings ab.
Für das Projection
Mapping sind die Parameter zur Rechten gezeigt. Skalierung und
Zentrierung (centering) können nur für die X- und
Y-Achse durchgeführt werden, weil die Textur quasi wie ein 2d
Blatt Papier das aufprojiziert wird wie ein Dia aufgebaut ist.
Rotation kann allerding in allen 3 Achsen (X,Y, und Z)
erfolgen. |
Die Cylindrical Mapping
Parameter sind hier rechts aufgeführt. Die Textur ist
dieselbe wie im oberen Beispiel. Diesmal haben wir allerdings
andere Parameter zum Einstellen: |
|
Die Kugelförmigen
(Spherical) Mapping Parameter sind rechts gezeigt. |
5.1.5
UV Mapping
Auch wenn UV Mapping
"nur" eine andere Art ist wie 2D Texturen um ein Objekt
gewickelt werden, verdient es dennoch seinen eigenen Abschnitt wegen
seiner Vielseitigkeit.
Grundsätzlich ermöglich UV
Mapping die Kontrolle wie Texturen skaliert, rotiert werden über
eine (Mesh)Oberfläche (UV Mapping funktioniert ausschließlich
mit Meshes/ Netzobjekten). Das funktioniert indem Texturkoordinaten
(UV Koordinaten) einem jeden Vertex zugewiesen werden. U und V
repräsentieren dabei die horizontale und vertikale Richtung
einer Textur.
Die erste Stufe beim UV Mapping ist eigentlich
mit den oben beschriebenen Methoden so nah wie möglich an das
gewünschte Ergebnis zu kommen - also mit Projektion,
zylindrischem oder kugelförmigem Mapping und der Justierung der
Parameter. Wenn das Mapping also so nah wie möglich am
Wunschergebnis ist - einfach UV aus dem Dropdownfeld Mapping
selektieren und ein neues Menü öffnet sich. Hier bitte auf
UV Koordinaten bearbeiten klicken -> damit öffnet sich
der UV Mapping Dialog wie hier unten gezeigt. Der Dialog wirkt etwas
kompliziert, - deshalb werden wir ihn hier weiter im Detail
behandeln.
In der oberen rechten Ecke ist das Netz Objekt
selbst in einer geglätteten Ansicht gezeigt. Diese Ansicht kann
gepant, rotiert und gezoomt werden - wie im Mesh-Editor - Vertices
können ausgewählt, aber nicht bewegt werden.
Unten
rechts wird das Meshobjekt angezeigt mit dem aktuellen Mapping der
ausgewählten Textur. Wie bei der normalen Texturvorschau kann
auch diese Ansicht rotiert, gepant und gezoomt werden.
Die
linke Seite der Dialogbox zeigt die Textur selbst. Man kann hier
verschiedene Komponenten einer Textur, z.B. diffuse Farbe, Glanzwert,
Spiegelung und emissive Farbe - auswählen, um den Mapping Prozeß
zu unterstützen. Das geht mit dem Dialogfeld Angezeigte
Komponente - ein Dropdownfeld in dem die genannten Komponenten
ausgewählt werden können. Diese werden - sofern in der
Textur vorhanden - dann auch angezeigt. Man kann zudem die
Anzeige-Auflösung bestimmen zwischen Niedrig, Mittel und Hoch.
Niedirige Auflösungen sind schneller in der Anzeige (Zoomen und
panen).
Die Vorschauen können in der Größe
verändert werden - ebenso kann das ganze Dialogfeld bis auf
Bildschirmgröße gezogen werden.
Unterhalb der
Preview Fenster werden Informationen angezeigt, die den Bereich der
Texturkoordinaten anzeigen. Der Angezeigte Koordinatenbereich
zeigt den Bereich der U und V Koordinaten, die aktuell im
Texturfenster angezeigt werden. Wenn Sie den Bereich vergrößern
möchten (herauszoomen) - einfach den Bereich der Koordinaten
entsprechend anpassen. Um reinzuzoomen die Werte verringern.
Alternativ kann man die Texturvorschau auch zoomen und panen indem
man das Kamera Icon klickt
(STRG und ziehen zum Zoomen gedrückt halten) - oder nur mit
gedrückter rechter Maustaste und der gedrückten STRG taste
- ohne Icon Nutzung.
Um das Texturmapping an einer bestimmten
Position des Mesh zu verändern, selektieren Sie den/die
vertex/vertices an der Position in der Mesh Ansicht. Das führt
dazu das die korrespondierenden Vertices über der Textur in der
2D Ansicht als kleine Kreutze angezeigt werden. Ein Kreuz für
jeden Vertex (s. unten). Diese Kreuze können dann ihrerseits
angewählt und verschoben und in der Gruppe rotiert und skaliert
werden. Ausgewählt mit den Standards UMSCHALT-klick und
STRG-klick (deselektieren) oder klick-ziehen um alle innerhalb des
aufgespannten Rechteckes auszuwählen. Wenn ein einzelner Punkt
ausgewählt wurde können dessen UV Koordinaten direkt
editiert werden - im Dialog unter Ausgewählte Punkt-
Koordinaten. Wenn mehr als ein Kreuz selektiert ist wird der
Gesamtbereich angezeigt und kann nicht editiert werden. Ausgewählte
Kreuze können dann verschoben, skaliert, rotiert usw. werden mit
den Icons an der Oberseite. Wenn ihre Position verändert wird,
wird dabei die Textur über das Mesh bewegt - was in Echtzeit im
3D Fenster verfolgt werden kann.
Im
oberen Beispiel versuchen wir einen Schlangenhaut Textur auf einen
Kopf zu bringen. Es gibt dabei Problemzonen - das Bild oben links
zeigt Verzerrungen der Textur auf der Seite des Kopfes. Die Auswahl
einiger Vertices in diesem Bereich zeigt den Texturbereich der
Auswahl an. In diesem Fall wollen wir die Auswahl strecken um die
Verzerrung zu kompensieren. Die UV Koordinaten vorher/nachher werden
in den Bildern oben links, bzw. rechts angezeigt. Das Anpassen hat
die Texturierung verbessert.
Unten wird ein weiterer
Problembereich offensichtlich - um die Seite des Halses ist die
Textur wieder gestreckt. Wieder hilft das Selektieren der Vertices in
diesem Bereich in der Mesh Ansicht und anschließendes bewegen
und skalieren ect. bis es das Problem weitestgehend löst.
Der
letzte Punkt hier ist die Jede Fläche einzeln abbilden/mappen
Option. Dies Anklicken schaltet die Mesh Ansicht auf Face Mode um.
Die Vertices die zusammen ein Polygon ausmachen können wie zuvor
im UV Raum gemappt werden, mit der Tatsache das die Vertices zu dem
Face/Polygon "gehören". Wenn Sie 2 aneinander
grenzende Polygone auswählen - die ja Vertices miteinander
teilen - können Sie die Polygone dennoch unabhängig mappen.
Das erlaubt harte Grenzen im Texturverlauf.
5.1.6
Verwenden von Texturlayern
Art of
Illusion erlaubt es multiple Texturen einem Objekt zuzuweisen, indem
man gelayerte Texturen benutzt. Um eine gelayerte (geschichtete)
Textur zu erstellen einfach auf Objekt -> Textur zuweisen
klicken und Geschichtete Textur aus dem Typ drop-down
Menü oben in der Dialogbox auswählen. Ein Dialog ähnlich
dem hier unten abgebildeten erscheint dann:
Auf der linken Seite des
Dialogs ist eine Liste die alle in der Szene vorkommenden Texturen
anzeigt. Um eine davon zur geschichteten Textur hinzuzufügen
einfach an wählen und Hinzufügen klicken. Das
fügt die Textur zur Liste in der Mitte des Dialogs hinzu.
Diese Liste zeigt die einzelnen Schichten an - und deren
Reihenfolge ist wichtig! Die oberste Schicht ist der Surfacelayer
(Oberfläche), die anderen liegen jeweils eine Schicht
darunter. Die Reihenfolge kann jederzeit geändert werden,
indem die Textur angewählt wir und auf
geklickt wird. |
Beachten Sie bitte das
geschichtete Texturen auch per-vertex und per-face und
per-face-vertex zugewiesen werden können mit Hilfe der Texture
Parameter indem die passende Mapping Methode aus dem drop-down
Feld neben dem Schieberegler, bzw. Radio Button gewählt wird.
Siehe hier für weitere
Einzelheiten.
Geschichtete Texturen (Layered textures) können
auch benutzt werden um jeder Seite eines Objektes verschiedene
Texturen zuzuordnen. Im unteren Beispielwurden 2 Texturen erstellt -
eine mit einem Foto, und eine andere mit einem Text. Mit Hilfe einer
geschichteten Textur für dieses Splinemeshobjekt, in die beide
Einzeltexturen geladen wurden, kann jede via Edit Mapping und Front
faces only oder Back faces only Option einer Seite
zugeordnet werden. Das Ergebnis ist ein 2 seitiges
Blatt:
5.1.7
Verwendung von Textur Parametern
Textur
Parameter erlauben Texturen im Bezug auf ihre Position auf dem Mesh
zu kontrollieren. Ein Texturparameter ist ein Zahlenwert der in einer
prozeduralen Textur definiert (worden) ist. Der Wert dieses
Parameters wird im Mesheditor (Trimesh oder Polymesh) gesetzt, so das
Bereiche des Mesh Objekts verschiedene Parameter zugewiesen bekommen
können. Der beste Weg das vorzustellen ist es anhand eines
Beispiels durchzugehen. In diesem Beispiel wird eine Textur einem
Bleistift Mesh zugewiesen. Hier ist die prozedurale Textur dazu:
Die Vorschau sieht nicht
besonders überraschend aus - kann die aktuelle Textur aber
auch nicht so wiedergeben, da sie über die Position auf der
Oberfläche variieren wird der wir sie zuweisen. Um einen
Texturparameter zu erstellen, gehen wir über Einfügen
-> Werte -> Parameter. Doppelklicken des
Modul-(kästchens) bringt folgenden kleinen Dialog
hervor: |
Wählen
Sie das Objekt Bleistift aus und klicken Sie auf Objekt ->
Textur zuweisen für diese Dialogbox:
Beachten Sie das nun die
Texturparameter dieser Textur (Pencil) in der Parameterbox weiter
unten im Dialogfenster erscheinen. |
Für dieses Beispiel
wurden alle 3 Texturparameter auf "per vertex" gesetzt.
Klicken Sie �OK` um die Textur dem Objekt zu zuweisen.
Nun
werden dem Mesh Objekt einzelne Werte für bestimmte Bereiche
zugewiesen. Dafür bitte auf das Objekt in der Objektliste
doppelklicken - damit öffnet sich der Trimesheditor:
Diese Einstellung zeigt die
Obere Seite des Bleistiftes, mit den Vertices für die
Bleistiftspitze markiert. Um nun diesen Vertices das
Bleistiftminenmaterial zu zuweisen, bitte Mesh -> Textur
Parameter anwählen. Damit öffnet sich dieser Dialog
(links): |
Da ist offensichtlich eine
große Flexibilität die einhergeht mit der Verwendung von
Texturparametern. Ein wichtiger Aspekt ist die Benutzung von
Texturparametern in Animationen, wobei die Texturparameter durch
Textur-Parameter-Tracks über die Zeit verändert werden.
Siehe dazu auch diesen
Abschnitt für weiterreichende Darstellungen des
Themas.
Mischungsanteile für geschichtete
Texturen sind ebenfalls Texturparameter und können demnach
auch per-vertex, per-face oder per-face-vertex gesetzt und animiert
werden wie andere Parameter. Unten ist ein Beispiel das den Gebrauch
von Texturparametern mit geschichteten Texturen zusammen zeigt. Hier
wird eine geschichtete Textur benutzt um einem Würfel die Seiten
zu bemalen. Der Würfel wird erstellt und in ein Dreicksmesh
umgewandelt. Texturen werden für jede Seite einzeln erstellt; -
hier zunächst 3 verschiedene Texturen die ich erstellt habe um
das Vorgehen zu illustrieren: Eine �Uniform`(green shiny),
eine prozedurale 2D Textur (grid) und eine prozedurale 3D Textur
(noise bump).
Eine geschichtete Textur wird
nun für den Würfel erstellt, indem die soeben erstellten
Texturen einfach in die geschichtete Textur überführt
werden. Diese Textur wird dem Würfel zugewiesen. |
Es mag sein das die
Texturen noch orientiert und skaliert werden müssen, das geht
dann über den Mapping bearbeiten/ Edit Mapping Button -
um sicherzustellen das die Texturen für jedes Polygonface
korrekt ausgerichtet sind.
Wenn das beendet ist einfach mit OK
den Dialog verlassen. Um die Parameter zu setzen - genau wie im Falle
des Bleistifts oben - einfach doppelklick auf den Würfel in der
Objektliste und der entsprechende Editor geht auf. Die 'grid' und
'green shiny' Texturen können gesetzt werden, indem die Flächen
ausgesucht werden und dann Mesh -> Textur Parameter gewählt
wird. Die Parameter können im erscheinenden Dialog eingegeben
werden. Die 'noise bump' Textur wird per-vertex zugewiesen, so das
hier die Vertices anstelle der Faces ausgewählt werden müssen
bevor Sie Mesh -> Textur Parameter aufrufen. In diesem Beispiel
habe ich einen einzigen Vertex in der Mitte der Fläche
ausgewählt - wie hier unten dargestellt: