|
|
-
[Tool] GoTex
| [Bild: Logo.png] |
GoTex ist ein Tool, mit dem man Bilddateien
zu Texturen für Gothic konvertieren kann.
Klingt nach einem alten Hut, aber... |
Neue Features
- neben TGA können auch weitere Formate wie BMP, PNG und JPG verarbeitet werden
- bessere Qualität als der interne Konverter von Gothic oder GoMan
- Unterstützung für eigene Mipmaps, welche eine neue Dimension der gestalterischen Möglichkeiten eröffnen
- Beachtung der bekannten Path Hints wie "NoMip" und "24bit" sowie "32bit"
Verwendung
- Man kann GoTex einfach in das Verzeichnis "[Gothic]\_Work\Data\Textures" verschieben und dort ausführen, es legt die konvertierten Texturen dann im Unterordner "_Compiled" ab.
- Über die Parameter "--input" und "--output" lassen sich das Eingabe- und Ausgabeverzeichnis auch manuell festlegen.
GoTex durchsucht dabei stets alle Unterordner des Eingabeverzeichnisses und behält auch im Ausgabeverzeichnis dessen Struktur bei.
Weitere Parameter sind bisher nicht implementiert, allerdings bin ich für Vorschläge offen. - Um GoTex mitzuteilen, dass es sich bei einer Bilddatei um eine Mipmap handelt, muss dessen Name auf "_M0" bis "_M99" enden.
Gültige Beispiele wären also "OwOdFlGrassDa_M0" oder auch "Waterfall_A0_M1" – die Dateiendung bitte dazu denken.
Downloads
Beispiel
Wie war das doch gleich, was für eine neue Dimension? Dazu muss ich kurz ausholen. Eine Textur besteht technisch gesehen aus so genannten Mipmaps, manchmal nur einer aber in aller Regel mehreren.
Dabei handelt es sich um kleiner skalierte Versionen derselben Textur. Welche Mipmap im Spiel zur Darstellung genutzt wird, hängt dabei von der Entfernung zur Kamera ab.
Die Mipmaps werden üblicherweise von 0 an durchnummeriert. Die Textur in ihrer Originalgröße ist daher synonym zu Mipmap 0.
Die Mipmap 1 ist die erste eigentlich Mipmap und hat die halbe Kantenlänge, die Mipmap 2 hat ein Viertel der Kantenlänge und so weiter.
[Bild: Example.png]
Einfach gesagt besteht die neue Gestaltungsmöglichkeit nun darin, dass eine Textur sich je nach Entfernung zum Spieler verändern kann:
- Ein Goldschatz, der sich beim Näherkommen in Stein verwandelt.
- Kristalle oder Pflanzen die Aufleuchten, wenn der Held sich ihnen nähert und so eine magische Aura symbolisieren.
- Ein Gemälde, das beim Herantreten die wahre Natur des Abgebildeten enthüllt.
- Ein Labyrinth, in dem der Held von einem mysteriösen Leuchten oder einem dunklen Schatten verfolgt wird.
- Ein versteckter Eingang wie eine mit dichtem Efeu bewachsene Wand, welches durchsichtbar wird, wenn der Held sich nähert.
Hier mal ein Beispiel, welches das Mipmapping zusätzlich noch mit einer Animation kombiniert:
[Video]
Danksagung
Vielen Dank an flosha für das Erstellen des Level-Mesh der Demo und seine Zeit. 
Häufige Fragen
- Sieht die Textur überall gleich aus?
- Die Darstellung im Spiel wird durch die Grafikkarte, die Version des Treibers und dessen Einstellungen sowie den Renderer (D3D7/8 oder D3D11) beeinflusst. Als Faustregel kann man sagen, dass der Effekt immer derselbe sein wird, nur bei welcher Entfernung welche Mipmap dargestellt wird, ist ggf. unterschiedlich.
- Inwiefern ist die Qualität besser?
- GoTex nutzt beim Skalieren den Lanczos-Filter, während andere Tools nur einen Box-Filter verwenden.
- Warum ist die EXE Datei so groß?
- GoTex nutzt mehrere Tools und bringt diese gleich selbst mit. Dabei handelt es sich um ffmpeg, nvDXT und dds2ztex.
- Auf welcher Technologie basiert GoTex?
- Es ist eine in C# geschriebene Konsolenanwendung auf Basis von .NET Framework 4.7.2, sollte also auf jedem aktuellen Windows ohne zusätzliche Komponenten lauffähig sein.
- Was ist das denn für ein merkwürdiges Logo?
- Ich habe mich dabei von GoMan inspirieren lassen.

