Workflow-Übersicht
Substance 3D Designer ist ein knotenbasierter Editor. Das bedeutet, dass für fast jede Art von Projekt oder Ressource Knoten (Bausteine) platziert und verbunden werden, um eine Kette von Vorgängen (einen Graf) zu erstellen.
Auf dieser Seite wird das Konzept knotenbasierter Arbeitsabläufe erläutert und eine Zusammenfassung der drei Haupttypen von Graf bereitgestellt, die Sie in Designer erstellen können.
Knotenbasierter Arbeitsablauf
Das Arbeiten in Designer unterscheidet sich von anderen 2D-Bildbearbeitungsprogrammen wie Photoshop. Anstatt eine Aktion manuell auszuführen (z. B. die Sättigung anzupassen, indem Sie zu einer Menüoption wechseln und einen Schieberegler ändern), erstellen Sie das Bild in logischen Schritten. Dies geschieht durch den Aufbau eines Netzwerks von kleinen Bausteinen, die “Nodes” genannt werden. Bilddaten werden von links nach rechts durch die Bausteine geleitet, die durch Verknüpfungen verbunden sind, die den Pfad der Informationen bestimmen. Jeder Knoten trägt, wenn er verbunden ist, zu den Endergebnissen bei.
Der Hauptvorteil besteht darin, dass Ihr Arbeitsablauf nicht linear wird: Im Gegensatz zu Aktionen, die manuell ausgeführt werden und in einen Verlaufsknoten gehen, können Sie einen Stapel jederzeit austauschen oder ändern.
Wenn du feststellst, dass deine allererste Anpassung des Kontrasts, die das Endergebnis beeinflusst hat, zu intensiv war, kannst du immer noch zurückgehen und sie anpassen oder sogar ganz ausschneiden, ohne all die Arbeit zu verlieren, die du hinterher geleistet hast.
Arbeitsablauf für Grafikinstanzen
Das Instanziieren von Grafen ist ein wichtiger Prozess in Designer. Sie können eigene Graf erstellen, indem Sie einen Knoten oder einen Teil eines Grafen als wiederverwendbaren Knoten verpacken. Diese werden Instanzknoten genannt und ermöglichen es Ihnen, effizienter zu arbeiten, indem Sie Graf wiederverwenden.
Beispiel: Haben Sie eine tolle Technik für Kantenverschleiß entwickelt? Teilen Sie diesen in einen separaten Graf auf und verwenden Sie ihn in anderen Projekten wieder!
Weitere Informationen zu Grapheninstanzen finden Sie in einem dedizierten Abschnitt über ihre Verwendung in Substance-Grafen.
Benutzerdefinierte Parameter
Jeder Knoten in der Kette von Vorgängen hat irgendeine Form von Steuerelementen: -Schaltflächen, Schiebereglern und Einstellungen, mit denen Sie das Endergebnis optimieren können.
Wenn Sie einen Untergraph erstellen oder Ihre Substance-Datei in eine andere Anwendung exportieren möchten, können Sie ein eigenes “Steuerungsfenster” für Ihre Graf erstellen, damit andere Benutzer sie mit einem völlig eindeutigen Steuerungsfenster anpassen und ändern können.
Erfahren Sie hier mehr über das allgemeine Konzept der benutzerdefinierten Parameter “hier”, oder gehen Sie in “Tiefe” vor, und beginnen Sie mit dem leg der Parameter "".
Graf
Im Folgenden finden Sie eine Zusammenfassung der drei Dokumenttypen, die Sie in Substance 3D Designer bearbeiten können, sowie einen Link zum entsprechenden Abschnitt in der Graf-Dokumentation.
Substance-Graf sind der Haupttyp des in Substance 3D Designer erstellten Grafen. Ihr Zweck ist es, 2D-Bilddaten zu generieren und zu verarbeiten, die nicht auf eine festgelegte Auflösung, Farbe oder Form beschränkt sind. Sie sind als äußerst vielseitige Bildverarbeitungs- und Generierungswerkzeuge gedacht und nicht nur als statische, voreingestellte Ergebnisse.
Die Ergebnisse können in Form eines einfachen Schwarzweißmusters, eines Filters, der nur auf anderen Bildern ausgeführt wird und keinen Inhalt für sich selbst erzeugt, oder sogar eines vollwertigen prozeduralen Materials mit mehreren Kanälen vorliegen.
Substance-Graf sind der am weitesten unterstützte Graf -Typ und können exportiert und in einer Vielzahl von verschiedenen Workflows verwendet werden.
Beispiele
Im Folgenden finden Sie einige typische Anwendungsbeispiele.
Eine einfache Maskenform für einen Aufkleber wird erstellt, indem ein Textstück und ein Datenträgerform generiert werden, die Kante von der Festplatte extrahiert wird und diese schließlich zusammengemischt werden, bevor sie als endgültige Ausgabe festgelegt werden.
Der Text mit der Nummer oder die Thickness der Kante kann extern gelegt werden, um den Graf dynamischer zu gestalten.
Ein Graf nimmt eine Normalen-Map als Eingabe (mit einer benutzerdefinierten Vorschau), konvertiert sie in Krümmung und passt den Kontrast an, um eine Maske mit konvexen Kanten als endgültige Ausgabe zu erstellen.
Die im Histogramm festgelegten Kontrastwerte können gelegt werden, sodass es sich um ein einfaches, aber brauchbares Filter in Verbindung mit dem dynamischen Eingangsschlitz handelt.
Ein komplizierterer Graf überblendet zwei Basismaterial . Ein Basismaterial ist einfach gehalten, das andere verwendet einige benutzerdefinierte Eingaben, um Interesse hinzuzufügen. Mit einer Maske wird bestimmt, welches der beiden Material an welcher Stelle angezeigt wird, bevor es als endgültige Ausgaben festgelegt wird.
In diesem Beispiel werden Verknüpfungserstellungsmodi zur Vereinfachung der Verwendung mehrerer Verknüpfungen verwendet.
Funktionen verarbeiten Einzelwerte (Ganzzahlen, Gleitkommawerte, Vektoren) und nicht Pixelsätze (Bilder). Funktionen sind auch Knotenknoten, aber die Graf sind , und ihre Benutzeroberfläche unterscheidet sich von Substance-Graf.
Der Arbeitsablauf basiert auf mathematischen und logischen Vorgängen, wodurch sie eine weitaus fortschrittlichere Arbeitsweise in Designer ermöglichen.
Funktionen können in vielen verschiedenen Kontexten verwendet werden, wobei die wichtigsten folgende sind:
- Das Verhalten von einem freigelegte Parameter wird geändert.
- Verfassen des Verhaltens von Pixelprozessoren oder FX-Maps
- Verwenden von Werten anstelle von Bildern in Substance-Grafen zu bestimmten Zwecken
Beispiele
Im Folgenden finden Sie einige Beispiele aus gängigen Anwendungsfällen für Substance-Funktionsdiagramme.
Eine einfache Funktion im Kontext eines exponierten Parameters. Es erhält einen Eingangs-Gleitkommawert namens “Intensität”, der von 0 bis 1 geht (ein Bereich, der leicht zu verstehen ist) und weist ihn einem festgelegten Bereich von 0,1 bis 0,8 neu zu. Wenn der Benutzer also die Intensität auf 0 setzt, wird intern 0,1 verwendet, wenn die Benutzeroberfläche auf 1 gesetzt ist, wird 0,8 verwendet und jeder Wert dazwischen wird linear interpoliert. Dieser Funktionstyp wird häufig verwendet, wenn Parameter verfügbar macht, aber benutzerdefinierte Funktionen verwendet werden.
Diese Funktion könnte auch als lerp(0.1, 0.8, Intensity) in einem Pseudocode ähnlich wie HLSL oder GLSL geschrieben werden.
Diese erweiterte Funktion zeigt die inneren Funktionen eines Pixelprozessors, der zum Anpassen des Farbtons einer Farbmapeingabe basierend auf der Intensität einer zweiten Graustufenmaskeneingabe vorgesehen ist.
Es erfasst beide Eingaben mit der Variablen “$pos” des Systems, entfernt dann das Alpha, konvertiert den Farbwert in HSL und ändert die Farbtonkomponente, indem es mit dem aufgenommenen Graustufenwert multipliziert wird. Anschließend wird der Vektor neu zusammengestellt, die HSL wieder in RGB konvertiert und das Alpha für die endgültige Ausgabe wieder hinzugefügt.
im Pseudocode wäre dies eine viel kompliziertere Funktion, die nicht auf eine einzelne Zeile passen würde.