Hallo alle zusammen!

Dies ist das erste von zwei Tutorials, die unter Bezugnahme auf die Version 2019 von Substance Painter zum Exportieren von Texturen aus diesem Programm an verschiedene Ziele erstellt wurden: von anderer 3D-Software (wie Unity, Unreal, V-Ray und andere) bis hin zu Sets von Generische Texturen für das PBR-Paradigma (Physically Based Rendering).

In den Tutorials, die ich bisher in der Youtube-Wiedergabeliste "Videotutorials Substance Painter - All" veröffentlicht habe, habe ich tatsächlich gezeigt, wie man Materialien, Masken, Pinsel und andere Werkzeuge verwendet, aber nicht, wie man die im Formular erhaltenen Ergebnisse exportiert von UV-abgebildeten Texturen, die in Vorlagen in anderer Software verwendet werden sollen.

Dieser Vorgang mag einfach erscheinen (theoretisch klicken Sie einfach im Menü Datei auf Texturen exportieren und fortfahren). In der Realität sind jedoch einige Dinge zu beachten, insbesondere um Fehler in der Exportphase (im Protokollfenster von) zu vermeiden Substanz) oder, noch schlimmer, in den Texturen, die für die verschiedenen Programme erstellt wurden, die am Ende andere Materialien als die in Substanz erstellten anzeigen würden.

Im Gegensatz zu den meisten meiner Substance Painter-Tutorials sind die in diesem Tutorial verwendeten Assets (3D-Modelle und andere Assets) NICHT verfügbar. Sie können jedoch dem Lernprogramm folgen und lernen, ohne Operationen mit diesen bestimmten Objekten replizieren zu müssen!

Ok, all diese Prämissen gemacht, fangen wir an!

DAS PROJEKT, DAS WIR IN DIESEM TUTORIAL VERWENDEN WERDEN

Ich habe ein neues Substanzprojekt mit der Vorlage „PBR - Metallic Roughness (Allegorithmic)“ erstellt, die auch in den zuvor in der Playlist auf Youtube veröffentlichten Video-Tutorials verwendet wurde. Nach dem Import eines 3D-Modells habe ich dieses Modell mit einigen Stoff-Standardmaterialien ausgestattet, die dann - mit der ausgewählten Vorlage - die folgenden Informationskanäle darstellen:

  • Base Color
  • Height
  • Roughness
  • Metallic
  • Normal

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 01

WIR EXPORTIEREN MIT DEM PRESET FÜR UNITY 5 (STANDARD METALLIC)

Angenommen, wir möchten die Textur-Sets exportieren (in meinem Fall drei: eines für jedes Textur-Set in der Texture-Set-Liste), beispielsweise für Unity 2019.

Öffnen Sie zunächst das Menü Datei und wählen Sie das Element Texturen exportieren.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 02

Im Fenster "Dokument exportieren - Exportieren" können wir einige Parameter einstellen. unter diesen stellen wir insbesondere fest:

  • Klicken Sie auf die Schaltfläche oben, den Pfad auf der Festplatte, in dem die zu erstellenden Texturbilder gespeichert werden sollen.
  • neben dieser Schaltfläche das Dateiformat (standardmäßig sollte es PNG sein) und die Bittiefe (standardmäßig 8 Bit pro Kanal);
  • im Konfigurationsmenü die Exportvoreinstellung; In unserem Fall wählen wir Unity 5 - Standard Metallic.
  • die Auflösung von Texturen; Wie in einem früheren Tutorial der Wiedergabeliste erwartet, ist es hier möglich, mit einer reduzierten Auflösung zu arbeiten und dann eine höhere Auflösung für die beim Export zu generierenden Texturen festzulegen.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 03

Theoretisch sollte daher alles für den Export bereit sein. Wenn Sie jedoch auf Exportieren klicken, wird die Fehlermeldung "Export mit einigen Fehlern beendet (siehe Protokolle)" angezeigt.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 04

EXPORTFEHLER: FEHLENDE INFORMATIONSKANÄLE

Schauen wir uns also die Registerkarte Protokolle an, die über Fenster - Ansicht - Protokoll aktiviert werden kann, falls nicht verfügbar.

In diesem Blatt lesen wir, dass in den drei Texturen zwei Informationskanäle fehlen: OPACITY und EMISSION.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 05

Um den Grund für diesen Fehler zu verstehen, öffnen wir das Fenster "Texturen exportieren" erneut über das Menü "Datei". Gehen Sie diesmal jedoch zur Registerkarte "KONFIGURATION" im Fenster "Dokument exportieren" und wählen Sie die zu untersuchende Voreinstellung "Unity 5 - Standard Metallic" aus es.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 06