- Warum hat das Tool keine grafische Benutzeroberfläche?
- Zu viel Arbeit, zu geringer Mehrwert.
- Wieso sind die TEX Dateien in der Demo horizontal gespiegelt?
- Weil ich unfähig bin, das UV-Mapping des Spiegels in Blender anzupassen.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
Geändert von ThielHater (12.10.2022 um 20:42 Uhr)
-
Das klingt alles wirklich sehr interessant. Vielen Dank fürs teilen. 
Besonders die neuen Möglichkeiten verursachen bei mir gerade so ein leichtes Kribbeln. 
Ich hätte aber doch noch mehrere – zugegeben - sehr spezielle Fragen, da ich mit komplett eigenen Texturen arbeite.
Du schreibst, die Endung muss 0 bis 99 sein. Ist das so richtig? Meine MipMap-Texturen liegen nämlich im vierstelligen Bereich.
Vermutlich könnte ich dieses Tool auch nur für die von dir dargestellten „speziellen“ Anwendungen nutzen? (Erste Frage), aber die bessere Qualität mittels Lanczos-Filter würde mich schon reizen.
Ich habe mir Tool und Demo bisher nur auf die FP geschaufelt, aber noch nicht angesehen. Sollten meine Fragen also durch das Tool selbst beantwortet werden, reicht ein Hinweis darauf auch aus.
Die zweite Frage: Sind 99 MipMap-Texturen tatsächlich das Maximum? Oder sind die 99 als Höchstmaß für eine animierte Textur zu verstehen und „normale“ + NormalMap-Texturen können unendlich eingelesen werden?
Dritte Frage: Falls nicht, halbieren sich dann die 99, da ja auch die NormalMaps mit MipMaps arbeiten?
Vierte Frage: Kann ich dieses Maximum irgendwie umgehen, um dein Tool inkl. Lanczos-Filter für mehrere tausend Texturen trotzdem nutzen zu können?
Viele Fragen. Ich weiß.
Aber dein Tool klingt für mich recht spannend.
Das Sythera-Mod-Team sucht derzeit nur noch einen weiteren netten Kollegen / Kollegin zur Erstellung von Gebäude-Meshs. Weitere Infos in der Jobbörse.
-
 Zitat von OldCoin
Das klingt alles wirklich sehr interessant. Vielen Dank fürs teilen. 
Besonders die neuen Möglichkeiten verursachen bei mir gerade so ein leichtes Kribbeln.
[...]
Mipmaps sind normalerweise dafür gedacht, Resourcen zu sparen und Texturen in der Ferne noch "gut genug" darstellen zu können
z.b. sieht ein Baum in der Nähe sehr "scharf" aus, hat Kanten, vielleicht sogar normalmaps und Bumpmaps.
in 30m Entfernung kann man davon aber nichts mehr erkennen und auch die "scharfen Kanten" sehen jetzt eher wie Texturfehler aus.
Mit Mip-maps kann man hier aushelfen, da die texturen immer kleinere versionen haben die auf entsprechende Entfernungen automatisch ausgewählt werden.
Das wird von allen Videospielen verwendet, ansonsten würde der Grafikspeicher immer sofort 100% voll sein und platzen.
Es ist keine "Animations"-Technologie.
Oft wird das auch von Videospielen benutzt um sowas wie "Texturen Niedrig-Mittel-Hoch" einstellen zu können, wo das Level entsprechend das Maximum der Mipmap angibt (Niedrig wäre entsprechend Textur[2], Mittel Textur[1] und Hoch Textur[0], wie in der Programmierung)
Texturen mit LOD (level of Detail) benutzen das genau so.
Geändert von Kirides (12.10.2022 um 12:03 Uhr)
-
 Zitat von OldCoin
