Texturierung
Oktober 2002 by Michael Brempel
Email | Homepage

Einleitung
In diesem Tutorial möchte ich versuchen zu zeigen, wie man aufwendigeren Modellen wie zB Figuren, die nicht einfach planar oder zylindrisch gemappt werden können, klare Texturen zuweisen kann.
Diese Methode verwendet 3d-StudioMAX(engl.Version). Das kostenlose Plugin Texporter ist sehr hilfreich aber nicht unbedingt notwendig. Diese Methode ist auch gut für Low-Poly-Echtzeit-Modelle zu verwenden, da wir am Ende eine Bitmaptextur bekommen werden.





1. Mesh vorbereiten
Zunächst sollten wir einige Vorbereitungen an unserem Mesh durchführen. So sollte unser Objekt zB aus einem zusammenhängenden Mesh bestehen. Über Attach und den Modifier STL-Check gelingt das relativ schnell. Anschließend sollten wir den Modifier-Stack collapsen, so dass wir nur noch EditableMesh dort stehen haben. Wenn wir symmetrische Teile haben, die genau gleich texturiert werden sollen wie zB rechter und linker Arm, Bein können wir einen löschen und sparen uns dadurch die doppelte Texturierung. (Habe ich hier jedoch nicht gemacht)
So...dann kann es also losgehen :o)


2. Mesh auslegen
Als erstes wenden wir den Modifier EditMesh auf unser Objekt an. Vielleicht fragst Du Dich was das soll? Nun...dieser Vorgang ist ganz essentiell, da wir später alle Vorgänge, die wir innerhalb dieses Modifiers vorgenommen haben, ausblenden können.
...doch nun an die Arbeit. Wir wechseln in den Subobjektmodus "Polygon" und "detachen" geeignete Stücke aus dem Mesh heraus. Es ist immer geschickt sich vorher Gedanken zu machen, wie man was detachen möchte. Bei Kleidungsstücken ist es zB oft sinnvoll, wenn man die natürlichen Kleidungsnähte als Vorlage nimmt. "Ignore backfacing" ist hier Gold wert...ebenfalls geht es oft schneller zunächst mehrere Polygone zu markieren und diejenigen, die man dann nicht möchte mittels 'Alt + Klick' zu demarkieren. Im detach-Meldungsfenster verwenden wir "detach to element". So zeschneiden wir das ganze Mesh in geeignete Segmente, die wir dann so anordnen, dass sie mit der sichbaren Fläche in der Front-Ansicht sichtbar sind. Falls beim Verschieben eines detachten Elementes Verzerrungen auftreten, dann einfach das Detachen unter einem neu angelegten EditMesh-Modifier weiterführen. Nun müssen wir noch die sich überlagernden und schlecht sichtbaren Polygone besser anordnen. Ziel ist es möglichst alle Polygone mit der sichtbaren Seite in der Frontansicht zu sehen. Je größer die Fläche des Polygons, desto mehr Details können wir darauf darstellen. Am besten geht man hier durch Punktverschiebung und -skalierungen vor. Softselection im Punktmodus leistet hier sehr wertvolle Dienste...vor allem die "Edge-Distance"-Einstellung kann man hier gut gebrauchen. Für den Vorgang des Mesh-Auslegens sollte man ausreichend Zeit zur Verfügung haben :o) Auch das Zwishenspeichern nicht vergessen!
Hat man das Mesh soweit ausgelegt kann man damit beginnen aneinandergehende Stücke nebeneinander anzuordnen und zusammengehörige Punkte mittels des 3d-Snaps "Vertices" zu überlagern und dann zu verschweißen. Je weniger Einzelstücke es sind, desto weniger Nahtstellen müssen wir später wegtunen. Eventuell kann man das Mesh nun noch flatten...plattmachen...ist meiner Meinung aber nicht notwendig.
Sind wir soweit zufrieden, können wir uns den nächsten Schritten widmen.


