Atlas Generator

Texture Atlas Generator

Der Textur-Atlas Generator ist ein Kommandozeilen-Tool.

Verwendung

atlas_generator -c [--config] file [-a [--attribute] attributeName="attributeValue"] [-q [--quiet]]

Beschreibung

  • --config or -c, erforderlich, mehrfach: Name einer XML-Konfigurationsdatei.
  • --attribute or -a, optional, mehrfach: Attributszuweisung zur Verwendung in einem XML attribute="{}".
  • --quiet oder -q, optional, Switch: Ausgabe von Informationen verhindern.
  • --debug oder -d, optional, Switch: Debug-Informationen ausgeben.

XML-Konfigurationsdatei

Die Konfigurationsdatei ist eine Standard-XML-Datei und sollte wie folgt beginnen:

  • <?xml version="1.0"?>

Der Root-Tag lautet:

  • <AtlasGenerator>
    Unterstützte Attribute und XML-Tags:
    • myAttribute="myValue" Benutzerdefinierte Attribute, die mittels attribute="{myAttribute}".
      evaluiert werden können. Benutzerdefinierte Attribute können mitt dem --attribute Commandline-Parameter überschrieben werden.
    • <Input> für die Eingabe relevante XML-Tags. Siehe Eingabebereiche.
    • <Output> für die Ausgabe relevante XML-Tags. Siehe Ausgabebereich.

Eingabebereiche

Ein oder mehrere Eingabebereiche sind erlaubt.

Das XML-Tag für den Eingabebereich lautet:

  • <Input> Beinhaltet alle für die Eingabegrafik relevanten Informationen.
    Unterstützte Attribute:
    • path="path/to/my/images" Dies ist das Path-Präfix für alle Eingabedateien. Defaultparameter: ""