Ich hätte aber doch noch mehrere – zugegeben - sehr spezielle Fragen, da ich mit komplett eigenen Texturen arbeite.
Ich denke, dass all deine Fragen sich klären, wenn ich folgendes Missverständnis auflöse: Die 99 Mipmaps sind pro Textur zu verstehen. Die tatsächliche Obergrenze ist übrigens 12 und das liegt daran, dass 4096 Pixel bei Gothic soweit ich weiß die maximale Kantenlänge für Texturen ist. Da jede Mipmap die halbe Kantenlänge der vorherigen Mipmap hat, kommt man bei 4096 Pixeln auf 12 Mipmaps, danach wäre die Kantenlänge kleiner 1 Pixel.
Ich habe zu dem Thema schon mal was gebloggt, diese ausführliche Version ist dem Verständnis bestimmt zuträglicher. 
Wenn man das mal in einem größeren Kontext sieht, so bestehen Texturen heutzutage aus einer ganzen Reihe an Maps. Was man in Gothic als Textur bezeichnet, ist eigentlich die Diffuse oder auch Color Map. Die wiederum besteht aus mehreren Mip Maps. Dasselbe gilt übrigens auch für die Normal Maps, welche seit dem D3D11 Renderer genutzt werden können. An der Stelle wird aber glaube ich nur DDS unterstüzt. Ich müsste GoTex ein bisschen anpassen, damit es anstatt TEX auch DDS ausgibt. Das wäre aber nur ein geringer Aufwand. Die ganze Konvertierung ist mehrstufig und läuft wie folgt ab: TGA/BMP/JPG/PNG => TGA => DDS => TEX. Da müsste bloß ggf. der letzte Schritt übersprungen werden.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
Geändert von ThielHater (12.10.2022 um 20:19 Uhr)
-
 Zitat von Kirides
.....
Vielen Dank für deine Ausführungen. 
Allerdings sind mir diese Fakten nicht unbekannt. Ich bin nur über diese ominöse Zahl 99 gestolpert. Die hat mich irgendwie völlig verrückt gemacht, da ich sie mir absolut nicht erklären konnte. 
Daher war gestern mein erster (Schnellschuss-!) Gedanke: Die Limitierung auf 99 könnte bspw. u.a. durch animierte Wassertexturen begründet sein. Also 9 zusammenhängende 2K-Wassertexturen der gleichen Art a´ 11 MipMaps gleich 99. Rest: siehe unten.
 Zitat von ThielHater
Die 99 Mipmaps sind pro Textur zu verstehen. Die tatsächliche Obergrenze ist übrigens 12 ...
Das war der Knackpunkt.
Genau über diesen Widerspruch bin ich gestolpert und hatte ihn überhaupt nicht verstanden. Warum 99, wenn die gar nicht erreicht werden können? Daraus entstanden dann meine Fragen.
Da ich überwiegend 1K-Texturen nutze, ist nunmal bei 10 (also weit weg von 99) MipMaps Schluss.
2K nutze ich ausschließlich für „Gebackene Texturen“ und 4K überhaupt nicht.
Deinen Blog schaue ich mir trotzdem noch an. Ist sicherlich sehr interessant. 
 Zitat von ThielHater
Die ganze Konvertierung ist mehrstufig und läuft wie folgt ab: TGA/BMP/JPG/PNG => TGA => DDS => TEX. Da müsste bloß ggf. der letzte Schritt übersprungen werden.
Das ist richtig. Die NormalMaps werden in Gothic als dds abgespeichert. Insofern müsste bei den NormaMaps nur die letzte Umwandlung von dds zu tex entfernt werden.
Derzeit nutze ich dafür einen sehr frickeligen Generator und anschließend Blender. Andererseits nutze ich oft sehr unterschiedliche Einstellungen (je nach Textur), also unterschiedliche Filter (Sobel, Blur, Prewitt, usw.), Strength, Level, Invert X oder Y, Hervorhebung der Z-Achse usw. Denn bei einer Holztextur wende ich andere Einstellungen an als bspw. bei einer Felstextur. Insofern frage ich mich soeben, ob die Erweiterung auf die NormalMaps überhaupt Sinn machen würde? Denn NormalMaps sind schon etwas anderes und aufwendiger als Diffuse-Texturen.
Sollte das trotzdem leicht zu bewerkstelligen sein (und auch zu guten Ergebnissen führen), würde ich mich über diese kleine Erweiterung sehr freuen.
Artet es jedoch in Arbeit aus, dann lass es gerne bleiben. Bisher bin ich ja auch so recht gut klar gekommen.
Das Sythera-Mod-Team sucht derzeit nur noch einen weiteren netten Kollegen / Kollegin zur Erstellung von Gebäude-Meshs. Weitere Infos in der Jobbörse.
-
 Zitat von OldCoin
