This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

GIMP - Erstellen einer endlos Textur (seamless Textur)
#1
Erstellen einer Endlos (Seamless) Textur


Endlos Texturen sind die Grundlage fast jeder Arbeit für den Simulator, sie dienen zur Texturierung großer Flächen, und ermöglichen die beliebige Skalierung der Textur eines Objektes. Wir treffen Endlos Texturen auf dem Simulatorboden (nur 24Bit!), auf Prims, oder Mesh an.

Das folgende Turorial setzt euch in die Lage aus eigenen Fotos Endlos Texturen zu generieren.
Dazu brauchst du Gimp, das ist kostenlos erhältlich. (Download unter www.gimp.org)
Auf Wunsch könnt ihr das Dokument gerne von mir als Word Datei erhalten, sowie auch das verwendete Muster als JPEG. Sprecht mich Inworld auf Nextlife-world.de an.

Anwendungsfälle:

Endlos Texturen werden gebraucht um gleichartige Strukturen über größere Flächen wiederholt darzustellen. Meistgenutzter Anwendungsfall im Simulator sind die Terrain (Simboden-) Texturen.
Aber auch große Strukturen deren Fläche mit der Maximalauflösung 1024x1024 einer Einzeltextur zu grob dargestellt würde, erfordern Endlos Texturen, ebenso wie Stoffmuster für Kleidung.

Generell gilt: In vielen Anwendungsfällen sieht eine nicht Endlos Textur besser, und realistischer aus. Das Auge erkennt die Wiederholung meist als synthetisch, wenn sie einem bewusst wird.
Daher sollte der Einsatz gut erwogen werden.

An eine endlos Textur werden hohe Anforderungen gestellt. Der Grund dafür liegt im späteren Einsatz Bereich. Dieser geht von einem Draufblick in der Flächen Normalen aus. Dabei darf es über  den gesamten Flächenbereich der Wiederholungen nicht zu auffälligen Rasterungen, periodischen Störungen, ungleichen Entfernungs- Eindruck, ungleichen Schärfe Eindruck, etc. kommen.

Das setzt die Verwendung geeigneter Vorlagen, sowie entsprechender Nachbearbeitung voraus.
Am Besten gelingt jedoch eine Endlos Textur wenn sie voll Synthetisch erstellt wird. Ich werde darauf später eingehen.


Bildvorlage und Aufnahme:

Bilder für Endlos Texturen müssen in der Regel extra dafür geplant erstellt werden.
Nur so können die unzähligen Anforderungen möglichst gut erfüllt werden.

So kann dies bei der Aufnahme bewerkstelligt werden:

- Farbe: Das Motiv muss gleichmäßige Muster aufweisen, oder sehr sanfte Strukturen haben. Wichtig ist die Vermeidung von Farb-Verläufen wie diese bei ungleicher Ausleuchtung entstehen.

- Fehlen markanter Störungen: markante Muster, deren Wiederholung heraussticht sind möglichst zu meiden oder in der Bearbeitung durch Überdeckung mit neutraleren Bereichen zu retuschieren.
Unregelmäßigkeit wiederholender Strukturen meiden, da daraus bei Wiederholungen Regelmäßigkeiten werden.

- Helligkeit: Bei Makro-/Nah- Aufnahmen sollte die Beleuchtung Ringförmig angebracht werden.
Schattenfälle sind zu meiden. Auch die Randbereiche von Linsen, die sich auf die Bildränder auswirken haben andere Helligkeit. Es empfiehlt sich daher bei ausreichender Auflösung der Vorlage nur die Mitte des Bildes zu verwenden.

- Skalierung:
Maßgeblich für die Schärfe der Textur ist die verwendete Skalierung. Da die hohe Kamera Auflösung ein vielfaches der notwendigen Textur Auflösung ist, muss herunter skaliert werden. Dabei wird zwangsläufig Information weggelassen. Je höher der Skalierungsfaktor ist, desto mehr Information geht dabei verloren. Es kommt nach Nyquist/Shannon zur Unterabtastung, und damit zu sichtbaren groben Störungen. Als Beispiel sein feine nebeneinander liegende schwarz/weiße Linien genannt, die je nach Bearbeitung fleckig werden oder zu grau verschwimmen. Abhilfe bringt hier nur der Ausschnitt eines Mitten Bereichs der Vorlage, damit nicht zu stark skaliert werden muss.