Wie wir sehen können, können mit der Exportvoreinstellung für Unity 5 mit Metallic-Workflow 4 Texturbilder erstellt werden:

  • Ein Bild vom Typ RGB + A (wobei A für Alpha, den Deckkraft- oder Transparenzkanal steht) mit der Bezeichnung "Albedotransparenz", das an den Unity Albedo-Kanal übergeben wird und dessen Grundfarbe in den drei RGB-Kanälen und Deckkraft vorhanden ist Karte im Alpha-Kanal;
  • ein Bild vom Typ RGB + A, in dem in diesem Fall die metallischen Informationen in RGB und im Alpha-Transparenzkanal die Informationen gespeichert werden, die aus der konvertierten Karte stammen - Glanz;
  • ein Bild vom Typ RGB mit dem Namen Normal, das nicht ausgehend von Input Map - Normal, sondern von Converted Map - Normal OpenGL erstellt wurde; Diese Unterscheidung ist wichtig, da die so erzeugte Karte nicht nur die im Normalkanal definierten Informationen mit sich bringt, sondern auch die im Höhenkanal definierten (erinnern Sie sich zum Beispiel an mein Tutorial zum Entnähen des Gürtels?). Auf diese Weise werden Normal und Höhe zu einer einzigen Normal-Karte zusammengeführt, die von Unity 5 verwendet werden kann.
  • Schließlich ein RGB-Bild namens Emission, das aus dem Eingangskarten - Emissionskanal generiert wird und für lichtemittierende Materialien (Glühbirnen, Flammen, LED-Leuchten, Neon usw.) nützlich ist.

WAHL DES RICHTIGEN DATEIFORMATS AUF DER GRUNDLAGE DER KANÄLE

Das Vorhandensein von RGB + A-Bildern, also mit dem Transparenzkanal in dieser Voreinstellung, macht uns auch etwas anderes verständlich: Auf der Registerkarte Exportieren müssen wir ein Dateiformat auswählen, das diese 4 Kanäle kapseln kann.

Das von Substance standardmäßig ausgewählte Element, dh 8-Bit-PNG, ist in Ordnung, da das PNG-Format bereits die 4 RGBA-Kanäle bereitstellt, während ein Dateiformat wie JPG oder BMP nicht gut wäre, da diese Formate nur die drei bereitstellen RGB-Kanäle ohne die Alpha-Information, so dass - im Fall des Preset Unity 5 Metallic - sowohl die Transparenz (Deckkraft) als auch die Glätte des Materials (Glanz) fehlen würden.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 07

INFORMATIONSKANÄLE FÜR BESCHAFFENHEITSSÄTZE HINZUFÜGEN

Ok, wir sagten, dass wir auch die Informationen für Opacity und Emissive brauchen; Ja, aber wie können diese Informationskanäle zu unseren Materialien hinzugefügt werden?

Die Antwort liegt auf der Registerkarte Texture Set Settings: Hier finden Sie die Liste der für ein Material vorhandenen Informationskanäle und neben jedem Kanal auch ein technisches Detail: die Farbe oder den Informationsraum, die jedem Kanal zugeordnet werden sollen; Für die Grundfarbe haben wir beispielsweise als Standardeinstellung sRGB8, dh ein Farbbild im sRGB-Farbraum mit 8 Informationsbits pro Kanal, während wir für die Kanäle, die in Graustufen ausgedrückt werden können (wie Rauheit und Metallic), haben eine 8-Bit-Zahl im linearen Raum (der Buchstabe L), während wir für die Höhe ein Bild im linearen Raum bei 16 Bit im Gleitkomma (16F) und für normale Karten ein Farbbild (RGB) mit 16 Bit im Gleitkomma haben Präzision (16F).

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 08

Beachten Sie, dass 16 Bit Informationen für Höhe und Normal bereitgestellt werden. Beachten Sie jedoch, dass diese Informationen in der Exportphase mit den Standardeinstellungen auf der Registerkarte Dokument exportieren (wobei, wie wir gesehen haben, der eingestellte Wert 8 Bit beträgt) diese Informationen enthalten wird weiterhin komprimiert, um in 8 Bits zu passen.

Um die Deckkraft- und Emissionskanäle zum aktuell ausgewählten Textur-Set hinzuzufügen, klicken Sie auf das Symbol + neben Kanäle und wählen Sie diese Kanäle aus der angezeigten Liste aus. Substance Painter legt automatisch den Datentyp fest, der für diese beiden Kanäle verwendet werden soll (für den Datensatz ist dies eine 8-Bit-Zahl im linearen Raum L8 für die Deckkraft, die dann mit einem Graustufenbild ausgedrückt wird, während für Emissive dies der Fall ist ein Farbbild im sRGB8-Farbraum, weil die Lichtemission auch gefärbt werden kann: daher ist es nicht die einfache Intensität der Emission, die wir mit L8 hätten ausdrücken können, um ein skaliertes Bild von Grautönen zu erzeugen, sondern sowohl in Farbe als auch in Farbe Intensität).

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 09

Aber seien Sie vorsichtig: Wir haben diese beiden Informationskanäle nur für das aktuelle Textur-Set hinzugefügt. Um Fehler zu vermeiden, müssen wir den Vorgang auch für die anderen Textur-Sets des Projekts wiederholen ...

