Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya...

17
20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach [email protected]

Transcript of Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya...

Page 1: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

20.06.2006

mit

Texturing mit Maya

Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1

Bastian Schildbach [email protected]

Page 2: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 3: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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]

Page 4: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 5: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 6: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 7: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 8: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 9: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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]

Page 10: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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]

Page 11: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 12: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 13: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 14: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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]

Page 15: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 16: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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

Page 17: Bastian Schildbach - Ausarbeitung - Texturing · PDF file20.06.2006 mit Texturing mit Maya Universität Ulm - Proseminar: 3D-Modellierungsprogramme - Bastian Schildbach 1 Bastian Schildbach

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