- Schärfe:
Gleichmäßige Schärfe ist erforderlich, da die gesamte wiederholte Fläche im Einsatz später gleich scharf sein muß. Gleichmäßige Scharfe erfordert eine Fotografie in der Normalen zur Fläche!
Außerdem müssen die fotografierten Gegenstände gleich weit von der Kamera entfernt sein.
Auch hier ist die unter Skalierung beschriebene Auswahl der Foto Mitte von Vorteil: Nur der scharfe Mittenbereich der Kamera Linse wird genutzt.

- Projektion aus Sicht der Flächen Normalen: ( also alles gleich weit weg, und die Kamera wird ohne Fehlwinkel auf die Vorlage ausgerichtet)
Zunächst entfällt damit die sonst notwendige Trapez Verzerrung in der Nachbearbeitung, um Parallele Strukturen wieder herzustellen. Dies wirkst sich unmittelbar auf die Textur Schärfe aus, da Interpolationen entfallen.


Bild Vorbereiten

Die nachfolgende Beschreibung bezieht sich auf das kostenfrei zur Verfügung stehende Gimp (2.8.14), und für das es Normal Map Plugins gibt, die wir später verwenden werden. (Download unter www.gimp.org)

Als Arbeits-Vorlage nehmen wir das Bild IMG_2779 das in einer Auflösung von 5184x3456 vorliegt. Als Übungsaufgabe werden wir es nur in der X-Richtung als Endlos Textur machen.
Ich werde aber an entsprechender Stelle darauf hinweisen wie einen X/Y Endlos Textur entsteht.

Zunächst wird das Bild vorbereitet um einen geeigneten verzerrungsfreien Ausschnitt zu erstellen.

Dabei hat sich folgendes Vorgehen bewährt:


1. Bild entzerren:

Arbeits-Schritte: An den oberen Rändern der Arbeitsfläche auf die Lineale klicken und 2 waagrechte Hilfslinien herausziehen. Dies werden jeweils so an den grauen Granit Sockel angelegt, das die Linien die grauen Granit Leisten nur Ansatzweise berühren. Wir werden später den Bereich zwischen diesen Linien auseinander ziehen/vergrößern bis der Weg den gesamten Zwischen Bereich der Linien ausfüllt.

Das gleiche mit 2 Senkrechten Linien machen die aus dem linken Lineal herausgezogen werden.
Es geht dabei noch nicht um den zu verwendeten Bildausschnitt, sondern möglichst im Bild senkrechte Strukturen zu finden, an denen man sich orientieren kann.

   

Mittels Trapez Korrektur das gesamte Bild in der Original Auflösung an die Hilfslinien anpassen
(Werkzeug – Transformation – Perspektive)  oder das 4. Symbol links Unten im obigen Bild verwenden.

Nun an einen  Kreuzungspunkt der Rasterlinien klicken (z. Bsp: Unten rechts)
es wird ein weißes Rasternetz über das Bild gelegt. Dieses stellt die Koordinaten des Originals vor der Veränderung dar.
Mit der Maus mehrfach an die Kreuzungspunkte klicken und mit gedrücktem Mauszeiger das Bild verschieben.

Diese Aktion solange wiederholten bis die Bildstrukturen zu den Hilfslinien parallel laufen.
Mit Transformation wird die Auswahl beendet, und die Einstellung übernommen.
Gefällt das Ergebnis ist nun ein guter Zeitpunkt das Projekt zu speichern. Ansonsten mittels „Bearbeiten – Rückgängig: Perspektive“ zurück auf Los.


2. Bild zuschneiden



Nun das Bild auf den gewollten Bereich beschneiden

Dabei dienen die bereits vorhandenen Hilfslinien in Y-Richtung als Fangpunkt für das Markier Werkzeug (Werkzeuge – Auswahl Werkzeuge – Rechteckige Auswahl)