Warum 99, wenn die gar nicht erreicht werden können? Daraus entstanden dann meine Fragen.
Ich habe 99 gewählt, da die Zahl prinzipiell zweistellig sein kann. Die 12 ist auch nicht unbedingt selbsterklärend. Die anderen können unsere Diskussion nun jedenfalls nachlesen. 
 Zitat von OldCoin
Insofern frage ich mich soeben, ob die Erweiterung auf die NormalMaps überhaupt Sinn machen würde?
Wenn sich die Struktur der Textur ändern soll und du möchtest, dass sich das auch in der Normalmap so widerspiegelt, dann wäre das ein nützliches Feature. Beispielsweise wenn der Goldschatz zu Stein wird, da könnte man darüber nachdenken.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
Geändert von ThielHater (13.10.2022 um 09:03 Uhr)
-
Erstmal danke für das Tool. Anfangs etwas skeptisch ist es nun mein Tool der Wahl! Es überzeugt auf ganzer Linie.
Eine frage/bitte hätte ich aber, wäre das ganze auch umgekehrt möglich? Also alle .tex wieder zu .tga in einem Rutsch verwandeln?
-
Das freut mich zu hören. Für den umgekehrten Weg gibt es GothicZTEX, einfach nach "[Gothic]\_Work\Data\Textures" entpacken und ausführen. Wenn man nicht möchte, dass die .TGA Dateien in eine Ordnerstruktur überführt werden, so kann man den Inhalt der GothicZTEX.ini mit "[IchMagToast]" überschreiben. Klingt komisch, ist aber so.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
-
-
Ich habe jetzt leider den Bug (?) entdeckt, das der Converter ab 80 Texturen auf einmal, immer langsamer und langsamer wird und dabei den ganzen PC auffrisst.
Selbst mein Ryzen 7 3800XT schmilzt dahin auf 100%. Ich hatte bisher kein Programm was das geschafft hat
-
Konvertiert GoTex auch Fonts richtig? Und Kopftexturen (macht Gothic standardmäßig ja nicht, und nutzt dann einfach die vorherige Textur)?
Und wie äußert sich das mit der besseren Qualität als Gothics interner Konverter? Ist das mit bloßen Augen erkennbar? Und macht es überhaupt einen Unterschied, da ja die Texturen die wir in Mods nutzen sowieso schon mit ztex dekompiliert worden sind und dann von Gotex neu kompiliert werden müssen? Dann kann es ja auf keinen Fall besser aussehen als die Texturen im Originalspiel, richtig?
-
Da ich das Tool nur noch nutze, antworte ich mal.
Ja das Tool kann alles Convertieren und ja man sieht es teilweise auch Ingame den Qualitäts unterschied.
Die Texturen werden mit jedem ZTEX decompilieren und neu ZenGin compilieren etwas schlechter, das merkt man aber auch erst sehr spät, vernachlässigbar.
-
 Zitat von lali
Konvertiert GoTex auch Fonts richtig? Und Kopftexturen (macht Gothic standardmäßig ja nicht, und nutzt dann einfach die vorherige Textur)?
Mir ist nicht bekannt, was Gothic da falsch machen würde. Bei den Fonts könnte ich mir vorstellen, dass man da die Erzeugung von Mipmaps vermeiden will. Die Kopftexturen werden von GoTex so behandelt wie alle anderen Texturen auch.
 Zitat von lali
Und wie äußert sich das mit der besseren Qualität als Gothics interner Konverter? Ist das mit bloßen Augen erkennbar?
Ich hab jetzt keinen Vergleich da, aber bei hochauflösenden Texturen kann man es erkennen. Darum habe ich mich für die GRM damit beschäftigt.
 Zitat von lali
