UV-Map inklusive Textur neu abbilden (Blender)
Im Artikel Verzerrungsarmes Texturieren einer Kugel in Blender habe ich ein Aufbringen einer Textur auf eine runde Oberfläche beschrieben. Nun stellt sich die Frage, wie sich eine solche Projektion nachträglich noch verändern lässt.
Ziel: UV Remapping in ein anderes Layout
Anwendungsfall: Drucken und Aufkleben. Beim Ausdrucken der Kugelprojektion auf eine Transferfolie ist eine andere Projektion nötig, weil die Folie nicht so elastisch ist und beim Aufziehen auf die Kugel Falten werfen würde. In diesem Fall brauchen wir ausdrücklich Schnittkanten in der Projektion.
Die Projektion muss also inklusive der Textur umgerechnet werden. Der entscheidende Trick besteht dabei darin, einen zweiten UV-Koordinatensatz anzulegen, die Textur über ein Material aufzutragen und dann die Oberfläche mittels der neuen Koordinaten in eine separate Textur zu rendern (mittels „Bake“).
Blender Renderer
Layout anpassen
Für eine bequeme Arbeitsansicht kann man im UV-Editing-Layout bleiben und dem rechten 3D-View-Bereich durch Ziehen der kleinen Rasterecke eine Properties-Ansicht hinzufügen.
Zweite UV Map anlegen
Wähle die Kugel aus und schalte im Properties-Panel auf den Mesh-Bereich. Scrolle runter bis zum Abschnitt „UV Maps“ und füge dort mit Klick auf den +-Schalter eine zweite UV-Map ein. Wähle diese Map aus (blau markiert).
Saum neu definieren
Achte darauf, dass der Edit-Mode aktiv ist.
Markiere das gesamte Mesh (Taste A
).
Öffne in der 3D-Ansicht ggf. das Seitenpanel (Taste T
) und wähle dort den Befehl Clear Seam, so dass die rote „Gürtel“-Kante in der Objektmitte verschwindet.
Hinweis
Wähle nun jede zweite oder dritte Kante vertikal auf der Kugel aus und markiere sie als Saum über den Mark Seam-Schalter.
Neue Projektion erstellen
Markiere das gesamte Mesh (Taste A
) im Edit-Mode.
Wichtig: Stelle sicher, dass die neue UVMap.001 in der UV Maps-Liste markiert ist.
Zeige mit der Maus auf die 3D-Ansicht, öffne das Unwrap-Menü (Taste U
) und führe den Befehl Unwrap aus, um die Projektion entlang der vertikalen Kanten zu generieren.
Kontrolle: Wenn alles richtig ist, dann verändert sich die Projektion im Image Viewer links, wenn Du in der UV Maps-Liste zwischen UVMap und UVMap.001 wechselst.
Material anlegen
Klicke im Image View auf das ×, um die Textur vom Modell zu lösen. Die Kugel erscheint weiß (wenn das Viewport Shading auf Textured steht).
Wechsle im Properties Panel zum Bereich Material und lege ein neues Material an.
Wechsle dann in den Texture-Tab und füge dort eine neue Image or Movie-Textur hinzu.
Klicke im Abschnitt Image auf das kleine Bildsymbol und wähle aus der Liste das bestehende Texturbild aus.
Scrolle runter bis zum Abschnitt Mapping und wähle im Feld Map die erste/alte UV-Textur, UVMap.
Kontrolle: Wenn Du jetzt das Viewport Shading auf Material oder Rendered stellst, sollte die Textur richtig auf dem Objekt erscheinen. Ob Edit- oder Object-Mode spielt aktiv ist, spielt dabei keine Rolle. Eventuell die Ansicht drehen oder die Lichtquelle verschieben, um Schatten auszuleuchten.
Leeres Ziel für das Backen anlegen
Jetzt kommt der entscheidende Moment, das Umbiegen der Textur auf die neue Projektion. Dafür ist es wichtig, dass Du zunächst ein leeres Bild erstellst, in das die neue Version geschrieben wird:
Wähle im Edit-Mode das gesamte Mesh aus. Klicke im Image Viewer auf den +New-Schalter, um ein neues Bild anzulegen. Gib als Name Baked
ein und setze die Breite (Width) und Höhe (Height) auf die Werte unserer vorherigen Textur, z.B. 1024px × 512px. Klicke dann auf Ok.
Achtung
Textur backen
Wechsle im Properties Panel in den Render-Bereich und scrolle runter bis zum Abschnitt Bake. Schalte dort den Bake Mode auf Textures um.
Vergiss nicht, die Datei zu speichern.
Klicke auf den Schalter Bake. Blender rechnet jetzt die Texturinformation aus dem Material in das leere Bild des Meshs.
- Weil wir in der Textur des Materials unter Mapping unsere erste UVMap angaben, wird die Textur wie zuvor auf die Objektoberfläche aufgebracht.
- Weil wir im Data-Tab unter UV Maps aber die UVMap.001 markiert haben, werden diese Koordinaten zum Schreiben in das leere Bild genutzt.
- Dadurch entsteht die Übersetzung von einem Koordinaten-Set in das andere.
Wenn alles geklappt hat, sollte das Bild „Baked“ nun die neue Texturabbildung enthalten. Wähle im View-Menü des Image View-Bereichs den Befehl Save As Image, um das Bild zu speichern.
Im Bake-Abschnitt findet sich eine Margin-Option. Diese sorgt dafür, dass ein Stück über den Rand der Projektion hinaus gezeichnet wird, was oft nützlich ist, um ausgefüllte Farben an den Rändern zu gewährleisten. Du kannst die Option ggf. auf 0
stellen, um den Überlauf komplett auszuschalten.
Zusammenfassung
Durch Nutzung einer zweiten UV-Map und der Bake-Funktion lässt sich eine UV-Abwicklung quasi rückwärts in eine andere Projektion überführen. Im Fall unserer Kugel ließe sich so ein druckbares Schnittmuster erzeugen, um die Textur auf ein reales Objekt zu kleben.