Der Eingabebereich unterstützt die folgenden XML-Tags:

  • <Crop/> Standard Zuschneidung für alle Eingabegrafiken.
    Unterstützte Attribute:
    • cropThreshold="A[f|i|h]" Automatische Zuschneidung der Grafik anhand eines Alphakanal-Schwellenwertes.
    • cropCenterX="0" cropCenterY="0" [cropCenter="0"] Setzt Pixelpostion des Zuschneidezentrums, Default ist kein Zentrum.
    • cropSizeX="100" cropSizeY="100" [cropSize="100"] Zuschneidung auf eine bestimmte Pixelgröße.
      Angaben für cropCenter werden unterstützt; Angaben für die automatische Zuschneidung werden ignoriert.
    • cropLeft="2" cropTop="2" cropRight="-2" cropBottom="-2" Zuschneidung mittels relativen Randpixelkoordinaten
      Wenn positiv, ist die Position relativ zum linken/oberen Rand.
      Wenn negativ, ist die Position relativ zum rechten/oberen Rand.
      Angaben für cropCenter werden ignoriert; Angaben für die automatische Zuschneidung werden ignoriert.
  • <Scale/> Default Skalierung für alle Eingabegrafiken.
    Unterstützte Attribute
    • scaleFactor="1.0" [scaleFactorX="1.0"] [scaleFactorY="1.0"] Eine Skalierung wird nur durchgeführt, wenn sie definiert wurde und der Skalierungsfaktor ungleich 1,0 ist.
    • filterType="BILINEAR" [filterWidth="1.0"] Bilinaere Skalierung verwenden.
    • filterType="LINEAR" Lineare Skalierung verwenden.
    • filterType="GAUSSIAN" [filterWidth="3.0" filterSigma="1.0"] Gauss Skalierung verwenden.
      Defaultparameter: "BILINEAR" mit filterwidth="1.0"
  • <Slots/> Default Sloteigenschaften für alle Eingabegrafiken.
    Unterstützte Attribute:
    • materialSlot="0" Material Slot-Index.
    • parametersSlot="0" Parameter Slot-Index.
    • textureSlots="0,1,2" Textur Slots-Indexe.
    • textureSlot.0="0" .. textureSlot.7="0" Textur Slot-Index für eine Unit.
  • <Matte/> Default Matte-Farbe für alle Eingabegrafiken.
    Unterstützte Attribute:
    • color="R[f|i|h], G[f|i|h], B[f|i|h] | RRGGBBh" [threshold="A[f|i|h]"] Anwendung der Matte-Farbe auf alle Pixel, die einen Alphawert besitzen, der geringer oder gleich dem Schwellenwert ist (der Alphawert wird beibehalten).
  • <Fill/> Default Füll-Farbe für alle Input Images
    Unterstützte Attribute:
    • color="R[f|i|h], G[f|i|h], B[f|i|h], A[f|i|h] | AARRGGBBh" Anwendung der Füll-Farbe für den Grafik-Border/Margin.
  • <Image/> Dateinamen und –eigenschaft der Eingabegrafiken.
    Unterstützte Attribute:
    • names="image1.png, image2.png, image3*.png" Dateinamen der Eingabegrafiken, die Dateinamen können mit Platzhalter-Muster angegeben werden * ? [0-z]
      Wenn Platzhalter-Muster verwendet werden, dann werden Dateinamen welche mit '.' beginnen ignoriert, ausser das angegebene Muster beginnt mit '.'.
      Wenn ein Dateiname die Platzhalter-Muster verwendet, dann werden die Attribute sortOrder="..." und exclude="..." angewendet.
    • list="../example/example.txt" Liest die Namen von einer Textdatei. Jeder Name muss in einer neuen Zeile stehen.
    • skipImages="1" Inkrementiert den Zähler nach jedem Bild und überspringt das nächste Bild wenn der Zähler den Wert erreicht hat. Der Zähler startet mit 0
      und wird nach einem Sprung auf 0 zurückgesetzt. "1" überspringt jedes zweite, "2" überspringt jedes dritte.
    • exclude="image4.png, image5.png, image*.jpg" Dateinamen zum Exkludieren von Eingabegrafik-Dateinamen welche Platzhalter-Muster verwenden.
      Die Exkludier-Dateinamen können ebenfalls Platzhalter-Muster verwenden * ? [0-z].
    • sortOrder="ASCENDING" [sortOrder="DESCENDING"] [sortOrder="NONE"] Setzt die Sortierreihenfolge für Eingabegrafik-Dateinamen welche Platzhalter-Muster verwenden. Defaultparameter ist ASCENDING.
    • name="myImage.png" Veraltet, äquivalent zu names="image.png" .
    • scanAll="yes" Veraltet, äquivalent zu names="*" .
    • sizeX="0" sizeY="0" [size="0"] Skaliert auf eine absolute Größe in Pixel, falls definiert; wenn die Größe 0 ist, wird die Orginalgröße der Grafik verwendet.
    • rotate="" [rotate="CW"] [rotate="CCW"] Rotiert die Grafik im Uhrzeigersinn (CW) oder gegen den Uhrzeigersinn (CCW).
    • planeApplyAngleZ="yes" Überschreibt den applyAngleZ Wert von <PlaneGraphXML>.
    • sequenceApplyAngleZ="yes" Überschreibt den applyAngleZ Wert von <SequenceGraphXML>.
    • id="" Setzt den Eingabegrafik-Bezeichner. Wird für die <PlaneGeometry> id und <Rectangle> name Attribute verwendet.
      Der Standardname ist der Eingabegrafik-Dateiname ohne Erweiterung. Wenn mehr als ein Eingabegrafik-Dateinamen angegeben is, dann wird dieses Attribut als Präfix des Dateinamens verwendet.
    • cropThreshold="A[f|i|h]" Überschreibt den Standard <Crop> Alphaschwellenwert.
    • cropCenterX="0" cropCenterY="0" [cropCenter="0"] Überschreibt das standardmäßige Zuschneidezentrum.
    • cropSizeX="100" cropSizeY="100" [cropSize="100"] Überschreibt die Standardzuschneidegröße.
    • cropLeft="2" cropTop="2" cropRight="-2" cropBottom="-2" Überschreibt den standardmäßigen Zuschneiderand, falls spezifiziert.
    • planeApplyCropCenter="no" Überschreibt den Wert applyCropCenter von PlaneGraphXML, falls angegeben.
    • planeApplyRasterCenter="no" Überschreibt den Wert applyRasterCenter von PlaneGraphXML, falls angegeben.
    • sequenceApplyCropCenter="no" Überschreibt den Wert applyCropCenter von SequenceGraphXML, falls angegeben.
    • sequenceApplyRasterCenter="no" Überschreibt den Wert applyRasterCenter von @cSequenceGraphXML, falls angegeben.
    • scaleFactor="1.0" [scaleFactorX="1.0"] [scaleFactorY="1.0"] Überschreibt den standardmäßigen Skalierungsfaktor.
    • filterType="" [filterWidth="" filterSigma=""] Überschreibt den standardmäßigen Skalierungsfilter.
    • materialSlot="0" Überschreibt den standardmäßigen Material Slot-Index.
    • parametersSlot="0" Überschreibt den standardmäßigen Parameter Slot-Index.
    • textureSlots="0,1,2" Überschreibt den standardmäßigen Textur Slots-Indexe Wert.
    • textureSlot.0="0" .. textureSlot.7="0" Überschreibt den standardmäßigen Textur Slot-Index für eine Unit.
    • matteColor="R[f|i|h], G[f|i|h], B[f|i|h] | RRGGBBh" [threshold="A[f|i|h]"] Überschreibt den standardmäßigen Matte-Wert
    • fillColor="R[f|i|h], G[f|i|h], B[f|i|h], A[f|i|h] | AARRGGBBh" Überschreibt den standardmäßigen FillColor Wert.
    • margin="0" [marginX="0"] [marginY="0"] Überschreibt den standardmäßigen Abstand Wert margin von <Output> <Image>.
    • renderBorder="0" [renderBorderX="0"] [renderBorderY="0"] Überschreibt den standardmäßigen Render-Rahmen Wert renderBorder von <Output> <Image>.
    • repeatBorder="1" [repeatBorderX="1"] [repeatBorderY="1"] Überschreibt den standardmäßigen Pixelwiederholungs-Rahmen Wert repeatBorder von <Output> <Image>.
    • atlasTexDivisor="1.0" [atlasTexDivisorX="1.0"] [atlasTexDivisorY="1.0"] Überschreibt den standardmäßigen texDivisor Wert von AtlasXML.
    • atlasTexSizeX="0.0" atlasTexSizeY="0.0" Überschreibt den standardmäßigen texSize Wert von AtlasXML.
    • atlasNormalizeTexCoords="yes" Überschreibt den standardmäßigen normalizeTexCoords Wert von AtlasXML.
    • planeTexDivisor="1.0" [planeTexDivisorX="1.0"] [planeTexDivisorY="1.0"] Überschreibt den standardmäßigen texDivisor Wert von PlaneGraphXML.
    • planeTexSizeX="0.0" planeTexSizeY="0.0" Überschreibt den standardmäßigen texSize Wert von PlaneGraphXML.
    • planeNormalizeTexCoords="yes" Überschreibt den standardmäßigen normalizeTexCoords Wert von PlaneGraphXML.
    • planeAttributes="angle=&quot;90deg&quot;" Fügt das angegebene Attribut zum erzeugten <PlaneGeometry> Element von PlaneGraphXML hinzu.
    • atlasAttributes="angle=&quot;90deg&quot;" Fügt das angegebene Attribut zum erzeugten Rectangle Element von AtlasXML hinzu.
    • sequenceAttributes="angle=&quot;90deg&quot;" Fügt das angegebene Attribut zum erzeugten PlaneSequenceGeometry Element von SequenceGraphXML hinzu.