Die X Schnittlinien wählen wir nach Bildinhalt. Wir versuchen diese auf eine der senkrechten Splitfugen zu legen, damit die fertige Textur an den Fugen getrennt wird. Den Bereich ganz rechts sparen wir aus, weil die Steine nasser wirken. Ebenso beschneiden wir Links.
 

   

(Bild – Auf Auswahl zuschneiden)

Nun bleibt der Bildinhalt innerhalb der weisen Markierung übrig. Das Bildmaß ist bei mir auf 2553x1518 geschrumpft. Was grob auf eine 5:3 Textur herausläuft. Speichern ist nun sinnvoll.


Erstellen der Endlos (Seamless) Textur

Zunächst wird das Bild nun um die Hälfte der X Größe verschoben. (Bei X/Y Endlos Textur in beide Richtungen um die Hälfte verschieben)

Ich nehme dazu das gleiche Werkzeug das für X/Y zur Anwendung kommt.
(Ebene - Transformation – Versatz)

Nun auf „Versatz um (X/2),(Y/2) gehen. Nun steht bei mir X: 1776, Y:759 als Vorgabe drin. (Bei euch kann der Wert abweichen). Diese wäre korrekt wenn wir in X und Y die Textur endlos machen wollten. Für uns reicht X/2, weswegen ich in das Y Feld 0 eintrage.

Wichtig ist das das Kantenverhalten auf „Falten“ steht. Dieses ist ein Endlos Modus der herausfallende Pixel am anderen Rand wieder einfügt.
Nun mit Versetzten die Transformation durchführen.

   

Das Ergebnis ist schon gar nicht so schlecht. Bearbeitung braucht nun die senkrechte Schnittlinie in der Bildmitte. Starke Störungen zeigen die grauen Randsteine durch falsche Fugen.

Wir bleiben absichtlich in der nativen Bildauflösung bis die Bearbeitung fertig ist! So vermeiden wir störende Verluste, da sich die Fehler auf Pixelebene bewegen, und später bei der Skalierung mit „gesunden“ Pixeln gemischt und verblendet werden.
So erhalten wir die bestmögliche Schärfe der Textur.

Nun ist es hilfreich die Schnittline mit einer Hilfslinie zu Markieren, um sie nachher in der bestmöglichen Vergrößerung leicht wieder zu finden. Ich lege dabei absichtlich die Hilfslinie leicht daneben, um frei Sicht auf den Schnitt zu behalten.

Nun den Arbeitsbereich durch herein zoomen vergrößern. Bei mir war  ( Ansicht - Vergrößerung – 50 Prozent) die richtige Einstellung. Ideal ist die 100% Einstellung bei großem Monitor, da dann jedes Pixel unverfälscht gezeigt wird.

Ich fange nun mit den Fugen der grauen Granit Steine an. Dazu wähle ich eine andere Fuge, die ich kopieren will. Ich entscheide die 2. Fuge links neben dem Schnitt für die untere Kante zu nehmen.

Nun wähle ich den Kopier Stempel aus ( Werkzeuge – Malwerkzeuge – Klonen).

Mit dem Mauszeiger nun über die gewünschte Vorlage fahren, und die Größe des Kopierstempels prüfen. Über Fenster – Andockbare Dialoge – Werkzeug Einstellungen kann der Kopierstempel angepasst werden. Der Vorgabewert von 20 Pixeln ist in diesem Fall zu klein. Für die Fugenbreite erscheint 30 Pixel angemessen.

Nun mit dem Cursor auf den Kopier Ursprung fahren die Control Taste gedrückt halten, und mit der linken Maustaste die Position anklicken.

Auf den Zielpunkt fahren und mit dauerhaft gedrückter linker Maustaste die Fuge und die angrenzenden Ränder kopieren.

Analog mit dem anderen Rand und dem Split an der Mittelfuge verfahren. Dabei den gesamten Split der Mittelfuge ersetzen. Mit loslassen der Maustaste springt der Ursprungs Cursor wieder an die Ausgangsposition der Kopiervorlage. So lassen sich größere gleiche Zielbereiche als die Vorlage erstellen.