Und macht es überhaupt einen Unterschied, da ja die Texturen die wir in Mods nutzen sowieso schon mit ztex dekompiliert worden sind und dann von Gotex neu kompiliert werden müssen? Dann kann es ja auf keinen Fall besser aussehen als die Texturen im Originalspiel, richtig?
Ne, das erscheint mir nicht sinnvoll, gerade da sie eine niedrige Auflösung haben und - wie von neocromicon bereits erwähnt - die Qualität bei der Konvertierung leidet.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
-
Wenn ich mich richtig erinnere, werden Kopftexturen nur konvertiert (und verwendet?), wenn es in der Zahlenfolge der Nummern keine Lücke gibt. Sonst wird bei größeren Nummern die größte vor der Lücke verwendet oder so ähnlich.
-
DANKE FÜR DIESES TOOL! Es spart mir unheimlich viel Geklicke und somit Zeit. KUSS
-
Schwertmeister
Geschlecht: Pferdeschwanz (am Hinterkopf)
Bin auch begeistert, das es sicher Ergebnisse liefert die die Augen streicheln, setze ich bei DIR einfach mal vorraus. 
Das bringt meinen Rechner ja ganz schön zum Pfeifen! 
Besten Dank ThielHater !!! 
Aber da kommt wieder der Punkt X im Edeting-WIKI - da stehen oft ZIG Tools für eine Aufgabe, Fehler in solchen Tools werden nicht angemerkt - das technisch beste (bezogen auf Ergebnisse) wird nicht herrausgestellt. Wir hatten das der Tage in einem Thema zu neuen und nicht so bekannten Tools (heute zersplittert sich die Community ja auf zig Medien), das gewünscht wurde die "mal so unbesehen" in das WIKI zu listen...
Das ist doch Blödsinn, das verwirrt User die noch keine Ahnung haben und sich versuchen wollen, oder Leute wie mich die solche Dinge Jahre nicht mehr gemacht haben nur unnötig. Man weis so absolut nicht welches von mehren Tools zu einer Problemstellung man nehmen soll. Das fällt für mich unter "Zeit verbrennen".
Ich würde eine kleine GUI mit Auswahl, Optionen und so absolut feiern.
Aktueller Zustand: Bin zuhause, viel am schlafen aber sonst geht es. (PMs hole ich dieses Wochende nach)
Pflegestufe 3 ist DURCH !!!, Behinderten Prozente 100% mit Begleitung Bearbeitung, physisch und psychologisch arg angeschlagen.
[Bild: 47439305ao.png]
-
Du kannst doch "Das Modtool Reviewcenter" starten, wenn dir daran gelegen ist. Ich denke, dass das Gothic DevKit von lali da schon eine gute Vorauswahl trifft. Für GoTex habe ich keine grafische Benutzeroberfläche vorgesehen und von der Priorität her werde ich da wohl nicht zu kommen, sorry.
"Weltmacht mit drei Buchstaben?" – Fred & Günther
Geändert von ThielHater (15.01.2024 um 15:45 Uhr)
Grund: Typo
-
Schwertmeister
Geschlecht: Pferdeschwanz (am Hinterkopf)
 Zitat von ThielHater
Du kannst doch "Das Modtool Reviewcenter" starten, wenn wir daran gelegen ist. Ich denke, dass das Gothic DevKit von lali da schon eine gute Vorauswahl trifft. Für GoTex habe ich keine grafische Benutzeroberfläche vorgesehen und von der Priorität her werde ich da wohl nicht zu kommen, sorry.
"Das Modtool Reviewcenter"... danke für den Tip, stimmt das hat man mit den neuen Tools gar nicht wirklich im Fokos. Du kennst mich doch, ich habe IMMER Sonderwünsche. Ja, ne. Mir ist es auch lieber wenn Du Energie und auch LUST in die "GRM" steckst.
Aktueller Zustand: Bin zuhause, viel am schlafen aber sonst geht es. (PMs hole ich dieses Wochende nach)
Pflegestufe 3 ist DURCH !!!, Behinderten Prozente 100% mit Begleitung Bearbeitung, physisch und psychologisch arg angeschlagen.
[Bild: 47439305ao.png]
-
Schwertmeister
Geschlecht: Pferdeschwanz (am Hinterkopf)
Ich finde darin das Modtool "Reviewcenter" nicht. Google führt mich auch nur zu den Themen mit den Userberichten zu Modifikationen...
Aktueller Zustand: Bin zuhause, viel am schlafen aber sonst geht es. (PMs hole ich dieses Wochende nach)
Pflegestufe 3 ist DURCH !!!, Behinderten Prozente 100% mit Begleitung Bearbeitung, physisch und psychologisch arg angeschlagen.
[Bild: 47439305ao.png]
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|