… Oder erstellen Sie das Projekt beim nächsten Mal mit einer Vorlage, die für unsere Zwecke geeignet ist. In Bezug auf Unity 5 stellt Substance Painter 2019 beim Erstellen eines neuen Projekts beispielsweise die Vorlage "Unity 5 (Allegorithmic)" bereit, um diese und andere Einstellungen zu finden, die bereits für den Export nach Unity 5 optimiert sind In diesem Abschnitt erfahren Sie, wie Sie eine benutzerdefinierte Voreinstellung erstellen. Außerdem erfahren Sie, wie Sie eine eigene Vorlage erstellen.

PRÜFEN SIE DIE INFORMATIONEN FÜR ALLE KANÄLE. VERWENDUNG DER FÜLLSCHICHT

Nachdem wir die fehlenden Informationskanäle für alle Textur-Sets hinzugefügt haben, betrachten wir diese Kanäle separat in der 3D-Ansicht, indem wir sie aus der Auswahl oben rechts in der 3D-Ansicht auswählen oder mehrmals auf die Verknüpfung "C" drücken, um sie zu ändern zyklisch (Verknüpfung "M", um zur Gesamtansicht des Materials zurückzukehren).

Bei einigen Kanälen stellen wir fest, dass Substanz in Wirklichkeit keine Informationen generiert: Wir bemerken dies aufgrund der Schachbrettstruktur, die in meinem Beispiel auf Kanäle wie Normal, Höhe, Deckkraft und Emission angewendet wird.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 10

Das Fehlen dieser Informationen kann während der Exportphase ein erhebliches Problem darstellen: Die Substanz wird diesen Kanälen in den Texturen tatsächlich einen Wert verleihen, wobei normalerweise die Farbe einiger Texturen wie Deckkraft oder Emission auf Schwarz gesetzt wird. Wenn dies für die Emission im Allgemeinen in Ordnung ist (da die Materialien in den meisten Fällen kein Licht emittieren), ist dies für die Deckkraft nicht gut, da die Deckkraft bei Schwarz (dh 0) tatsächlich ein transparentes Objekt bedeutet!

Es gibt verschiedene mögliche Lösungen für dieses Problem. Hier sage ich Ihnen, was ich normalerweise mache: Für jeden Textur-Satz des Projekts füge ich unten eine Standard-Füllschicht hinzu, dh eine Füllstufe; Standardmäßig hat dieser Ebenentyp Höhe und Emission bei 0,0 (schwarz: kein Relief oder Lichtemission) und andererseits Deckkraft bei 1,0 (weiß, undurchsichtiges Objekt, nicht transparent): Einstellungen, die in den meisten Fällen zutreffen sehr gut.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 11

Die Füllebene muss wie erwähnt am unteren Rand des Ebenenstapels jedes Textur-Sets eingefügt werden: Auf diese Weise werden die Informationen der anderen vorhandenen Ebenen nicht abgedeckt und die fehlenden Informationskanäle werden nur mit Standardwerten gefüllt, die Im Allgemeinen werden sie in Ordnung sein.

SP 2019 20191028 006 Esportare le Textures I parte Presets nativi 12

ZUSAMMENFASSUNG ...

Zusammenfassend: Wenn wir ein Projekt erstellen, sollten wir zunächst die entsprechende Vorlage basierend auf der Zielsoftware auswählen, um die Informationskanäle und andere geeignete Einstellungen zu erhalten.

Bei fehlenden Informationskanälen können wir das Problem lösen, indem wir die erforderlichen (und eventuell die technischen Einstellungen ändern) in den Textur-Set-Einstellungen für jedes in der Liste vorhandene Textur-Set für das aktuelle Projekt hinzufügen.

Bevor wir mit dem Export fortfahren, können wir in der 3D-Ansicht mit C durch die Kanäle scrollen, um fehlende Informationen zu identifizieren und gegebenenfalls das Problem mit einer Füllschicht zu lösen, dh einer Füllstufe, die am unteren Rand des Stapels platziert werden soll von Ebenen und Materialien auf der Registerkarte Ebenen für jeden Textur-Satz des Projekts.

Überprüfen Sie abschließend vor dem Exportieren des Dateiformats das Dateiformat und stellen Sie eines mit einem Alpha-Kanal (z. B. PNG) ein, wenn diese Informationen erforderlich sind. Andernfalls wird je nach Bedarf ein anderes Format verwendet.

Für diese erste von zwei Raten zum Exportieren von Texturen aus Substance Painter ist es soweit!

In der nächsten Folge werden wir sehen, wie wir unsere eigene benutzerdefinierte Exportvoreinstellung definieren, um die Texturen zu exportieren, an denen wir interessiert sind, und sie unter anderem mit einem benutzerdefinierten Namensschema unter Verwendung der Substanzmakrovariablen erstellen. Wir werden auch sehen, wie wir unsere eigene Vorlage mit den Einstellungen erstellen, die wir für alle unsere neuen Projekte haben möchten.

Wie immer lade ich Sie ein, Zweifel, Fragen oder Aufforderungen zur Klärung in den Kommentaren zum Video auf Youtube auszudrücken. Bis bald!