bastian schildbach - ausarbeitung - texturing · pdf file20.06.2006 mit texturing mit maya...
TRANSCRIPT
20.06.2006
mit
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1
Bastian Schildbach [email protected]
1. Grundlagen 1.1 Texturen 3
1.2 Koordinaten 3
1.3 Texel 4
1.4 Vertices 4
1.5 Texture Mapping 5
1.6 Texturadressierung
1.6.1 Wrap Texture Address Mode 5
1.6.2 Mirror Texture Address Mode 5
1.6.3 Clamb Texture Address Mode 6
1.6.4 Border Texture Address Mode 6
1.6.5 Texturadressierung in Maya 6
2. Mapping-Techniken: Funktionsweise & Anwendung 2.1 Bump-Mapping 7
2.2 Displacement-Mapping 8
2.3 Normal-Mapping 9
2.4 MIP-Mapping 10
2.5 Two-Part-Mapping 11
2.6 UV-Mapping 12
2.7 Environment Mapping 13
3. Andere Techniken und Ausblick 3.1 Textursynthese 14
3.2 Bidirectional Texturing Function 14
4. Zusammenfassung 15
5. Literaturverzeichnis 16
6. Bildverzeichnis 17
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 2
1.Grundlagen1.1 Texturen
Texturen sind zweidimensionale Bilder, die auf der Oberfläche eines dreidimensionalen Modells
dargestellt werden und somit die Beschaffenheit und Struktur eines 3D-Körpers beschreiben.
Manchmal wird unter Textur auch die tatsächliche Oberflächenstruktur des jeweiligen Modells be-
zeichnet, also die genaue Beschaffenheit des Objekts, seine Einkerbungen und Erhebungen etc.
Um Texturen auf ein Modell aufzubringen gibt
es eine Vielzahl von Techniken und Möglich-
keiten. Die wichtigsten und gängigsten Me-
thoden werden in dieser Ausarbeitung zusam-
mengefasst und beschrieben. Zudem wird er-
läutert, welche Möglichkeiten das 3D-Model-
lierungsprogramm Maya7 für das so genannte
Texturing bietet. Es wird auf Probleme beim
Anbringen von Texturen eingegangen, die bei
den jeweiligen Techniken auftreten können.
Zunächst ist es jedoch notwendig einige Begriffe, die beim Umgang mit Texturen von Bedeutung
sind, zu verstehen.
1.2 Koordinaten
Dazu zählt der Umgang mit den Koordinaten, die man zum Arbeiten mit Texturen bei einigen Tech-
niken benötigt. Die Koordinaten x,y und z geben die Position im Raum an, wie man es aus der Ge-
ometrie kennt. Zusätzlich gibt es dann aber noch die so genannten Texturkoordinaten u und v.
Diese beschreiben keine zusätzlichen Dimensionen (z.B. zeitliche Bezugspunkte), sondern man be-
nutzt die Texturkoordinaten, um anzugeben, wo die jeweiligen Stützpunkte der Textur liegen. „u“
entspricht dabei der x-Richtung, „v“ der y-Richtung. Es ist also mit den Raumkoordinaten möglich,
die exakte Position des Ursprungs eines Objektes anzugeben, während man mit den Texturkoordi-
naten auf dessen Rand entlang wandern kann. So lässt sich angeben, wo die Pixel eines Texturbildes
auf einem Objekt angelegt werden sollen. Näheres dazu folgt später bei der Mapping-Technik „UV-
Mapping“.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 3
Aufbringung eines Texturbildes auf ein Modell [1]
1.3 Texel
Ein weiterer Begriff ist der des Texel, der nichts anderes bedeutet als „Pixel der Textur“. Das Exis-
tenzrecht dieses Begriffs kann man sich am besten klar machen, wenn man sich eine Kugel vor-
stellt, die man je einmal aus der Nähe und der Ferne betrachtet. Es ist klar, dass ein Texel nicht im-
mer genau einem Pixel des Bildschirms entspricht. Es kommt hier auf die Perspektive an. Je näher
man sich an ein Objekt heran bewegt, desto weniger Texel fallen auf einen Pixel. Dies impliziert,
dass natürlich darauf geachtet werden muss, dass ein Pixel richtig eingefärbt wird, je nachdem, wie
viele Texel einen Pixel belegen. Dies geschieht durch Interpolation, einer mathematischen Berech-
nung, die den genauen Farbwert ermittelt.
1.4 Vertices
Ein Grundbegriff bei allen Arbeiten mit Polygonmodellen der 3D-Modellierung sind die Vertices.
Sie sind die Stützpunkte, welche die Struktur des Modells definieren. Für das Texturing sind die
Vertices besonders wichtig, da in ihnen nicht nur Positionskoordinaten gespeichert werden, sondern
auch die Texturkoordinaten. Den Vertices werden je zwei Texturkoordinaten zugewiesen, die als
Fließkommazahlen im Bereich zwischen 0.0 und 1.0 liegen. So wird ein Quadrat definiert, in des-
sen Bereich sich angeben lässt, welcher Punkt des 2D-Texturbildes auf welchem Punkt des Poly-
gons liegen soll.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 4
Quadrat der Texturkoodinaten
Nötige Transformationen beim Texture Mapping und Darstellen auf dem Bildschirm [3]
1.5 Texture Mapping
Als Texture Mapping bezeichnet man den Vorgang eine Textur, also ein 2D-Bild, auf ein 3D-Modell
aufzubringen. Um dies zu realisieren gibt es verschiedene Techniken, die später gezeigt werden sol-
len. Grundsätzlich werden beim Texture Mapping verschiedene Transformationen nötig, um die
Texturen richtig darzustellen. Zum einen muss das 3D-Objekt auf eine zweidimensionale Fläche
abgebildet werden, um somit die Koordinaten u und v für die Pixel des Texturbildes angeben zu
können (siehe links). Außerdem muss nach erfolgreicher Aufbringung der Textur das 3D-Modell
richtig auf die Pixel des Bildschirms projeziert werden (siehe rechts).
1.6 Texturadressierung
Es wurde bereits erwähnt, dass die Texturkoordinaten im Bereich von 0.0 bis 1.0 angegeben wer-
den. Was geschieht jedoch, wenn dies nicht möglich ist und der Bereich überschritten wird? Hierfür
wurden verschiedene Möglichkeiten entwickelt, um die Texturadressen nach Wunsch anzugeben.
1.6.1 Wrap Texture Address Mode
Bei der Wrap Texture Address Mode wird das Texturbild außerhalb des Bereiches einfach wieder-
holt.
1.6.2 Mirror Texture Address Mode
Wählt man die Mirror Texture Address Mode wird jeder Texel in umgekehrter Reihenfolge zum
vorhergehenden Texturbild ausgegeben. Dies erzeugt den Effekt eines Spiegels.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 5
1.6.3 Clamb Texture Address Mode
Die dritte Möglichkeit, der Clamb Texture Address Mode, ermöglicht die Umsetzung mittels einer
Dehnung der äußeren Pixelbereiche je Zeile und Spalte.
1.6.4 Border Texture Address Mode
Bei der Border Texture Address Mode wird ein beliebig wählbarer Farbton angezeigt.
1.6.5 Texturaddressierung in Maya
In Maya lassen sich die Modi auf einfache Weise
steueren. Im Attribute Editor des Texturbildes ist
es möglich, die oben angegebenen Adressie-
rungsmodi zu wählen. Zudem ist es möglich, das
Texturbild rotieren zu lassen. Eine Besonderheit
ist, dass alle Einstellungen separat für die u- und
die v-Richtung gemacht werden können. Dies be-
deutet, dass man zum Beispiel in die eine Rich-
tung eine Mirror-Adressierung, und in die andere
eine Wrap-Adressierung vornehmen kann.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 6
Wrap Texture Address Mode [4]
Mirror Texture Address Mode [4]
Clamb Texture Address Mode [4]
Border Texture Address Mode [4]
Der Attribute Editor in Maya für die Texturadressierung
2.Mapping-Techniken
Nun, im zweiten Teil dieser Ausarbeitung, werden die verschiedenen Techniken, mit denen das
Texture Mapping umgesetzt werden kann gezeigt und ihre Anwendung in Maya erläutert.
2.1 Bump Mapping
Das Bump Mapping zeichnet sich dadurch aus, dass man ein 3D-Modell mit
einer realistisch erscheinenden Oberfläche ausstattet, ohne dabei zusätzliche
Polygone erzeugen zu müssen. Somit wird die Berechnung des 3D-Modells
nicht verkompliziert und ein schnelles Rendern wird gewährleistet. Deshalb
wird das Bump Mapping vor allem in der Unterhaltungsindustrie verwendet
um flüssige Darstellung zu erreichen. In der Anwendung werden aus einem
Graustufenbild Höhendaten generiert, wobei ein weißer Pixel einer starken
Erhebung und ein schwarzer Pixel einer starken Vertiefung in der Oberfläche
entspricht. Jeder Pixel stellt eine Höhenstruktur der Oberfläche dar. Diese
Höhenstrukturen werden aus dem Graustufenbild berechnet um dem 3D-
Modell Oberflächenvektoren zuzuordnen. Beim Rendern der Textur können
diese Oberflächenvektoren genutzt werden um blickwinkelabhängige Hell-
Dunkel-Strukturen zu simulieren. Maya bietet für das Bump Mapping das
3D Painting Tool an. Dem Modell muss lediglich eine Bump Map-Textur
zugewiesen werden, in welche dann mit Hilfe eines Pinsels direkt im
Viewport von Maya gezeichnet werden kann. Als Pinsel lassen sich zum
Beispiel Graustufenbilder verwenden, die man sich vorher in einem Gra-
fikprogramm zeichnet. Zudem lässt sich die Deckkraft des Pin-
sels einstellen und die Stärke, mit der er auf die Oberfläche
„gedrückt“ wird. Regelt man nun noch den Radius des Pinsels
richtig, ist es beispielsweise einfach aus einer einfachen Kugel
eine Orange zu machen, wie die Abbildungen zeigen.Leider ist
das Bump Mapping noch nicht ideal, da man keine Lichtinfor-
mationen für einzelne Punkte berechnen kann, sondern nur
zwischen Nachbarpixeln interpoliert wird. Deshalb wurde das
Bump Mapping zum Normal Mapping weiterentwickelt.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 7
Vom Graustufenbild und einer Kugel zur Orange mit Bump Mapping
Das 3D Painting Tool von Maya7
hoch aufgelöstes niedrig aufgelöstes Ergebnis Source-Objekt Target-Objekt
2.2 Normal Mapping
Das Normal Mapping zeichnet sich dadurch aus, dass anders als beim Bump Mapping nicht belie-
big die Oberflächenvektoren verändert werden, sondern exakte Informationen über die Ausrichtung
der Normalen vom hochaufgelösten Modell auf das niedrig aufgelöste mittels einer Normal Map
übertragen werden. Auch hier ist es natürlich nicht nötig die Anzahl der Polygonen zu erhöhen. Das
Normal Mapping ist zum Standart für Echtzeit-3D-Grafik geworden, da es sehr schnell detaillierte
Bilder erzeugt. Die Abbildung zeigt einen typischen Funktionsablauf des Normal Mapping. Für die
detaillierten Lageinformationen wird ein Source-Objekt mit sehr hoher Polygonzahl zur Erstellung
der Normal Map gewählt. Diese Normal Map kann dann auf ein ähnliches Target-Objekt mit gerin-
gerer Polygonanzahl gelegt werden.
Maya bietet für das Normal Mapping den sogenannten Surface Sampler. Neben der Auswahl des
Quell- und des Zielmodells können zusätzliche Einstellungen vorgenommen werden, die das Er-
gebnis des Normal Mappings noch weiter verbessern. So
kann zum Beispiel festgelegt werden, dass in der Normal
Map alle anderen Texturinformationen, die schon in an-
dere Weise vorliegen, (z.B. als Bumb Map) berücksich-
tigt werden. Maya bietet außerdem
die Möglichkeit, die Genauigkeit, mit
der das Quellobjekt abgetastet wer-
den soll, festzulegen. Dazu verwen-
det man den Search Envelope, der
wie ein Umschlag um das Quellobjekt gelegt wird.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 8
Surface Sampler in Maya7Search Envelope
Erstellung der HeightMap aus dem Texturbild [5]
2.3 Displacement Mapping
Für Anwender, die mit den bisher vorgestellten Techniken kein zufriedenstellendes Ergebnis errei-
chen können, bietet das Displacement Mapping eine weitere Entwicklungsstufe. Das Displacement
Mapping ist eine relativ neue Technik, bei der, anders als bisher, die Konstruktion des 3D-Netzes
verändert wird. Als Ausgangspunkt für die Bearbeitung dient ein Graustufenbild, in dem relative
Höhendaten gespeichert sind. Nun wird aber nicht wie bisher eine Textur aufgebracht, die den Ein-
druck einer Oberflächenstruktur vermittelt, sondern das Polygonmodell wird verändert. Es gibt zwei
Möglichkeiten ein Graustufenbild beziehungsweise eine Height Map, wie das Graustufenbild in
diesem Kontext genannt wird, zu erstellen. Eine Möglichkeit besteht darin, die Height Map selbst
zu zeichnen. Einfacher und effektiver ist es jedoch meist, sie direkt aus dem Texturbild zu generie-
ren. Die Veränderung des 3D-Modells wird über die Vertices vorgenommen, die entlang ihrer Nor-
malen verschoben werden. Auf der Objektoberfläche entstehen somit reale Erhebungen und Vertie-
fungen. Die folgende Bilderreihe illustriert sehr anschaulich, welche Schritte beim Displacement
Mapping essentiell sind.
Wie bereits erwähnt erstellt man eine Height Map, hier
anhand des Texturbildes einer Mauer.
Nachdem dies geschehen ist, muss natürlich angegeben
werden, wo Texturbild und HeightMap auf dem Objekt
liegen sollen (2). Hat man diese Entscheidung getroffen,
können die Vertices entlang ihrer Normalen verschoben
werden (3). Man erhält so die gewünschte, strukturierte
Oberfläche (4).
Maya7 hat für das Displacement verschiedene Mög-
lichkeiten entwickelt, von denen hier nur eine er-
wähnt werden soll. Mit Hilfe des Rendering Editors Hypershade ist es möglich, für die manuelle
Erstellung einer HeightMap ein sogenanntes General Utility auszuwählen. Für ein Gebirge wählt
man so zum Beispiel das Utility Height Field. Diesem kann dann als Color-Attribut eine 2D-Textur
zugefügt werden, die dann als Height Map dient. Über den Attribute Editor lässt sich die Struktur
des Gebirges einstellen. Ist man mit dem erzielten Ergebnis zufrieden ist das Height Field zu lö-
schen und das gewonnene Graustufenbild als Displacement Map dem 3D-Modell hinzuzufügen.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 9
Funktionsweise des Displacement Mapping [5]
2.4 MIP Mapping
Es kommt oft vor, dass man Objekte modellieren möchte, die aus der Nähe und Ferne betrachtet
werden sollen. Dabei muss das Texturbild passend skaliert werden. In diesem Zusammenhang
spricht man von Maxifikation, wenn die Textur stark vergrößert werden muss und sie aus der Nähe
betrachtet wird. Analog dazu spricht man bei Betrachtung aus der Ferne von Minifikation. Durch
die Skalierung des Texturbildes kommt es nun aber zu Aliasing-Effekten, welche die Darstellung
verschlechtern. Das MIP Mapping bietet eine Lösung dieses Problems. In einer MIP Map wird eine
beliebige Anzahl an Bildern des gleichen Motivs, allerdings mit fallendem Detailgrad gespeichert.
Hierbei ist das Verhältnis der Kantenlängen von zwei
„benachbarten“ Bildern stets 2:1. Diese Unterteilung
in Auflösungsstufen wird level of detail (LOD) ge-
nannt. Wenn nun das Modell zum Beispiel aus der
Nähe betrachtet wird, wählt man ein hoch aufgelöstes
Bild aus der MIP Map aus. Der große Vorteil dieser
Technik ist, dass die MIP Maps schon vor dem Ren-
dern berechnet werden. Dies entlastet den Prozessor
erheblich. Häufig sind beim Übergang zwischen zwei Bildern einer MIP Map Kanten erkennbar, da
der Schärfegrad zweier Detailstufen unterschiedlich ist. Da sich der Schärfegrad der Textur so
plötzlich ändert führt dies zu sehr unschönen Darstellungen. Dieser Effekt, MIP Banding genannt,
kann durch eine bestimmte Filtermethode, dem trilinearen Filtern, beseitigt werden. Hierzu wird
unter anderem linear zwischen den Bildern in der MIP Map interpoliert und so die Unschärfe besei-
tigt. In Maya ist das MIP Mapping bereits als Filter eingebaut und kann für eine beliebige Texturda-
tei im File Node eingestellt werden.
Bisher wurden Techniken betrachtet, bei denen vor allem die Gestalt und das Aussehen der Textur
festgelegt wird. Um die Textur nun aber genau so auf das Objekt aufzubringen, wie man es benö-
tigt, gibt es die Möglichkeiten des Two-Part und des UV Mappings. Hier wird die Textur auf die
Geometrie des Objekts angewandt, während beim Bump, Normal, Displacement und MIP Mapping
das Aussehen der Textur von Bedeutung ist. Man kann diese Methoden natürlich kombinieren und
so zum Beispiel eine Bump Map mit Hilfe von UV Mapping auf ein Modell aufbringen. Im Folgen-
den soll geklärt werden, wie das Two-Part und das UV Mapping funktionieren.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 10
Beispiel einer MIP-Map [9]
Problem der Verzerrung
Querschnitt durch ein zylinderähnlichen Gegenstand beim Two-Part Mapping
Two-Part Mapping: Automatisierung der (u,v)-Berechnung [2]
2.5 Two-Part Mapping
Oft hat man beim Mapping das Problem, dass komplexe Objekte schwer mit einer Textur versehen
werden können, ohne dass es zu Verzerrungen kommt. Deshalb entstand die Idee, das Mapping in
mehreren Schritten durchzuführen. Dazu soll die Oberfläche des 3D-Objekts in Bereiche zerlegt
werden, die sich, jeder für sich, mathematisch leicht beschreiben lassen. Hierfür kommen Bereiche
in Frage, die einem Quader, einem Zylinder oder einer Kugel
ähnlich sind, denn dann könnte man die Textur zunächst auf die-
se Referenzobjekte aufbringen und von dort aus auf das 3D-
Modell. Man spricht in diesem Zusammenhand häufig auch von
der Two-Pass-Method und je nach Vorgehensweise von Box,
Zylinder oder Kugel Mapping. Diese Methode hat den Vorteil,
dass man die komplexe Form eines Objektes in seine Einzelteile
zerlegt, mit denen sich dann einfacher arbeiten lässt. Realisiert wird diese Mapping Methode da-
durch, dass die Berechnung der Texturkoordinaten U und V automatisiert wird und die Übertragung
des Texturbildes vom Texturraum in den Objektraum
mathematisch abgesichert über den virtuellen
Zwischenraum beziehungsweise dem Hilfsobjekt ge-
schieht. Speziell beim Kugel Mapping besteht häufig das Problem von Verzerrungen. Dazu dient
folgendes Bild als Anschauung. Die oberen Bereiche dieser Vase unterscheiden
sich von der Struktur einer Kugel stark und führen dazu, dass das Texturbild
nach oben hin gedehnt wird. Deshalb muss hier eine Unterteilung des Körpers
in eine Kugel und einen Zylinder vorgenommen werden. Dies hat zur Folge,
dass später die Ränder der beiden Bereiche womöglich Artefakte aufweisen.
In Maya ist das Two-Part Mapping mit dem Menü Polygon UV‘s erreichbar. Dort ist neben den drei
Methoden, die oben beschrieben wurden auch noch Automatic Mapping wählbar. Hier berechnet
Maya automatisch die bestmögliche Methode. In der Anwendung in Maya ist danach aber kein Un-
terschied zum UV Mapping mehr gegeben, weshalb hier sofort zum UV Mapping übergegangen
wird.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 11
Kopf mit UVM [6]
Aufbringung der Textur
Unwrap: ein aufgefalteter Kopf[6]
2.6 UV Mapping
Das UV Mapping ist, genauso wie das Two-Part Mapping eine
Methode, die sich vor allem für komplexere Formen eignet. Da-
bei finden zentral die Texturkoordinaten Anwendung. Mit dieser
Technik ist es möglich, beliebige Teile von Bildern auf die Ober-
fläche des Polygons zu projizieren. Dazu muss in der Anwendung angegeben werden, welche Pixel
des Texturbildes in welchem Bereich des Polygons liegen sollen. Hierzu wird das Mesh auf eine
2D-Fläche aufgefaltet, sodass man dort ganz einfach die Bilder in gewünschter An-
ordnung anbringen kann. Diese Me-
thode wird Unwrap genannt. Der
Benutzer wählt an seinem
Polygonmodell die gewünschten
Schnittkanten aus, an denen das Objekt für den
Unwrap-Vorgang aufgeschnitten werden soll oder wählt die Faces aus, die er texturieren möchte. In
der daraus entstehenden 2D-Fläche kann der Benutzer nun die Flächen mit den Texturbildern verse-
hen.
Maya7 bietet hier eine Besonderheit, denn das Polygonnetz wird automatisch auf die 2D-Fläche
ausgebreitet und kann dann im UV Texture Editor direkt bearbeitet werden. In der Maya Hilfe wur-
den Guidelines zur Anwendung des UV Mapping definiert. Eine dieser Guidelines fordert die Be-
nutzer dazu auf, den Bereich zwischen 0.0 und 1.0 nicht zu überschreiten um Wrap-Effekte der
Texturadressierung zu vermeiden. Auch UVs sollten sich nicht überlappen, da so auch Wiederho-
lungen entstehen würden. Für gewollte Wiederholungen bietet Maya effektivere Methoden. Die au-
tomatisch erstellte 2D-Fläche der UVs kann nach Wunsch bearbeitet werden. Für einen Würfel ist
dies zum Beispiel gar nicht nötig, da dieser schon so ausgebreitet wird, wie man es zum weiterar-
beiten benötigt. In einem beliebigen Grafikprogramm kann nun ein UV-Schnappschuss, der in Ma-
ya erstellt wurde, bemalt werden. Für einen Würfel erhält man dann zum Bei-
spiel einen Schnappschuss, der im linken Bild zu sehen ist.
Nachdem der Schnappschuss bemalt wurde kann die ferti-
ge Grafik als neue Oberfläche auf den Gegenstand aufge-
bracht werden. Hierzu verwendet man in Maya wieder
den Hypershade Editor und fügt dem Würfel einen neuen Shader hinzu, wel-
cher als Color Atrribut das gemalte Bild zugewiesen bekommt.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 12
2D-Flächeeines Würfels
Der fertige Würfel
2.7 Environment Mapping
Eine letzte interessante Methode ist das Environment Mapping, bei der es möglich ist, eine Szenen-
umgebung in einem Objekt als Textur anzuzeigen und so den Eindruck zu erwecken, dass sich die
Szene im Objekt spiegelt. Dies ist vorallem dann sinnvoll, wenn eine Reflektion statisch ist und
sich die reflektierten Objekte nicht bewegen. Dafür sind keine Raytracing verfahren nötig, was die
Rechenzeit um ein Vielfaches reduziert und
deshalb in manchen Fällen eine
echte Alternative zum rechenintensiven
Raytracing darstellt. Die Grundidee hier
ist, dass sich große Objekte in kleineren spiegeln.
Dazu wird die einfallende Beleuchtung berechnet
und in eine Environment Map gespeichert. Um die
Environment Map zu erstellen wird eine virtuelle Zwischenfläche zwischen die beiden Objekte ge-
spannt, auf deren Innenseite (vom zu reflektierenden Objekt aus gesehen) die Szenenumgebung als
Textur aufgetragen wird. Die Zuordnung der Texturkoordinaten geschieht dann über die Berech-
nung des Sichtstrahls vom Betrachter aus. Die Abbildung zeigt, dass nur das große Objekt im klei-
nen „gespiegelt“ wird und die Textur des großen Objektes diesbezüglich keine Informationen ent-
halten kann, so dass sich auch das kleine darin spiegelt. Dies ist einer der beiden großen Nachteile
dieser Technik. Der zweite Nachteil ist, dass man sehr häufig Artefakte und Nahtstellen am Rand
der projizierten Textur erhält und deshalb die Darstellung an diesen Stellen unzufriedenstellend ist.
In Maya7 kann diese Art des Mapping wieder mit Hilfe des Hypershade umgesetzt werden. Hierzu
stellt Maya verschiedene Environment
Objekte bereit, die als virtuelle Zwischen-
fläche dienen und mit denen direkt im
Maya-Viewport gearbeitet werden kann.
Die Environment Objekte lassen sich
unter dem Reiter Env Textures auswählen.
Dabei entspricht zum Beispiel der Env
Ball einer Chromkugel, in der sich nahezu
360° der kompletten Szene spiegeln.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 13
Environment Mapping in Maya
Environment Mapping
Textursynthese mit Hilfe von verschiedenen Referenzbildern [7]
Nachdem nun die wichtigsten Mapping-Techniken vorgestellt wurden, sollen im Folgenden noch
zwei weitere Methoden der Texturerstellung gezeigt werden um zu demonstrieren, wie vielfältig die
Möglichkeiten sind, mit Texturen zu arbeiten.
3. Andere Techniken und Ausblick3.1 Textursynthese
Kleine Bilder können mittels Textursynthese zur Erzeugung einer ganzen Oberfläche verwendet
werden. Hier berechnen verschiedene Algorithmen aus dem Basisbild neue Bilder, die ähnlich aus-
sehen. So ist es möglich eine Mauer aus einer einzelnen Ziegel aufzubauen, ohne dass die Ziegel
immer gleich aussehen und das Bild dadurch unecht er-
scheint. Maya bietet für die Textursynthese das File- &
Projection-Utility an. Für Maya und auch andere 3D-
Modellierungsprogramme gibt es viele Plugins und
Erweiterungen für die Textursynthese, die es zum Bei-
spiel möglich machen, 3D-Texturen zu erstellen oder
aus 2D-Bildern ein 3D-Objekt zu erzeugen.
3.2 Bidirectional Texturing Function
Wie weit und detailliert mit Texturen gearbeitet werden kann
zeigt die Bidirectional Texturing Function. Sie beruht auf einer
mathematischen Funktion, der Bidirectional Reflectance Distri-
bution Function, die eine Verteilungsfunktion für Reflexionsver-
halten darstellt. Diese wurde auf Texturen erweitert und berech-
net nun zusätzlich zur Reflexion eine Verteilung der Textur auf
der Oberfläche des Objekts. Diese Art des Texturing ist nur mit
sehr hohem mathematischen Aufwand zu lösen, erzielt aber sehr detaillierte und nahezu perfekte
Bilder.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 14
bidirectional Texturing Function [8]
4. Zusammenfassung
Das Texturing ist ein Grundpfeiler der 3D-Modellierung, was sich alleine an der Anzahl der gezeig-
ten Möglichkeiten ablesen lässt, wie Texturen erstellt und auf Objekte aufgebracht werden können.
Hierfür ist Maya7 ein sehr mächtiges Tool, welches es ermöglicht all diese Techniken umzusetzen.
Die hier gezeigten Möglichkeiten sind nur ein Überblick und können in keiner Weise den vollstän-
digen Funktionsumfang von Maya und allgemein des Texturings erfassen. Für einen Neuling im
Bereich der 3D-Modellierung wirkt Maya am Anfang unüberschaubar und kompliziert. Dies liegt
wohl hauptsächlich daran, dass es für die gewünschten Ergebnisse verschiedenste Möglichkeiten
gibt, diese zu erreichen. Allerdings muss kritisiert werden, dass selbst für das Aufbringen einer Tex-
tur beim Bump-Mapping eine komplett andere Vorgehensweise gewählt werden muss, als zum Bei-
spiel beim Displacement Mapping. Dies erschwert das Erlernen des Programms erheblich, bietet
aber später eine sehr effektive Bearbeitungsmöglichkeit. Die wohl größte Neuerung in Maya7 ist
das Arbeiten mit dem UV Mapping, da hier automatisch das Unwrap vorgenommen wird und so ein
Aufbringen der Texturbilder stark vereinfacht wird. Abschließend lässt sich resümieren, dass Maya
sicherlich eines der besten 3D-Modellierungsprogramme auf dem Markt ist und dem geübten Be-
nutzer sämtliche Möglichkeiten offen stehen um seine Ziele, nicht nur beim Texturing, zu erreichen.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 15
5. Literaturverzeichnis
[1]http://www-lehre.informatik.uni-osnabrueck.de/~cg/2000/skript/18_4_Texture_Mapping.html[2]http://ica.overclockers.at/files/uvmapping.rar[3]http://de.wikipedia.org/wiki/Displacement_Mapping[4]http://de.wikipedia.org/wiki/Textur_%28Computergrafik%29[5]http://de.wikipedia.org/wiki/Texture_Mapping[6]http://de.wikipedia.org/wiki/Normal_Mapping[7]http://de.wikipedia.org/wiki/Bidirectional_Texturing_Function[8]http://de.wikipedia.org/wiki/BRDF[9]http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_v13a.pdf[10]http://www.math.uni-leipzig.de/pool/tuts/SelfDXD/DirectXGraphics/texturen/informationen.html#einleitung[11]http://wiki.worldofgothic.de/Tutorials/Texturieren+mit+3D+Studio+Max[12]http://www.imn.htwk-leipzig.de/~mgloss03/index.php?begriff=DirectX/NormalMapping.inc[13]http://www.imn.htwk-leipzig.de/~mgloss03/index.php?begriff=DirectX/MipMapping.inc[14]http://de.wikipedia.org/wiki/Bump_Mapping[15]http://de.wikipedia.org/wiki/Environment_Mapping[16]http://de.wikipedia.org/wiki/Mip_Mapping[17]http://www.3du.de/maya2.htm[18]http://www.highend3d.com/maya/tutorials/texturing/233-2.html[19]http://www1.cs.columbia.edu/CAVE/projects/btf/btf.php[20]http://cg.cs.tu-berlin.de/lehre05ss/3dvr/papers/Volumetric_Illustration_Ausarbeitung.pdf[21]http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_v13a.pdf[22]http://www.at-mix.de/bump_mapping.htm[23]http://wwwcg.in.tum.de/Teaching/ProSem/Workouts/data/08-EnvMapping.doc
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 16
6. Bilderverzeichnis [1]http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_v13a.pdf[2]http://www.linternaute.com/voyager/athenes_2004/images/handball.gif[3]http://www-lehre.informatik.uni-osnabrueck.de/~cg/2000/skript/Images/Figtex/texture.gif[4]http://www.math.uni-leipzig.de/pool/tuts/SelfDXD/DirectXGraphics/texturen/informationen.html#adressierung[5]http://de.wikipedia.org/wiki/Displacement_Mapping[6]http://student.gamemaker.nu/~patlil030/images/gordon_face.jpg[7]http://www.3du.de/Bildert/maya2/screen35.jpg[8]http://www-sal.cs.uiuc.edu/~yyz/research/btf/scene2.jpg[9]http://upload.wikimedia.org/wikipedia/de/4/44/MipMap_Beispiel_STS101.jpg
Hinweis: Alle nicht extra verwiesenen Bilder und Literaturangaben wurden aus der Maya-Hilfe ent-nommen oder selbst in Maya erstellt.
Texturing mit Maya
Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 17