Tipp: es macht sich nicht gut immer von der gleiche Stelle zu kopieren, das sieht man später.

Müssen Steine repariert werden können verschiedene ganze Steine andere Stellen genommen werden. Diese Vorlage ist sehr unkritisch dafür. Hier reicht es bei glücklicher Wahl der Schnittlinie nur den Split der Fuge zu ersetzen. Meistens sind jedoch größere Änderungen notwendig. Dann sollten größere Bereiche unregelmäßig über die Schnittlinien kopiert werden.

Abzuraten ist die Deckkraft unter 100% zu stellen. Das ergibt Unschärfe durch die Mischung.

Wenn die Arbeit zufriedenstellend beendet ist, erfolgt die Rücktransformation an dir Ursprüngliche Bildposition. (Ebene - Transformation – Versatz)  „Versatz um (X/2),(Y/2) mit Falten. Und Y in unserem Fall wieder auf 0 setzten.

Nun ist Speichern angesagt, die Textur ist nun fertiggestellt.

Wer plant ein Textur Archiv in bestmöglicher Qualität zu führen, sollte das nun entstandene Gimp .xcf File archivieren. Ein anderer Ansatz wäre die Speicherung in gängigen Formaten, und doppelter Auflösung wie derzeit benötigt.

An dieser Stelle würde die Erstellung einer Normal Map erfolgen. Auf die ich gesondert eingehen werde.


Textur zum Export für vorbereiten

Für die Nutzung im derzeitigen Simulator ist die vorliegende .xcf Datei nicht geeignet.

Der aktuelle Simulator kann .png, .tga und , jpg Dateien importieren, die in das interne jpeg2000 Format gewandelt werden.
Für Simulator Boden Texturen sind 24Bit Texturen erforderlich.

Zur Texturierung von Prims, Mesh etc. können zudem auch 32 Bit Texturen genutzt werden.
Das maximale zu importierende Format sind 1024x1024 Pixel.

Die Dateiformate .PNG und .TGA können Transparenz Informationen speichern und an den Simulator weiterleiten, und arbeiten weitestgehend qualitativ Verlustfrei .

Die .TGA Datei kann als einziges Format Oberflächen Rauigkeit in Form einer BumpMap speichern und importieren.

.Jpg ist die schlechteste Variante, da ihre Datenreduktion das Bild sichtbar beeinträchtigt.
Auch sonst zeigt das Format keine Stärken, außer der hohen Verbreitung. Der geringen Datenmengen Verbrauch bei der Übertragung im Internet ist heutzutage kein Argument mehr.


Fazit:

Das PNG 32bit Format bietet die beste Basis zum Archivieren wie auch Importieren, und ist zu bevorzugen.


Textur exportieren:

mit  Bild – Bild Scalieren – das Auflösungs Fenster öffnen.
Solange das Verkettungs Symbol rechts neben Breite und Höhe aktiviert ist, wird die X und Y Größe synchron verändert. Also die Verkettung lösen.

Für Texturen passt das meist nicht, da bestimmte Vorzugsgrößen für den Simulator gewünscht werden. Das sich die Y und Y Auflösung unproportional dabei verstellt ist im Simulator nicht bedeutend, das die Skalierung von der Größe der texturierten Fläche und der eingestellten Wiederholrate abhängt.

Als Vorzugsgrößen sind wegen des performanteren Handlings der Grafikkarte 2er Potenzen als Kantenlänge zu bevorzugen.
Tabelle Vorzugsgrößen:  1024 / 768 / 512 / 384 / 256 / 192 / 128 / 96 / 64 / 32

Die Wahl der Texturgröße sollte dabei nach der Größe der sichtbaren Fläche und dem normalen Betrachtungsabstand erfolgen. So wird verhindert das Texturen beim Betrachter gepixelt aussehen.

Bei Bauprojekten am besten ausprobieren. Sieht man den Unterschied zwischen Hochauflösender und Normal Textur nicht, kann die kleinere verwendet werden.

Wir erstellen nun eine Hochauflösende (Breite 1024, Höhe 512)
und einen Normal Textur ( Breite 768, Höhe 384), und speichern beide als PNG ab.

