PNG Format in Texturen (verschoben aus Keine Textur nach FBX-Export))

  • Du hast jetzt schon öfter Thesen darüber aufgestellt, Mika, dass PNG das effizientere Format für Texturen ist. Woher hast du diese Information? Kann ich da was nachlesen?


    Soweit ich das gelerent habe, hat PNG nämlich keinen eigenen Alphakanal - es sieht so aus, ist aber nicht so, deshalb auch kleiner als 32Bit TGA. Der "Alphakanal" in PNG kommt daher, dass einfach das RGB Layer maltretiert wird. Da hier dann der 4. Kanal fehlt, fehlen auch Informationen in der Textur. Entweder eine Engine rechnet da großartig hinterher oder[eher "und"] das Ergebnis passt nicht - beides bescheiden, würde ich sagen.

    Natürlich hat eine 1024 * 1024 TGA, 4 MB, aber dafür können diese 4MB direkt verwertet werden.


    Nachtrag:
    Ich habe auch eine Quelle gefunden, die meine Ausführungen stützt:

    http://wiki.polycount.com/wiki/PNG

    • Offizieller Beitrag

    Zwar ist öfter etwas vom Alpha Kanal in PNG zu lesen, aber bisher fand ich noch keine Möglichkeit diesen in Trainz einzusetzen. Habe bisher erfolglos mit Photoshop und Gimp versucht dieses umzusetzen. Meine Lösung für PBR heißt aktuell: TGA bei Alphakanal (z.B. bei der Parameter Textur) und JPG da, wo kein Alpha nötig ist.

    Ich habe ein großes Interesse an einer Beschreibung, die mir aufzeigt wie ich PNG+Alpha für meine PBR Texturen einsetzen kann.


    cheers

    Christian

  • die mir aufzeigt wie ich PNG+Alpha für meine PBR Texturen einsetzen kann.

    Ich verstehe nicht ganz wozu, wenn Trainz doch intern die Maps in ein eigenes Format uebertraegt?


    Note that these formats are not used at runtime, and that format-specific benefits such as compression will apply to the DLS download size of the content but not to the runtime memory footprint or GPU bandwidth usage.

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

    2 Mal editiert, zuletzt von mick1960 ()

    • Offizieller Beitrag

    Der "Alphakanal" in PNG kommt daher, dass einfach das RGB Layer maltretiert wird.

    Deine Quelle bezieht sich dabei konkret auf Photoshop, welches, wie ich hier schon schrieb, damit wirklich nicht umgehen kann. Auch Paintnet rechnet aus Platzgründen alles raus, was eh nicht sichtbar wäre, aber Paintnet ist sowieso kein professionelles Programm. GIMP kann aber korrekt PNGs mit Transparenz speichern. Auch die Komprimierung von PNG kann abgestellt werden, wenn man im Produktionsprozess stets vollwertige Dateien einsetzen will. Dem sei angemerkt, dass der Standard bei fast aller Grafiksoftware beim Speichern im TGA Format auch eine komprimierung ist, welche jedoch Dateigrößenmäßig nicht so effektiv wie die von PNG ist.


    Wie in deiner Quelle beschrieben ist PNG ein ideales Downloadrohformat, um später in ein Engineinternes umgewandelt zu werden, da es sehr Platzsparend mit allen Vorteilen von TGA und GIF ist. Nichts anderes passiert in Trainz, alle Texturen werden beim Import sowieso in eine dds-Variante konvertiert, damit diese von der GPU besser verarbeitet werden können. PNGs sind somit für allen Content, der für T:ANE aufwärts bestimmt ist, weit Downloadfreundlicher. Dies gibt auch N3V an, wie Basti zitiert hat. Eine hochauflösende PBR-Bodentextur, welche zudem noch mehrere Jahreszeiten unterstützt kann sehr schnell über 150 MB erreichen, wenn TGA im Einsatz ist. Klingt nicht nach viel, summiert sich aber schnell. Wenn eine Strecke mehrere dieser Bodentexturen und detaillierte andere Assets verwendet, steigt für einige User die Downloadzeit erheblich. Man mag es kaum glauben, aber es gibt noch viele Computernutzer welche auf 1 Mbit/s Verbindungen unterwegs sind, oder gar auf dem Land im Mobilnetz hängen. Wenn das also für die Leute, die unter uns Geschwindigkeiten wie ein Datacenter haben egal ist, macht dies unter Umständen schon einen Unterschied für andere Nutzer.


    Aus diesem Grund verwende ich persönlich stets PNG und empfehle es auch weiter, ich hab bisher keine negativen Erfahrungen im Vergleich zu TGA damit gemacht. Es möge aber jeder verwenden, was er will, nicht dass ich noch mit einer TGA-Phobie diagnostiziert werde, weil ich auf die Assetgröße schaue :)



    Greets, Mika



    ChWerwick Von der JPG Benutzung rate ich (Thumbnails ausgenommen) basierend auf der Wikiseite auch ab. Außerdem habe ich die Erfahrung gemacht, dass der Import von Assets mit JPG Dateien drei bis viermal länger dauert als PNG/TGA.
    Bei Photoshop kann ich dir zwar nicht helfen, aber ich kann sicherlich mal ein kurzes Video machen, wie man in GIMP den Alphachannel mit PNG benutzt bzw der schnelle Weg in Paintnet wenn man "einfach nur" Transparenz auf einer Albedo braucht.

    • Offizieller Beitrag

    Die Auswahl der internen Formate hängt aber vom Quellformat ab, da spielt das womöglich schon eine Rolle.


    Auch Adobe gibt an, dass PNG durchaus Alpha kann, aber im Vergleich zu andren Formaten ist der viertel Kanal fix der Alphakanal.


    https://helpx.adobe.com/de/exp…masks-alpha-channels.html

  • Das klingt ja alles wirklich interessant, dennoch habe ich auch wie Christian bisher kein brauchbares Ergebnis bekommen.


    Mika: Das stimmt nicht ganz. Der obere Abschnitt in meinem Link beschreibt, dass PNG von Natur aus eben nicht den klassischen Graustufen-Alphakanal hat, unabhängig von Photoshop.


    Mir gehts hier nicht darum, irgendwas besser wissen zu wollen, oder dergleichen. Mir gehts da wie Christian, wenn ich eine vernünftige Anleitung bekäme, wäre ich der erste der umsteigt.


    @Basti: Auch dein Link sagt, dass PNG kein klassisches Alpha kann. Es kann Transparenz, das sich in PS in eine Ebenenmaske umwandeln lässt. Ich kann in PS damit arbeiten wie in einem Alphakanal, beim Speichern fliegt's aber wieder raus. Gimp und Paint.NET das gleiche.


    Wenn ich mir anschaue, dass ich bei einer einfachen Normal-Map einen Graustufen-Alphakanal brauche um die Specular-Stärke anzugeben, frage ich mich, wie ich das mit PNG hinbekommen soll. Das Ergebnis wird einfach zu sehr abweichen.

    • Offizieller Beitrag

    @Mick: nur für den Transport. TGA's sind im Schnitt 10x größer.



    Mika: die Erfahrung mit dem verlangsamten Import teile ich nicht. Bisher ist mir noch kein zeitlicher Unterschied zwischen PNG, TGA oder JPG beim Importieren aufgefallen.

    Ein Video wäre hilfreich! Aber ich könnt fast wetten, dass es bei der Umsetzung von z.B. Normal+Alpha Textur oder einer Parameter Textur für PBR auf das selbe Ergebnis hinausläuft, wie es Pascal hier beschrieben hat. Meine Vermutung geht viel mehr in die Richtung, dass N3V zwar PNG in die Wiki geschrieben hat aber ohne es zu verifizieren vorausetzte, dass es mit dem Apha Kanal in PNG schon passen wird. Aber sehr gerne lasse ich mich hier vom Gegenteil überzeugen.


    cheers

    Christian

  • Ich hab's eben mal versucht.


    Ein TGA mit Alphakanal mit Photoshop erstellt.


    - gespeichert als PNG, Alphakanal war weg

    - TGA mit Gimp geladen, als PNG exportiert, Alphakanal war weg

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

    • Offizieller Beitrag

    ChWerwick Bei größeren Objektmengen merkst du bei JPG schon einen Unterschied. JPG ist für Trainz das denkbar schlechteste Format, auch weil durch die Kompression die Qualität (unnötig) leidet. Von der Dateigröße her unterscheidet sich ein Objekt mit JPG und TGA gepackt als CDP nicht sonderlich, nur entpackt, wobei das Trainz intern sowieso wieder in anderen Formaten speichert.


    Die Frage ist, ob PNG gegenüber TGA einen Mehrwert bietet. PNG ist wohl das modernere Format, aber bei TGA sind im N3V-Wiki keine Nachteile gegenüber TGA genannt, abgesehen von der Dateigröße entpackt, was wohl nur während des Imports oder beim Bearbeiten eine Rolle spielt.

    Meine Wahl fiele (momentan) wohl auch eher auf TGA, da dort eben Erfahrungswerte und Kenntnisse vorhanden sind. BMP und JPG würde ich aber meiden.

  • GIMP 2.10.6 schafft PNG mit Alphakanal.

    - TGA mit Alpha in GIMP geöffnet

    - als PNG exportiert -> PNG hat Alphakanal

    - die PNG-Datei mit GIMP geöffnet

    - als TGA exportiert (neuer Name) -> TGA hat Alphakanal

    Eventuell müssen beim PNG-Export aus GIMP die Optionen richtig gewählt werden. Bei mir waren die Einstellungen auch so korrekt.


    Peter

  • Ich hab mir mal die neue 2.10.8 installiert und bin scheinbar zu bloed, bei mir funktioniert das nicht:


    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

  • Das selbe Ergebnis, kein Alpha...

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

    • Offizieller Beitrag

    Ich bin kein großer Modellingfreak somit hab ich nicht viele Objekte erstellt bisher, aber die auf dem Bild hier sind inklusive der Bodentextur 100% mit PNG gemacht. Ich habe bisher kein Problem festgestellt.


    Ist eigentlich ganz gut geworden, finde ich. Mein GIMP-Version ist 2.10.8


    Über Farben -> Komponente -> Zerlegen -> RGBA habe ich mal die Kanäle der Normalmap in 4 getrennte Graustufen-Layer zerlegt.

    Der Rote Kanal der Normalmap ist z.b. komplett intakt. Wichtig: Zum Speichern immer die Kanäle wieder zusammenfügen!

    obwohl im Alphakanal die Heightmap hinterlegt ist. Diese fällt hier sehr gemäßigt aus, da die Steine einfach nicht sehr hoch sind, aber ich denke, man kann was erkennen.


    So sehen aktuell meine Exportereinstellungen aus:


    Greets, Mika

  • Nein, wir meinen was wir sagen :grinning_squinting_face: Auch mit GIMP haben wir kein brauchbares Ergebnis bekommen :grinning_squinting_face:

    • Offizieller Beitrag

    Da dies Mehrere gewünscht haben, ein schnelles Video von dem Prozess der PBR-Textur-Erstellung in GIMP mit PNG

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Ich entschuldige mich für das "schlechte" Video. Meine Stimme hatte heute nicht so ganz Lust auf Sprechen und ich hatte jetzt auch nicht die Zeit und Lust einen Skript zu schreiben oder alles schön zu schneiden. Vielleicht mach ich ein andern mal wenn ich mehr Zeit habe ein richtiges Tutorial vom Prozess, welches dann auch Anfängerfreundlich ist und auf den TrainzDE Kanal kommt. Hier jetzt nur auf die Schnelle als Beitrag zur Diskussion setze ich Grundkenntnisse von der Contenterstellung vorraus. :)



    Greets, Mika

    Student in Vollzeit, Straßenbahnfahrer in Teilzeit. Skripte für Trainz wenn Motivation da ist...


    "It's always more fun to share with everyone" -Jack Johnson