Ausgabebereich

Es ist nur ein Ausgabebereich erlaubt.

Das XML-Tag für den Ausgabebereich lautet:

  • <Output> Beinhaltet alle für die Ausgabegrafik relevanten Informationen.
    Unterstützte Attribute:
    • path="path/to/package"
      Dies ist das Pfad-Präfix für alle Ausgabedateien, der Standard-Pfad ist leer.

Der Ausgabebereich unterstützt die folgenden XML-Tags:

  • <Atlas/> Atlas Eigenschaften.
    Unterstützte Attribute:
    • positionRaster="1" [positionRasterX="1"] [positionRasterY="1"] Raster für die Eingabegrafikposition im Atlas, Standard ist 1. Ränder und sizeRaster werden mit dem Postionsraster multipliziert.
    • sizeRaster="1" [sizeRasterX="1"] [sizeRasterY="1"] Raster für die Eingabegrafikgröße im Atlas, Standard ist 1. Eingabegrafiken werden im Rasterbereich zentriert.
    • packing="BIN_PACKING" Algorithmus für das Grafikpacking, Standard ist BIN_PACKING
      (basierend auf codeincomplete.com/posts/2011/5/7/bin_packing).
    • packingOrder="MAX_SIDE" Packingreihenfolge nur für BIN_PACKING, Standard ist MAX_SIDE.
      packingOrder="MAX_SIDE" Sortierung der Grafiken via Berechnung der maximalen Breite und Höhe pro Grafik.
      packingOrder="WIDTH" Sortierung der Grafiken nach ihrer Breite.
      packingOrder="HEIGHT" Sortierung der Grafiken nach ihrer Höhe.
      packingOrder="AREA" Sortierung der Grafiken nach ihrer Fläche (Breite * Höhe).
      packingOrder="ID_ASCENDING" Sortierung der Grafiken in aufsteigender Reihenfolge nach ihrer ID.
      packingOrder="ID_DESCENDING" Sortierung der Grafiken in absteigender Reihenfolge nach ihrer ID.
      packingOrder="NONE" Keine Sortierung der Grafiken
    • packing="LEFT_TO_RIGHT" Packingreihenfolge ist von links nach rechts und von oben nach unten. Die Grafiken werden in der angegebenen Eingabegrafikreihenfolge ausgewählt, die automatische Berechnung der Größe der Ausgabegrafik sowie das erstellen mehrerer Ausgabegrafiken wird nicht unterstützt.
  • <Matte/> Standardmäßige Matte-Farbe für alle Ausgabegrafiken.
    Unterstützte Attribute:
    • color="R[f|i|h], G[f|i|h], B[f|i|h] | RRGGBBh" Füllt die leere Ausgabegrafik bevor die Eingabegrafiken verarbeitet werden, die Standardfarbe ist 0i, 0i, 0i, 0i
  • <Fill/> Standardmäßige Füll-Farbe für alle Ausgabegrafiken.
    Unterstützte Attribute:
    • color="R[f|i|h], G[f|i|h], B[f|i|h], A[f|i|h] | AARRGGBBh" Füllt die leere Ausgabegrafik mit der Füllfarbe bevor die Eingabegrafiken verarbeitet werden. Defaultparameter: "0i, 0i, 0i, 0i"
  • <Image/> Dateiname und Eigenschaften der Ausgabegrafik
    Unterstützte Attribute:
    • name="" Dateiname der Ausgabegrafik, Standard ist "image.png".
    • sizeX="0" sizeY="0" [size="0"] Größe der Ausgabegrafik in Pixel.
      Wenn packing="BIN_PACKING" ist, dann wird die Größe berechnet und diese Angabe repräsentiert die Maximalgröße.
      Wenn packing="LEFT_TO_RIGHT" ist, dann muss diese Größe angegeben werden.
    • minSizeX="0" minSizeY="0" [minSize="0"] Mindestgröße der Ausgabegrafik in Pixel.
      Wenn packing="BIN_PACKING" ist, dann wird die Größe ausgehend von der Minimalgröße berechnet.
      Wenn packing="LEFT_TO_RIGHT" ist, dann wird diese Angabe ignoriert.
    • multiFiles="yes" Erzeugt mehrere Ausgabegrafiken wenn nötig mit der in sizeX/Y="" definierten Maximalgröße, Standard ist "no".
    • sizeRaster="1" [sizeRasterX="1"] [sizeRasterY="1"] Raster, um die Größe der Ausgabegrafik zu berechnen, Standard ist 1.
    • powerOfTwo="yes" Berechnet die Grafikgröße als Power-Of-Two Wert, Standard ist "yes", Rastergröße wird ignoriert.
    • horizontalFirst="yes" Bevorzugt ein Wachsen in horizontaler Richtung, Standard ist "yes".
    • margin="0" [marginX="0"] [marginY="0"] Abstand für alle Eingabegrafiken, Standard ist 0. renderBorder und repeatBorder müssen innerhalb von margin liegen.
    • renderBorder="0" [renderBorderX="0"] [renderBorderY="0"] Render-Rahmen für all Eingabegrafiken, Standard ist der Wert für margin.
    • repeatBorder="1" [repeatBorderX="1"] [repeatBorderY="1"] Pixelwiederholungs-Rahmen für alle Eingabegrafiken, Standard ist "0".
    • fileType="DEFAULT" Erzeugt eine Ausgabegrafik von einem bestimmten Typ aus IEnums::FileType.
      Erlaubte Werte: "JPG", "PNG", "WEBP" and "MURL".
      Die ersten drei Formate erzeugen Dateien entsprechend dem Dateiformat mit allen Einschränkungen betreffend Pixel-Format, Kompression usw. und ohne der Möglichkeit MIP Maps zu speichern.
      Das Format "MURL" kann Bilder mit beliebigen Pixel-Format speichern und kann auch verberechnete MIP-Levels beinhalten.
      Falls nicht angegeben, wird das Ausgabeformat automatisch anhand vom Grafik-Eingabeformat, Pixel-Format, MIP-Verwendung und anderen Parametern ausgewählt.
    • streamFormat="DEFAULT" Das encodete Daten Stream Format aus IEnums::VideoStreamFormat.
      Wenn ein explizieter Wert für fileType gesetzt wurde, der einem Standard File Format entspricht, muss der Wert für streamFormat dem entsprechen: z.B. fileType="JPG" verlangt auch streamFormat="JPG".
      Wenn der fileType "MURL" gesetzt wurde, wird der gewählte Daten Stream verwendet und in das Murl Container Datei-Format gespeichert. Die folgenden Werte sind erlaubt: "RAW", "JPG", "PNG", "WEBP" and "DDS".
      Falls nicht angegeben, wird das "PNG" Stream Format für unkomprimierte Formate und das "RAW" Format für komprimierte Formate verwendet.
    • pixelFormat="UNDEFINED" Das encodete Pixel Format aus IEnums::PixelFormat.
      Nur solche Pixel Formate sind erlaubt, die für den entsprechenden Daten-Stream auch verwendet werden können:
      - streamFormat="RAW": Alle Formate, keine Restriktionen.
      - streamFormat="JPG": "L8", "SL8", "Y8", "R8_G8_B8" und "SR8_SG8_SB8".
      - streamFormat="PNG": "L8", "SL8", "Y8", "L8_A8", "SL8_A8", "R8_G8_B8", "SR8_SG8_SB8", "R8_G8_B8_A8", "SR8_SG8_SB8_A8", "LF32", "LF32_AF32", "RF32_GF32_BF32" und "RF32_GF32_BF32_AF32". Die "F32" Formate werden tatsächlich als 16 Bit Integer gespeichert (Genauigkeitsverlust).
      - streamFormat="WEBP": "R8_G8_B8", "R8_G8_B8_A8", "SR8_SG8_SB8" und "SR8_SG8_SB8_A8".
      - streamFormat="DDS": "R8_G8_B8", "R8_G8_B8_A8", "RF16", "RF16_GF16", "RF16_GF16_BF16_AF16", "RF32", "RF32_GF32" und "RF32_GF32_BF32_AF32".
      Falls nicht angegeben wird als Standardwert das Format "R8_G8_B8_A8" verwendet, ausgenommen bei JPG Streams, wo das Format "R8_G8_B8" verwendet wird.
    • mipMapGenerationMode="DEFAULT" aus IEnums::MipMapGenerationMode.
      Erlaubte Werte: "NONE", "FAST" und "GAMMA_CORRECT".
      Falls nicht angegeben wird der Wert "NONE" verwendet.
    • compressionType="DEFAULT" Der Typ der Kompression aus IEnums::CompressionType.
      Erlaubte Werte: "DEFAULT", "LOSSLESS", "LOSSY" und "BEST".
      Wenn entweder "LOSSLESS" oder "LOSSY" explizit angegeben wird, muss dieser Kompressions Typ auch vom verwendeten Stream Format unterstützt werden (nur WEBP unterstützt beide Typen).
      Andere Stream Formate als "WEBP" sollten entweder "DEFAULT" oder "BEST" verwenden. "DEFAULT" verwendet die Kompression des gewählten Stream Formats und "BEST" setzt die "compressionQuality" auf 100 (siehe weiter unten).
      Falls nicht angegeben wird "DEFAULT" verwendet.
    • compressionQuality="90.0" Kompressions Qualität, falls anwendbar.
      Wertebereich von 0 (kleine Dateigröße, schlechteste Qualität) bis 100 (große Dateigröße, beste Qualität).
      Falls nicht angegeben wird ein Wert von 90 verwendet.

Innerhalb des <Image> Elements ist es möglich beliebige weitere Varianten von Ausgabegrafiken zu erzeugen, die abhängig von verschiedenen Bedingungen wie z.B. Betriebssystem, Video API oder Plattform Feature verwendet werden:

  • <Variant/> Ausgabe Grafik Variante.
    Unterstützte Attribute:

    • includeForUserConfigurations="" excludeForUserConfigurations="" Inklusions- bzw. Exklusionsliste von App-spezifischen Konfigurations-Strings (getrennt durch Beistriche).
    • includeForLanguages="" excludeForLanguages="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::Language enumeration (getrennt durch Beistriche).
    • includeForTargetClasses="" excludeForTargetClasses="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::TargetClass enumeration (getrennt durch Beistriche).
    • includeForTargetDevices="" excludeForTargetDevices="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::TargetDevice enumeration (getrennt durch Beistriche).
    • includeForTargetHosts="" excludeForTargetHosts="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::TargetHost enumeration (getrennt durch Beistriche).
    • includeForOperatingSystems="" excludeForOperatingSystems="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::OperatingSystem enumeration (getrennt durch Beistriche).
    • includeForGpus="" excludeForGpus="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::Gpu enumeration (getrennt durch Beistriche).
    • includeForVideoApis="" excludeForVideoApis="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::VideoApi enumeration (getrennt durch Beistriche).
    • includeForAudioApis="" excludeForAudioApis="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::AudioApi enumeration (getrennt durch Beistriche).
    • includeForFeatures="" excludeForFeatures="" Inklusions- bzw. Exklusionsliste mit Werten von IEnums::Feature enumeration (getrennt durch Beistriche).
    • scaleFactor="1.0" Zusätzlicher Grafik Skalierungs Faktor für diese Variante.

    Zusätzlich werden die folgenden Attribute unterstützt um das Ausgabe-Encoding der Variante festzulegen. Siehe zugehörige Attributbeschreibung oben (Ausgabebereich <Image> Element).

    • fileType="DEFAULT" Erzeugt eine Ausgabegrafik von einem bestimmten Typ aus IEnums::FileType.
    • streamFormat="DEFAULT" Das encodete Daten Stream Format aus IEnums::VideoStreamFormat.
    • pixelFormat="UNDEFINED" Das encodete Pixel Format aus IEnums::PixelFormat.
    • mipMapGenerationMode="DEFAULT" aus IEnums::MipMapGenerationMode.
    • compressionType="DEFAULT" Der Typ der Kompression aus IEnums::CompressionType.
    • compressionQuality="90.0" Kompressions Qualität, falls anwendbar.

    Beim Erzeugen des Output Packages werden zunächst alle Varianten im package.xml file erzeugt (in der angegebenen Reihenfolge), danach werden die Standard-Grafiken des Eltern Elements erzeugt.

