Mit paint.net Texturen auf 8bit RGB umwandeln

  • Hallo,
    welche Einstellung bei "paint.net" muss ich zum Speichern verwenden, wenn ich eine Textur-Datei als 8bit RGB im DDS-Format haben will.
    Hintergrund:
    In der "log.txt" erscheint folgender Fehler: ...foliage/foliage_barley_diffuse.pgn' not found. Klar die Datei ist nur als foliage_barley_diffuse.dds im Texturen-Ordner.
    Darauf habe ich in der i3d-Text-Datei <File fileId="62" filename="textures/foliage/foliage_barley_diffuse.png" relativePath="true"/> geändert <File fileId="62" filename="textures/foliage/foliage_barley_diffuse.dds" relativePath="true"/>
    Aber jetzt bekomme ich die Meldung:

    textures/foliage/foliage_barley_diffuse.dds' incorrect format. Must be 8bit RGB format.

    Klar ich könnte natürlich die dds-Datei in eine pgn-Datei umwandeln, das funktioniert auch (keine Fehlermeldung in der log, aber ich dachte dds-Dateien sind besser, weil schneller zu verarbeiten für die Graphik-Karte?

    Nachtrag - Epilog
    Eine Antwort, wie man mit paint.net eine 8bit RGB Datei erstellt findet Ihr, die diesen Thread lest, nicht!!!
    Der Grund dafür ist folgender: Alle diese Anhänge zu den Log-Fehlern führten nur zu Verwirrung und weg vom eigentlichen Problem: Dem nicht korrekten Einbau von neuen Früchten!!!
    Weil ich die "DistanceMapIds" nicht an die "fileIds der neuen Texturen" angepasst habe, sind Fehlermeldungen wie bei der Textur für barley entstanden, obwohl ich mit dieser Textur garnichts gemacht habe.
    Es ist also garnicht so leicht neue Früchte richtig einzubauen. Deshalb, wenn auch Ihr solche Fehlermeldungen in der log.txt bekommt:


    Lest erst das TUT von Jaguar95, das ist super geschrieben.
    Nehmt Euch die Sicherungsdatei, die Ihr hoffentlich gemacht habt und fangt genau nach Anleitung von vorne an, denn die Fehlersuche ist kompliziert und kann leicht zu neuen Fehlern führen.
    Dann solltet Ihr das Einbauen neuer Früchte erfolgreich bewältigen.
    Vielen Dank, Jaguar95, für Deine Geduld, die Mühe, die Du Dir mit dem TUT gemacht hast und der Hilfe, die Du uns Unwissenden zukommen lässt.
    Lesen und Verstehen - das sind eben manchmal zweierlei Dinge!!!


    Remraf

  • Baust Du grade in eine Map neue Früchte ein?

    Den 8 Bit Fehler hatte ich auch. Da war aber nicht die Textur falsch, sondern die Einträge in der i3d.
    Du darfst da aber auf keinen Fall die bestehende Zeile mit der fileID="62" einfach ändern.

    Lies mal mein Tutorial:
    Einbau zusätzlicher Früchte in eine Map

    Wichtig: In einem anderen Beitrag schreibst Du bereits etwas zu dem Thema. Du verwendest wenn ich es grade richtig weiss die fruits.lua zur Registrierung.
    Mein Tutorial arbeitet mit der additionalFruitTypes.lua.
    Also aufpassen. ;)

  • Hallo Jaguar95,
    nein ich baue keine neuen Früchte ein, diesen Prozess habe ich hinter mir, das klappt jetzt alles... noch!!!
    Ich arbeite an den Fehlern, die vorher schon drin gewesen sein müssen. Und davon einen ganzen Haufen, nicht nur in den Texturen. Foliage_barley_diffuse.pgn war nur ein Beispiel für eine Vielzahl an Fehlermeldungen, aber alle im Zusammenhang mit schon vorhandenen Früchten. Genau wie mit der Farbe der Bitflakes. Das war auch schon von Anfang an so. Da ich den Dingen gerne auf den Grund gehe, habe ich den Thead erstellt, leider von Ifko noch keine Nachricht erhalten
    Das Spiel läuft trotzdem, ich wollte eben die "log" sauber haben.
    Übrigens großes Kompliment für Dein Tutorial, habe es schon vor Tagen gelesen.
    Und eigentlich kann ich es auch, aber man ist doch immer wieder überrascht, dass Dinge, die offensichtlich richtig gemacht sind, doch nicht funktionieren. s. Probleme mit dem Multi-Sprayer-Unkraut-Mod. Selbst der gute BadenBauer könne keinen Fehler entdecken.
    Aber zurück zu Thema: Muss ich die Texturen jetzt umwandeln, oder als dds drinlassen und wenn das Game die Texturen nicht findet, nimmt es dann die aus data, oder liegt es doch an einem Eintrag in der i3d im FoliageSubLayer. Ich habe irgendwo gelesen, dass hierdrin die Abstimmung mit den Datei-Format stattfindet.
    <FoliageSubLayer name="barley" densityMapTypeIndex="4" densityMapChannelOffset="4" numDensityMapChannels="4" materialId="179" cellSize="8" viewDistance="100" terrainOffset="0.1" objectMask="65520" distanceMapIds="35;56;57;58;59;59;59;60;61" distanceMapUnitSizes="128;128;128;128;128;128;128;128;128" atlasSize="1" numBlocksPerUnit="1.9" width="1.5" height=";0.25;0.5;0.9;1;1;1;0.9;0.13" texCoords=";0 0 0.25 0.25;0 0.5 0.25 0.5;0.25 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.5 0 0.25 1;0.75 0 0.25 0.75;0.5 0 0.25 0.144" widthVariance="0" heightVariance="0.2" horizontalPositionVariance="0.5" numStates="9" growthNumStates="7" growthStateTime="3.6e+007"/>

    Gruß Remraf

  • Wie gesagt, vermutlich hast Du im FoliageSubLayer bei einer anderen Frucht (Hafer Roggen oder was auch immer) bei den dinstanceMapId´s eine falsche Zahl eingetragen. Vermutlich eben die 62 von der Gerste (barley). Das stimmt dann halt nicht und deshalb wirft er Dir den Fehler in die Log.

    Bevor ich mein TUT geschrieben habe, saß ich drei Tage oder so daran Früchte in eine Map einzubauen und hatte ständig den Fehler mit der 8 Bit RGB. Eben weil die Einträge falsch waren. Aber die der neuen Früchte, nicht einer bestehenden.

  • Ich hake mal nach. Diese Zahlen verweisen also auf die "fileIDs" die hier im Beispiel für Barley eingetragen sind. Also die 35 für "foliage_barley_distance_diffuse" 56-59 für "foliage_barley_distance2-7. Mehr Texturen sind nicht drin 60 u. 61 wären dann unbelegt. Und diese Zahlen dürft dann in keiner distanceMapID mehr vorkommen.

    distanceMapIds="35;56;57;58;59;59;59;60;61"

    Wenn das so richtig ist, dann hättest Du mich ein großes Stück weiter gebracht. Wenn man versteht, was die Zahlen bedeuten, tut man sich viel leichter.
    Ich habe übrigens auch ein TUT gemacht, allerdings zum Einbau neuer TerrainTexturen.
    Das schicke ich Dir mal mit. Kannst Du auch gerne Publizieren, auch gerne unter Deinem Namen ... denn wer liest schon ein TUT vom Anfänger (s. mein Status) :vain:

    Danke und Gruß
    Remraf

  • Noch ein Nachtrag:
    Habe mal beispielhaft den Zusammenhang der ID-Zahlen darzustellen versucht. Allerdings aus einer fehlerfreien Map.
    S. Anhang
    Wenn das alles so stimmt, stellt sich mir noch eine Frage:
    Man nimmt ja beim Eintragen hohe Zahlen Beispiel: fileID="9020" um eine Doppelung zu vermeiden. Das Programm schreibt diese Zahlen bei der Registrierung um.
    Wenn ich jetzt meine hohen Zahlen auch so in die "distanceMapIds" eintrage, passt das Programm auch die Zahlen an? Oder muss man da "per Hand" nacharbeiten, denn sonst stimmen die Einträge natürlich nicht mehr zusammen.

  • Die Zahlen werden nach öffnen und speichern mit dem GE umgeschrieben, steht alles in meinem TUT, zweiter Beitrag. ;)

    Was spricht dagegen, dass Du Dein TUT mit den Terrain Texturen selbst im Tutorial Bereich veröffentlichst?

    Und bitte in Zukunft Doppelposts vermeiden. Ich fasse die jetzt nur nicht zusammen,w eil beide BEiträge Anhänge enthalten.

  • Hallo Jaguar95,
    eigentlich spricht nichts dagegen, das TUT selbst zu veröffentlichen. Doch davor hätte ich gerne von jemandem, der sich wirklich auskennt ein Feedback, ob das so stimmt, was ich da erarbeitet habe. Denn eine fehlerhafte Erklärung bringt anderen nur Frust. Und da Du Dich auskennst, habe ich es Dir geschickt. Wenn Du sagst: "Jo, das ist gut nachvollziehbar und fachlich richtig", dann setzte ich es rein.
    Hinweis Doppelposts: Ok, hätte meine ersten bearbeiten können, Danke für den Hinweis
    Eine Idee habe ich noch: Gibt es ein TUT mit den wichtigsten, häufig vorkommenden Log-Fehlern und deren Beseitigung? Das wäre doch was, das vielen helfen könnte.

    Ich würde von Dir gerne wissen, was ich bei folgenden Log-Fehler machen muss:
    Warning: converting 'C:/.../foliage_wheat_distance6_diffuse.png' to utf8
    Error: C:/.../foliage_wheat_distance6_diffuse.png(0): Error document empty.
    Error: C:/.../foliage_wheat_distance6_diffuse.png' has version 0. Please convert this file to version 2.
    Wie konvertiere ich die Datei von 0 auf Version 2? Oder ist auch hier wieder nur eine falsche Zuordnung der Ids Grund des Fehlers? Dann macht die Anweisung die Datei zu konvertieren ja genauso wenig Sinn wie der Hinweis mit den 8bit RGB, also dem Ausgangspunkt eines Theads.

    Gruß Remraf

  • Doch davor hätte ich gerne von jemandem, der sich wirklich auskennt ein Feedback, ob das so stimmt, was ich da erarbeitet habe.

    Da musst Du einen Mapper fragen.


    Oder ist auch hier wieder nur eine falsche Zuordnung der Ids Grund des Fehlers?

    Ist anzunehmen. ;)

    Nochmals. Du baust neue Früchte in eine Map ein, ist das richtig?

    Falls ja: Fange nochmals von vorne an. Vermutlich hast Du mittlerweile so viel in der i3d korrigiert, dass es nur immer schlimmer wird. Du hast ja sicher vorher eine Kopie der i3d angelegt, oder?

  • Patrick,
    Du hattest mit allem Recht!!!!

    Die Fehler kamen alle durch die falschen distanceMapIds beim Einbauen der neuen Früchte. Wie Du vermutet hast. Insofern sind die Zusätze bei den Fehlermeldungen völliger Blödsinn und verwirren nur.
    Was ich falsch gemacht habe:
    Ich habe alle Daten für die neuen Früchte aus einer anderen Map kopiert. Natürlich die fileId geändert (hohe Zahlen) ebenso die materialId, die customShaderId und densityMapTypeIndex, nicht aber die distanceMapIds. Da waren die aus der anderen Map drin. Und genau diese Zahlen verwiesen natürlich auf die falschen fileIds, daher die log-Fehler.
    Stutzig werden hätte ich müssen, dass der GE die fileIds der distance2-7_diffuse der neuen Früchte jedesmal wieder gelöscht hat, obwohl ich sie richtig eingetragen hatte.
    Im Spiel konnte ich die Fehler auch noch nicht bemerken; die neuen Früchte waren da, ich konnte sie sähen - weiter bin ich noch nicht -im Spiel.

    So, jetzt sind die meisten Fehler behoben und aus der log raus, ich habe durch Dich wieder eine Menge gelernt, aber jetzt erst die Zusammenhänge richtig verstanden. Dafür meine herzlichen Dank.

    Dennoch möchte ich Dich nochmals um die Erklärung des noch verbliebenen Fehler, den ich schon im letzten Post beschrieben habe, bitten
    Error: Failed to open xml file C:/.../map/textures/foliage/foliage_wheat_diffuse.png'
    Error: Out-dated custom shader. 'C:/.../map/textures/foliage/foliage_wheat_diffuse.png' has version 0. Please convert this file to version 2.
    Warning: converting 'C:/.../map/textures/foliage/foliage_wheat_distance6_diffuse.png' to utf8
    Error: C:/.../map/textures/foliage/foliage_wheat_distance6_diffuse.png(0): Error document empty.
    Error: Out-dated custom shader. 'C:/.../map/textures/foliage/foliage_wheat_distance6_diffuse.png' has version 0. Please convert this file to version 2.

    Meine Custom ShaderId=43 für Früchte =45 für Windrow. Das passt auch bei "Wheat", habe ich überprüft. Die Fehler-Zusätze sagen mir wie schon geschrieben nichts.


    Gruß Remraf

  • Error: Failed to open xml file C:/.../map/textures/foliage/foliage_wheat_diffuse.png'

    Error: Out-dated custom shader. 'C:/.../map/textures/foliage/foliage_wheat_diffuse.png' has version 0. Please convert this file to version 2.

    Das deutet darauf hin, dass Du bei den <Material> Einträgen irgendwo noch falsche CustomShader eingetragen hast.

    Angenommen Du hast den CustomShader 46. Das ist dann auch die FileID 46. Und die ist - nur ein Beispiel - dann bei Dir foliage_wheat_diffuse.png.
    Müsste aber ein Shader sein. ;)

    Kuck in mein Tutorial. ;)

  • Hallo Patrick,
    auch diesen Fehler habe ich beseitigen können, leider muss ich manchmal mit der Nase auf meine eigenen Fehler gestoßen werden.
    Ich habe jetzt gleich beim 1. Post einen Nachtrag eingefügt, ich denke der ist auch in Deinem Sinn.

    Damit könnte dieser Thread eigentlich geschlossen werden. Danke schön. Remraf

  • Hallo Remraf, der Nachtrag ist sehr nett. Wäre aber sicher nicht nötig gewesen. Das ein oder andere Like hätte gereicht. ;)

    Ach ja, da war was mit 8 Bit. Ich glaube mich irgendwo zu erinnern: Wenn Du die Datei in 8-Bit als PNG speicherst, danach das PNG wieder mit paint.net öffnest und dann als dds speicherst, dann hast Du ein 8-Bit dds.
    Achtung. Vermutung.

    Auf Wunsch des TO :