Bitte danach nicht das Projekt abspeichern da sonst das hochauflösende Archiv zerstört wird.

Frage zur Optimierung: Wie stark müssen Texturen minimiert werden, und was ist zulässig?
Nun das hängt eigentlich nur von den Grafikkarten der User ab. Diese haben einen Grafikspeicher der gemeinsam für Grafik Berechnung und Texturen genutzt wird. Zudem können Windows Rechner auch Teile des Arbeitsspeichers für Texturen nutzen.

Rechner die nur eine integrierte Intel CPU Grafik verfügen, haben überhaupt  keinen eigenes Grafik Ram. Sie sind für den Office Gebrauch vorgesehen. Um bei dem Simulator vernünftige grafische Ergebnisse zu erzielen kann auf Office Rechner keine Rücksicht genommen werden.

Als vernünftige Orientierung sollte derzeit (Update 2021) 4Gigabyte Grafikspeicher vorausgesetzt werden. Davon stehen mindestens 512 Mbyte für Texturen zur Verfügung.


Für die Optimierung spielt daher Deduplizierung eine größere Rolle. Das bedeutet das für alle Flächen / Objekte einer Sim bei gleicher Texturierung – auch nur die Textur mit gleicher UUID verwendet wird.
Der Simulator sieht nämlich nicht den Inhalt der Textur, sondern lediglich dessen UUID.
Auch macht es keinen Sinn die gleiche Textur mal Hochauflösend und mal kleiner einzusetzen. Effizienter ist es die gleiche hochauflösende Textur überall zu verwenden.


Terrain Textur erstellen und exportieren:

Terrain Texturen sind eine Sonderform von Endlos Texturen.

Sie müssen 24Bit Farbtiefe haben. Es ist vorteilhaft die als TGA in den Simulator zu importieren weil man so eine Bumpmap (Rauigkeits Information) dem Terrain mitgeben kann.

Terrain (Sim Boden) Texturen unterscheiden sich von den normalen Texturen in folgenden:

1. Man kann sie in der Sim nicht frei skalieren. Daher ist es eine Try und Error Geschichte die richtige Auflösung des Bildinhalts zu ermitteln. Beispiel: Sichtbarkeit von Rasen Halmen.

2. Die Wirkung der Textur Pixeligkeit hängt noch stärker als sonst von der Textur Auflösung ab. Daher unbedingt die maximale Auflösung 1024x1024 verwenden! Da diese 4 Texturen überall zu sehen sind, und entscheidend zum Eindruck der Sim beitragen, ist es falsch hier Speicher sparen zu wollen!

3. Die Anzahl der Wiederholungen der Textur ist vor allem bei weitem rauszoomen sehr stark sichtbar. Daher ist besonders auf die Gleichmäßigkeit des Bildinhaltes zu achten, da sonst regelmäßige, stark störende, schachbrettartige Muster entstehen.

4. Terrain Texturen werden bei großen Steigungen teilweise arg gestreckt. Daher ist das Motiv in Kombination mit der Geländestruktur für den Erfolg entscheidend. Bewährt haben sich Bildinhalte mit geringen Kontrast. Da fallen diese Effekte weniger auf.

5. Die Eigenart der Texturierung des Simulator Bodens erlaubt nicht die Verwendung von Materials, oder separaten Normal Maps. Da jedoch das TGA Format Verwendung findet, kann man den Simulator austricksen und dennoch Höhen Struktur Informationen mitgeben. Dazu verwendet man in Gimp den Befehl „Filter – Abbilden – Bump MAP“. Bitte aber vor dem Ausprobieren das Projekt abspeichern und die Arbeitsebene kopieren. Dann nur jeweils mit einer Kopie arbeiten.

Hintergrund: Die mit der Filterfunktion erzeugbaren Effekte sind nicht planbar, und Vorlagen Abhängig! Daher mehrere Einstellungen probieren, exportieren, und im Simulator die Wirkung ansehen. Auch sehr nahe herangezoomt ansehen, da manche Bump Maps das Bild stark mit Block Artefakten zerstören.


Viel Spaß


Tron
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste