Unwrap UVW - Auslegen von Texturkoordinaten

Das Prinzip der Texturkoordinaten wird nachfolgend anhand eines einfachen Grundkörpers erleutert.
Zur Veranschaulischung wird hier direkt das Objekt bearbeitet.

Ein Quader wird mit sechs verschiedene Texturen (eine für jede Seite) versehen.
Die Projektion ist dabei für jede Seite eine Planare, wobei die Größe der Projektion der Größe der jeweiligen Seitenfläche entspricht.


Hier der Quader, wobei jede Seite mit einer eigenen Textur versehen wird. Als Projektion wird jeweils eine planare Projektion verwendet.

 

Links: Der Quader mit den Projektionsrichtungen.
Rechts : Die sechs einzelnen Texturen (für jede Seite des Quaders gibt es eine Textur).

Es wird nun der Quader in sechs einzelne Objekte zerlegt. Wichtig dabei ist, dass die Projektionsrichtung und Größe beibehalten werden.

Unter Beibehaltung der Projektionsrichtungen (immer auf die jeweilige Fläche bezogen: normal), wird der Quader zerlegt und die einzelnen
Flächen, ähnlich einer Abwicklung, positioniert. Immer noch hat jede Seite eine eigene Textur.

Um das ganze zu Vereinfachen wird die zeglegt Geometrie wieder zu einem Objekt zusammengefügt.
Die sechs einzelnen Texturen werden in einer Bildbearbeitungssoftware zu einem Bild zusammengefasst.
Die Gesamtgröße der Textur entspricht hierbei der Gesamtgröße der Projektion.
Nun, unter Verwendung von nur einer Textur, wird hier nur mehr eine planare Projektion angewandt, die das ganze Objekt "bedeckt".


Oben: Das "zusammengebaute" Objekt mit einer Projektion.
Rechts: Die verwendete Textur.

Wenn nun das flache Objekt wieder zu dem ursprünglichen Volumen zusammengebaut wird, erhält man das Ausgangsobjekt.
Jedoch wird für dises Ergebnis nur mehr eine Textur mit einer Projektion verwendet.
Beim Bearbeiten des Objektes (Zusammenklappen) wird die Projektion für jede Fläche beibehalten, obwohl die einzelnen Flächen in ihrer
räumlichen Lage verändert werden.
Dies funktioniert nur, indem das 3D Programm die Projektion immer auf dem "ausgebreiteten Zustand" bezieht.
Hierfür sind die Texturkoordinaten zuständig.
Diese definieren das "Projektionsstadium" also Richtung und Größe der Projektion (UVW).
Die Geometrie definiert die Lage der Flächen im Raum (XYZ).


Das fertig texturierte Objekt wird wieder in seine Ausgangsform gebracht.
Dabei beziehen sich die Texturkoordinaten immer auf den "ausgeklappten" Zustand.

 


Der fertige Quader (wie Ausgangszustand) und die ausgelegten Texturkoordinaten mit der Textur.

In der Praxis wird für das Auslegen der Texturkoordinaten jedoch nicht das 3D-Objekt zerlegt, sondern es wird nur mit den Texturkoordinaten gearbeitet.
Dazu gibt es in jeder 3D-Software eigene Bearbeitungsmöglichkeiten und Werkzeuge.


Beispiel eines Gamecharakters, ausgelegt und texturiert.
Oben: Die zwei Ids mit den Texturkoordinaten und Texturen (unwrap editor in 3ds max).
Unten: Das 3D-Modell

In der Praxis wird für das Auslegen der Texturkoordinaten jedoch nicht das 3D-Objekt zerlegt, sondern es wird nur mit den Texturkoordinaten gearbeitet.
Dazu gibt es in jeder 3D-Software eigene Bearbeitungsmöglichkeiten und Werkzeuge.


Beispiel eines 3D-Echtzeitmodells für eine DirectX-Engine. (Ansicht 3ds max).

Um eine möglichst detailreiche Darstellung zu erreichen werden meist mehrere kleinere Texturen statt einer grossen Textur verwendet.
( 4x1024 Texturen = 1x2048 Textur !!).
Dies verlangt auch nach getrennten UV-Layouts (für jede Textur ein Layout).
Es auch einfacher, die Texturkoordinaten auf mehrere UV-Sets aufzuteilen, und nicht alle in ein UV-Set zu zwängen.
Dabei spricht man von Material IDs. Der Pickup besitzt hier 3 Material IDs.


Pickup, zerlegt in 3 Objekt (-gruppen), ausgelegt, mit Schachbrett-Textur (Dummy-Texture)

 

Pickup, zerlegt in 3 Objekt (-gruppen), ausgelegt, mit Schachbrett-Textur (Dummy-Texture)