3. UV-Koordinaten zuweisen
Aufgrund unserer Vorarbeit ist dieser Abschnitt ganz schnell erledigt :o)
Wir wenden einfach die Modifier UVW-Mapping und UnwrapUVW auf das Mesh an. Als UVW-Gizmo verwenden wir planar und orientieren ihn so, dass er parallel zum Frontfenster steht. Den UnwrapUVW-Modifier benötigen wir um die Texturkoordinaten später 'festzuhalten'.
4. Template-Textur erstellen
Wir haben nun zwei Möglichkeiten eine Template(Vorlagen)-Textur zu erstellen. Zunächst die etwas unelegantere Screenshot-Methode, wo wir einen Screemshot des Frontview- oder des Unwrap-Editor-Fenster nehmen und dann zurechtschneiden.
Die zweite Methode mittels Texporter ist etwas eleganter. Wenn installiert, finden wir Texporter unter Utilities -> More. Die Image-Size stellen wir zB auf 1024x1024, PolygonFill und BackfaceCull deaktivieren wir, AllLines aktivieren wir und Colorize sollte auf constant gestellt werden. Über MaskOverlay können wir uns sich überlappende Stellen farbig markiert ausgeben lassen. Nun über Pickobject das Mesh auswählen. Das erstellt Bild speichern wir zB als 'name_template'.

5. Vortests
Das Template-Bild laden wir nun wiederum in 3d-Studio als diffuse-Textur und weisen das Material dann unserem Mesh zu. Weitere Einstellungen am Material sollten sein: SelfIllumination=100; AmbientColor=black; SpecularColor=white; Shadertyp=Blinn.
Nun kommt der erste große Augenblick... Wir deaktivieren die Lämpchen neben den EditMesh-Modifiern im Modifier-Stack...und...hossa das Mesh springt mit den neuen Texturkoordinaten in seine ursprüngliche Form zurück! Nun schauen wir uns das Wireframe-Mapping genauer an und suchen nach unsauberen verzerrten Stellen. Diese können wir dann wenn nötig nochmal nachbearbeiten, indem wir die Lämpchen wieder anklicken und die Punkte etwas nachverschieben. Über Texporter lassen wir uns dann ein neues Template-Bild ausgeben.
Fallen uns keine weiteren Ungenauigkeiten mehr auf, sollten wir mit einem 2d-Programm die einzelnen Meshteile unteschiedlich farbig markieren und das Bitmap zB als 'name_vortest' abspeichern und nun auf unser Mesh mappen. Wir sollten uns rausschreiben, welche Teile nun wo im Bitmap liegen...nicht dass wir später merken, dass wir die Rückseite mit der Vorderseite verwechselt haben ;o)


6. Textur erstellen
In einem 2d-Programm zeichnen bzw erstellen wir mittels Referenzmaterialien durch Stempeln, Verwischen und Verzerren die Oberflächen der Meshteile auf dem Template-Bild. Umentbehrlich ist hier das Verwenden mehrerer Ebenen. Die fertige Textur speichern wir zB als 'name_diffuse'. Der Vorgang Bild ändern, speichern, in 3d-Studio laden, prüfen,... lässt sich oft wiederholen :o)
Anschließend können wir die Nähte jedoch auch noch über den UVW-Editor nachtunen.
Um die Textur-Vorschau im Viewport zu verbessern kann man im Viewport-Display-Treiber (Customize -> Preferences -> Viewport) in Max die "Download-Texture-Size" höher einstellen.


7. Fin
Sind wir nun zufrieden können wir den Modifier-Stack mit den ausgeknippsten Lichtern einfach collapsen. Die neuen Texturkoordinaten und die Ausgangsform bleiben erhalten. Selbstverständlich können über UnwrapUVW die Texturkoordinaten nachbearbeitet werden. Was nun noch bleibt ist die eventuell zuvor gelöschten Objektteile durch Spiegeln und Punktverschmelzung wiederherzustellen.

Ich hoffe Du bist mit dem Ergebnis zufrieden :o)


Viel Spass weiterhin...
Michael 'Mechiil' Brempel