<PlaneGraphXML/> XML Dateiname und Eigenschaften der Ausgabeflächengeometrie.
Erstellt eine <Graph> XML-Datei, die für jede Eingabegrafik jeweils einen Eintrag enthält:
<PlaneGeometry id="" frameSizeX="" frameSizeY="" texCoordX1="" texCoordX2="" texCoordY1="" texCoordY2=""/>
Diese Einträge sind in der gegebenen Reihenfolge der Eingabegrafik-Tags geschrieben
Unterstützte Attribute:

  • name="" XML-Dateiname der Ausgabe, Standard ist "graph_planes.xml".
  • usePathPrefix="no" Erzeugt einen Präfix aus dem Dateipfad. Trennelemente ('/', '\', ':') werden ersetzt durch '_'.
  • useExtensionPostfix="no" Erzeugt einen Postfix aus der Dateinamenerweiterung.
  • multiFiles="yes" Erzeugt eine separate XML-Datei pro Ausgabegrafik, Standard ist "no".
  • texDivisor="1.0" [texDivisorX="1.0"] [texDivisorY="1.0"] Divisor für frameSize, Standard ist 1,0.
  • texSizeX="0.0" texSizeY="0.0" Überschreibt die frameSize Werte, wenn die diese Angabe nicht 0,0 ist.
  • normalizeTexCoords="yes" Normalisiere die texCoords im Wertebereich [0 .. 1], Standard ist "yes", bei "no" wird die textureSize auf die Atlasgrafik-Größe gesetzt und die texCoords werden im Wertebereich [0 .. Atlasgrafik-Größe] berechnet.
  • sizeInScale="no" Schreibt die frameSize in den scaleFactor, wenn dieser auf "yes" gesetzt ist, Standard ist "no". Erstellt <PlaneGeometry id="" scaleFactorX="" scaleFactorY="" texCoordX1="" texCoordX2="" texCoordY1="" texCoordY2=""/>.
  • materialSlot="0" Standardmäßiger Material Slot-Index.
  • parametersSlot="0" Standardmäßiger Parameters Slot-Index.
  • textureSlots="0,1,2" Standardmäßige Textur Slot-Indexe.
  • textureSlot.0="0" .. textureSlot.7="0" Standardmäßiger Textur Slot-Index für eine bestimmte Unit
  • textureSlotInterval="1" Inkrement für Textur Slots pro Ausgabegrafik, Standard ist "1".
  • applyCropCenter="no" Korrigiert posX und posY vom Grafikzentrum für zugeschnittene Eingabegrafiken (ohne cropCenter ). Kann mit applyRasterCenter kombiniert werden.
  • applyRasterCenter="no" Korrigiert posX und posY vom Grafikzentrum für sizeRaster (aufgerundet, sizeRaster > 1). Kann mit applyCropCenter kombiniert werden.
  • applyAngleZ="yes" Rotiert Bilder mittles angleZ="+/-90deg" zurück, wenn die Eingabegrafik mit rotate="CW" oder rotate="CCW" bearbeitet wurde.
  • attributes="angle=&quot;90deg&quot;" Zusätzliche Attribute für das <PlaneGeometry> Element.

<AtlasXML/> XML-Dateiname und Eigenschaften des Ausgabeatlanten.
Erstellt eine <Atlas> XML-Datei, die für jede Eingabegrafik jeweils einen Eintrag enthält:
<Rectangle coordSizeX="" coordSizeY="" texCoordX1="" texCoordY1="" texCoordX2="" texCoordY2="" [textureSizeX="" textureSizeY=""] [name=""] [materialSlot="" parametersSlot="" textureSlots=""]/>
Diese Einträge sind in der gegebenen Reihenfolge der Eingabegrafik-Tags geschrieben.
Unterstützte Attribute:

  • name="" Name der XML-Datei der Ausgabe, Standard ist "atlas_rectangles.xml" oder "atlas_image_rectangles.xml" wenn das images Attribut gesetzt ist.
  • usePathPrefix="no" Erzeugt einen Präfix aus dem Dateipfad. Trennelemente ('/', '\', ':') werden ersetzt durch '_'.
  • useExtensionPostfix="no" Erzeugt einen Postfix aus der Dateinamenerweiterung.
  • multiFiles="yes" Erzeugt eine separate XML-Datei pro Ausgabegrafik, Standard ist "no".
  • images="image1.png, image2*.png" Inkludiere die angegebenen Eingabegrafiken, die Namen der Eingabegrafiken können mit Platzhalter-Muster angegeben werden * ? [0-z]. Wenn dieses Attribute gesetzt ist, dann wird das multiFiles="" Attribut ignoriert.
  • texDivisor="1.0" [texDivisorX="1.0"] [texDivisorY="1.0"] Divisor für coordSize, Standard ist 1,0.
  • texSizeX="0.0" texSizeY="0.0" Überschreibt die coordSize Werte, wenn diese Angabe nicht 0,0 ist.
  • normalizeTexCoords="yes" Normalisiere die texCoords im Wertebereich [0 .. 1], Standard ist "yes", bei "no" wird in der zugehörigen PlaneSequenceGeometry die textureSize auf die Atlasgrafik-Größe gesetzt und die Atlas texCoords werden im Wertebereich [0 .. Atlasgrafik-Größe] berechnet.
  • createTextureSize="no" Erzeuge <Rectangle> textureSizeX and textureSizeY Attribute wenn normalizeTexCoords="no".
  • createNames="no" Erzeuge <Rectangle> name Attribute welches den Eingabegrafik-Bezeichner beinhaltet.
  • createSlots="no" Erzeuge <Rectangle> slot Attribute. Standard is "yes" wenn irgendein slot angegeben wird, andernfalls "no".
  • materialSlot="0" Standardmäßiger Material Slot-Index.
  • parametersSlot="0" Standardmäßiger Parameters Slot-Index.
  • textureSlots="0,1,2" Standardmäßige Textur Slot-Indexe.
  • textureSlot.0="0" .. textureSlot.7="0" Standardmäßiger Textur Slot-Index für eine bestimmte Unit
  • textureSlotInterval="1" Inkrement für Textur Slots pro Ausgabegrafik, Standard ist "1".
  • attributes="angle=&quot;90deg&quot;" Zusätzliche Attribute für das <Rectangle> Element.

<SequenceGraphXML/> XML-Dateiname und Eigenschaften der Ausgabe-Sequenzgeometrie.
Erstellt eine <Graph> XML-Datei, die für jede Eingabegrafik jeweils einen Eintrag enthält:
<PlaneSequenceGeometry id="" atlasResourceId="[packageId]:[resourceId]" index=""/>
Unterstützte Attribute:

  • name="" Name der XML-Datei der Ausgabe, Standard ist "graph_plane_sequences.xml".
  • multiFiles="yes" Erzeugt eine separate XML-Datei pro Ausgabegrafik, Standard ist "no".
  • packageId="" Packagebezeichnung, um die <Rectangle> Instanzen zu referenzieren.
  • resourceId="" Resourcenbezeichnung, um die <Rectangle> Instanzen zu referenzieren. Der Standardname ist das Atlas XML-Namensattribut ohne Erweiterung.
  • materialSlot="0" Standardmäßiger Material Slot-Index.
  • parametersSlot="0" Standardmäßiger Parameters Slot-Index.
  • textureSlots="0,1,2" Standardmäßige Textur Slot-Indexe.
  • textureSlot.0="0" .. textureSlot.7="0" Standardmäßiger Textur Slot-Index für eine bestimmte Unit
  • textureSlotInterval="1" Inkrement für Textur Slots pro Ausgabegrafik, Standard ist "1".
  • applyCropCenter="no" Korrigiert posX und posY vom Grafikzentrum für zugeschnittene Eingabegrafiken (ohne cropCenter ). Kann mit applyRasterCenter kombiniert werden.
  • applyRasterCenter="no" Korrigiert posX und posY vom Grafikzentrum Eingabegrafiken mit sizeRaster aufgerundet (sizeRaster > 1). Kann mit applyCropCenter kombiniert werden.
  • applyAngleZ="yes" Rotiert Bilder mittles angleZ="+/-90deg" zurück, wenn die Eingabegrafik mit rotate="CW" oder rotate="CCW" bearbeitet wurde.
  • attributes="angle=&quot;90deg&quot;" Zusätzliche Attribute für das <PlaneSequenceGeometry> Element.

<TextureGraphXML/> XML-Dateiname und Eigenschaften des Ausgabe Textur-Graphen.
Erstellt eine <Graph> XML-Datei, die <FlatTexture> und <TextureState> für jede Ausgabegrafik und optionale <Instance> Einträge erstellt.

  • name="" Name der XML-Datei der Ausgabe, Standard ist "graph_textures.xml".
  • namespace="" Erstellt einen umschließenden Namensraum.
  • textureId="" Texture Bezeichner. Standard is der der Ausgabegrafik-Dateiname ohne Erweiterung.
  • textureSlot="0" Textur Slot-Index.
  • textureSlotInterval="1" Inkrement für Textur Slots pro Ausgabegrafik, Standard ist "1".
  • textureUnit="0" Textur Unit-Index.
  • useMipMaps="no" Texture Mip-Maps Attribut.
  • planeGraphInstance="yes" Erstellt Instanzen der PlaneGraphXML Graphen.
  • sequenceGraphInstance="yes" Erstellt Instanzen der SequenceGraphXML Graphen.
  • flatTextureAttributes="" Zusätzliche Attribute für das <FlatTexture> Element.
  • textureStateAttributes="" Zusätzliche Attribute für das <TextureState> Element.
  • <PackageXML/> Output Package XML file name and properties if specified.
    Erstellt eine <Package> XML-Datei, die <Resource> Einträge und optional eine <Instance> des Textur-Graphen erstellt.
  • name="" Name der XML-Datei der Ausgabe, Standard ist "package.xml".
  • packageId="images" Name des Paket Bezeichners. Fügt dem Ausgabe-Pfad [packageId].murlres hinzu, wenn der Ausgabe-Pfad nicht mit .murlres endet. Setzt <SequenceGraphXML> packageId="[packageId]" wenn keine packageId in <SequenceGraphXML> angegeben ist.
  • textureGraphInstance="yes" Erstellt eine statische Instanz des <TextureGraphXML>.
  • parentNodeId="" Der Vater-Knoten Bezeichner der statischen Instanz.

Die Eingabegrafiken werden einzeln wie folge bearbeitet:

  1. Zuschneiden (Crop)
  2. Mattieren (Matte)
  3. Skalieren (Scale)
  4. Pixelwiederholungs-Rahmen zeichnen (repeatBorder)
  5. Rotieren (rotate)
  6. Erzeuge die finale Größe mit Rand (margin und sizeRaster)
  7. Anwenden der Füllfarbe auf den Rand (Fill)
  8. Anwenden der Mattierung auf den Rand (Matte)

XML Beispiel

Packe alle Grafiken vom Pfad my_images1 und my_images2 in eine Atlasgrafik und erstelle die dazugehörende XML-Datei.
Jede Grafik erhält einen Abstand von 1 Pixel und eine geradzahlige Größe im Atlas.

<?xml version="1.0" encoding="utf-8"?>

<AtlasGenerator xmlns="http://murlengine.com">

    <Input path="my_images1">

        <Image names="*"/>

    </Input>

    <Input path="my_images2">

        <Image names="*.png"/>

    </Input>

    <Output path="my_package.murlres">

        <Atlas sizeRaster="2"/>

        <Image name="my_atlas.png" margin="1" mipMapGenerationMode="FAST">
          <Variant mipMapGenerationMode="FAST" pixelFormat="ETC2_RGBA8_8BPP" compressionQuality="50" includeForFeatures="TEXTURE_COMPRESSION_ETC2"/>
          <Variant mipMapGenerationMode="FAST" pixelFormat="PVRTC_RGBA_4BPPV1" compressionQuality="70" includeForFeatures="TEXTURE_COMPRESSION_PVRTC"/>
        </Image>

        <PlaneGraphXML name="my_planes.xml"/>

    </Output>

</AtlasGenerator>


Copyright © 2011-2022 Spraylight GmbH.