Substance Assets und Redshift

Schnellzugriff:


Rendern eines Cinema 4D-Materials mit Redshift

Nach dem Laden der benötigten Substance 3D Assets (z. B. über den Lade Substance...-Befehl aus dem Erweiterungen-Menü, so wie u. a. hier beschrieben), entstehen standardmäßig klassische Materialien für den Cinema 4D-Renderer. Diese lassen sich jedoch auch direkt mit dem Redshift-Renderer kombinieren. Dabei ist nur zu beachten, dass ein Displacement im Material des Substance 3D Assets nur mit der vorhandenen Geometrie der belegten Objekte funktioniert. Sie müssen also selbst dafür sorgen, dass genügend Unterteilungen an dem Objekt vorhanden sind, um den gewünschten Detailgrad bei der Displacement-Verformung zu ermöglichen. Das Redshift Object Tag wird nicht benötigt, bzw. kann beim Rendern von Cinema 4D-Materialien durch Redshift auch nicht zum Erhöhen der Unterteilungsdichte am Objekt für das Displacement genutzt werden.


Ein im klassischen Substance Asset-Material genutztes Displacement kann beim Rendern mit Redshift nur die bereits vorhandene Geometrie des Objekts verwenden.
Sub Polygon Displacement kann nicht genutzt werden.

Wie in obigen Abbildung zu erkennen, ist es an Grundobjekten einfach möglich die Unterteilungsdichte anzupassen, indem die angebotenen Segmente-Werte entsprechend erhöht werden. Bei reinen Polygon-Objekten ist dies jedoch etwas problematischer, da dort diese Möglichkeit nicht besteht. Dies liegt auch daran, dass die Sub Polygon Displacement-Funktion des Cinema 4D-Materials nicht in Redshift funktioniert und die Unterteilungen des Redshift Object Tags nicht für das Displacement dieses normalen Cinema 4D-Materials ausgewertet werden können.
Die Lösung dieses Problems liegt in der Umwandlung des geladenen Substance 3D Assets in ein Redshift Shader Graph-Material (siehe nächster Abschnitt auf dieser Seite).

Die eigentlichen Einstellungen, die zur Berechnung des Substance Assets verwendet werden, können Sie nach Selektion des Assets im Substance Asset Manager direkt im Attribute-Manager editieren. Dort gibt es einen speziellen Modus zur Darstellung von Substance Assets, der hier beschrieben wird.


Erstellung eines Redshift Shader Graph-Materials für ein Substance 3D Asset

Falls Sie alle Optionen eines Redshift-Materials und auch des Redshift Object Tags benötigen, können Sie ein geladenes Substance 3D Asset jedoch auch für Redshift auswerten lassen. Öffnen Sie dafür den Substance Asset Manager durch Aufruf in der Substance-Engine-Kategorie im Erweiterungen-Menü von Cinema 4D und wählen Sie dort das gewünschte Asset aus. Öffnen Sie anschließend das Material-Menü im Material-Manager und wählen Sie dort Tools/Create Materials from Selected Substance Assets aus.
Wichtig ist also, dass bei Aufruf dieses Befehls nicht die Auswahl eines Materials im Material-Manager ausgewertet wird, sondern die Auswahl im Substance Asset Manager!


Ein im Substance Asset Manager ausgewähltes Asset kann zu einem Redshift Shader Graph-Material umgerechnet werden.

Nach der Verarbeitung des Befehls erscheint ein neues Redshift Shader Graph-Material im Material-Manager. Falls durch das ursprüngliche Laden des Substance 3D Assets bereits ein Cinema 4D-Material vorhanden ist, bleibt dieses zusätzlich erhalten. Durch einen Doppelklick auf das neue Redshift-Material öffnet sich der Redshift Shader Graph Editor und zeigt die Node-Schaltung dieses Materials an (siehe folgende Abbildung). Ansonsten können Sie den Redshift Shader Graph Editor auch jederzeit über das Redshift-Hauptmenü in Cinema 4D öffnen lassen.


Das Redshift-Material eines Substance Assets im Redshift Shader Graph Editor

Die Anzahl und Art der dort verwendeten Nodes hängt dabei von dem jeweiligen Substance 3D Asset ab und kann daher stark variieren. Alle vom Asset angebotenen Texturen sind jedoch in jedem Fall über C4D Shader-Nodes und Redshift Texture-Nodes vertreten. Ein großer Teil dieser Texturen dürfte dabei bereits korrekt an einen RS Material-Node geleitet werden, aber es gibt auch immer wieder Texturen, die durch die aufgerufene Funktion des Material-Managers nicht eindeutig zugewiesen werden konnten. In obiger Abbildung ist dies z. B. an der Metallic Shader-Textur ganz oben in der Schaltung zu erkennen, die nicht mit dem Material verbunden wurde. In solchen Fällen lohnt ein Blick in das ursprüngliche Cinema 4D-Material, wie dort diese Textur verwendet wurde. Oftmals handelt es sich z. B. um zusätzliche Glanz- oder Spiegelungsebenen, die dann im Redshift-Material z. B. über die Coating-Ebene umgesetzt werden können.

Für viele Substance 3D Asset-Materialien ist jedoch auch die Normalen-Textur wichtig, die - wie oben zu sehen - automatisch als einfache Bump-Map zugewiesen wurde. Dies muss in jedem Fall manuell korrigiert werden, damit das Material wie gewünscht berechnet werden kann. Derartige Texturen müssen in Redshift über einen RS Bump Map-Node verknüpft werden. Zudem ist daran die Richtung der Y-Achse umzukehren (Flip Normal Y), um den gewünschten Effekt zu erhalten (siehe folgendes Bild).


Korrektur der Zuweisung der Normalen-Textur und Optimierung der Nutzung der Asset-Texturen am Redshift Material.

Wie ebenfalls in der obigen Abbildung zu erkennen, können auch noch zusätzliche Eingänge am RS Material genutzt werden, um alle Texturen wie am Cinema 4D-Material zu nutzen. Natürlich eröffnet dies auch Optionen für eigene Parameter- und Eigenschaftssteuerungen am Redshift Material, falls Sie das Material Ihren eigenen Vorstellungen entsprechend anpassen oder optimieren möchten.

Nachdem Sie dieses neue Redshift-Material dem Objekt im Objekt-Manager zugewiesen haben, können Sie für dieses Objekt auch ein Redshift Objekt-Tag aufrufen. Sie finden dies im Objekt-Manager unter Tags/Render Tags. Dieses Tag wird immer dann benötigt, wenn das Redshift-Material Displacement nutzt (siehe Nutzung der Height Shader-Textur im untersten Schaltungsteil obiger Abbildung). Mögliche Einstellungen am RS Objekt-Tag finden Sie in der folgenden Abbildung.


Einstellungen am Redshift Objekt-Tag, um Displacement an einem Objekt zu aktivieren und ggf. zusätzliche Unterteilungen dafür während des Renderings ergänzen zu lassen.

Die Override-Option ganz oben in den Geometry-Einstellungen des Tags muss in jedem Fall aktiviert werden, um die Enabled-Option in der Displacement-Gruppe anschalten zu können. Nur so findet eine Displacement-Berechnung an dem Objekt überhaupt statt. Dort finden Sie auch den Wert für Maximum Displacement, über den die maximale Verformung der Oberfläche angegeben wird. Diesen Wert sollten Sie in der Regel direkt mit der Scale-Einstellung des Redshift Displacement-Nodes synchronisieren, der im Redshift Shader Graph des Materials zu finden ist.

Zum Verfeinern der Unterteilungen am Objekt aktivieren Sie zusätzlich die Enabled-Option im Tesselation-Teil der Einstellungen und nutzen diese Einstellungsgruppe, um die gewünschte Detaildichte für das Displacement zu konfigurieren. Die Konfiguration hier hängt von den Abmessungen und der bereits vorhandenen Polygondichte des Objekts ab. Lesen Sie dazu ggf. die Dokumentation zum Redshift Objekt Tag nach.

Die eigentlichen Einstellungen, die zur Berechnung des Substance Assets verwendet werden, können Sie nach Selektion des Assets im Substance Asset Manager direkt im Attribute-Manager editieren. Dort gibt es einen speziellen Modus zur Darstellung von Substance Assets, der hier beschrieben wird. Da das Redshift Shader Graph-Material indirekt auch auf die Substance-Shader zurückgreift, die auch im klassischen Cinema 4D Material verwendet wurden, reagieren beide Materialarten gleichermaßen auf Veränderungen am Substance Asset.


Verwendung des Substance 3D Material-Nodes in einem Redshift Node-Material

Der direkte Weg zur Nutzung einer Substance Archive-Datei (.sbsar) in einem Redshift Node-Material steht ebenfalls offen. Dafür ziehen Sie die entsprechende .sbsar-Datei aus dem Finder oder Explorer einfach direkt auf das Cinema 4D-Interface oder rufen im Erzeugen-Menü des Material-Managers den Befehl Unterstützung/Substance auf. Es öffnet sich ein Datei-Dialog, über den Sie die gewünschte Substance-Datei laden können.

Als Ergebnis entsteht ein neues Redshift Standard-Material, in dem ein Substance 3D Material-Node die Verbindung zu der .sbsar-Datei herstellt und die entsprechenden Kanäle des Substance Assets als gebackene Texturen zur Verfügung stellt (siehe Beispiel in nachfolgender Abbildung).


Ein Substance 3D Material-Node kann in Redshift-Node-Materialien verwendet werden, um ein Substance Assets auszulesen.

Wie in obiger Abbildung zu erkennen, werden automatisch alle Textur-Kanäle des Substance 3D Assets am Substance 3D Material-Node zur Verfügung gestellt und - je nach Eigenschaften des Substance 3D Assets - automatisch mit Bump Map-, Displacement- und dem Standard Material-Node verbunden, Einzig die Intensität des Displacements wird standardmäßig nur mit dem Scale-Wert 1 angegeben (siehe Abbildung oben) und muss daher in einigen Fällen noch individuell angepasst werden. .

Denken Sie zudem daran, dass für die Nutzung von Displacement auch ein Redshift Objekt-Tag an dem jeweiligen Objekt benötigt wird, an dem das Displacement und die dafür zu nutzende Unterteilungsdichte am Objekt ebenfalls konfiguriert werden muss.

Der durch den oben beschriebenen Arbeitsweg automatisch erstellte Substance 3D Material-Node kann ansonsten natürlich auch von Ihnen manuell, z. B. über die Suchfunktion im Asset Browser zu einem Node-Material hinzugefügt werden. Sie finden den Substance 3D Material-Node dort in der Kategorie der Material-Nodes. In den Einstellungen der Eingänge-Kategorie am Substance 3D Material-Node ist dort beim Datei-Parameter die Möglichkeit zum Laden der gewünschten .sbsar-Datei zu finden. Zum Öffnen eines Datei-Dialogs klicken Sie einfach auf das kleine Ordner-Symbol rechts neben dem Feld für den Dateipfad. Wurde z. B. noch nachträglich etwas an dem Substance 3D Asset verändert, können Sie über die Neu Laden-Schaltfläche im Befehle-Tab auch jederzeit das erneute Laden des Assets auslösen.


Der Substance 3D Material-Node ermöglicht auch das manuelle Verknüpfen mit einer .sbsar-Datei.


2024

Konfigurieren der Textur-Auflösung

Am selektierten Substance 3D Material-Node finden Sie auch eine Substance 3D Material-Kategorie im Attribute-Manager, in der Sie u. a. die gewünschte Auflösung der Texturen über Breite- und Höhe-Parameter wählen können, die dann an den Ausgängen des Nodes zur Verfügung gestellt werden (siehe folgende Abbildung).
Beachten Sie dabei auch die Proportionen erhalten-Option. Ist diese aktiv, lassen sich immer nur quadratische Texturen berechnen. Dies ist oft sinnvoll, da diese speicherschonender komprimiert und von der Grafikkarte verarbeitet werden können. Deaktivieren Sie diese Option, wenn Sie dennoch unterschiedliche Werte für Breite und Höhe verwendenden möchten.
Abschließend ist in dieser Kategorie auch ein Startwert zu finden, der die Basis für alle zufälligen Berechnungen des geladenen Substance 3D Assets bildet. Verändern Sie diesen Wert, um eine neue Variante des Assets zu erhalten.


Am Substance 3D Material-Node kann die gewünschte Auflösung für die ausgegebenen Texturen des Substance 3D Assets eingestellt werden..
Hinweis zur Auflösung der gebackenen Substance Asset-Texturen:

Die Vorgaben für Breite und Höhe werden auch für das manuelle Speichern der ausgegebenen Texturen verwendet. Sie finden in den Befehle-Einstellungen des Substance 3D Asset-Nodes eine Schaltfläche zum Exportieren der Texturen als TIFF-Dateien.


In den Befehle-Einstellungen des Nodes finden Sie Schaltflächen zum Neu Laden des bei Datei angegebenen Substance 3D Assets und um die ausgegebenen Texturen als einzelne TIFF-Dateien Exportieren zu lassen. Letzteres ermöglicht dann die Nutzung einzelner Substance 3D Asset-Eigenschaften als normale Bitmap-Texturen.


Weitere Asset-Einstellungen

Wenn im Adobe Substance 3D Designer zusätzliche Parameter zur Steuerung der Substance-Berechnung verwendet und dem Nutzer zur Verfügung gestellt wurden, können auch diese Einstellungen direkt über den Substance 3D Material-Tab im Attribute-Manager editiert werden, wenn der Substance 3D Material-Node innerhalb des Node-Materials selektiert ist (siehe Beispiel in der folgenden Abbildung).
Die Anzahl und Art dieser Einstellungen kann von Asset zu Asset sehr unterschiedlich sein. So sind auch Substance 3D Assets denkbar, die gar keine Einstellungen anbieten und daher nur ein statisches Ergebnis erzeugen, das dann in Cinema 4D gar nicht editiert oder animiert werden kann.
Beachten Sie, dass - je nach Komplexität des Substance Assets - nach der Veränderung der angebotenen Einstellungen, die an den Ausgängen des Substance 3D Material-Nodes zur Verfügung gestellten Texturen neu berechnet werden müssen. Die Verwendung großer Texturauflösungen (siehe Breite- und Höhe-Einstellungen) spielt dabei ebenfalls in die Berechnungsdauer einer Aktualisierung hinein.

Hinweis zur Unterstützung spezieller Substance 3D Asset-Eigenschaften:

Beachten Sie, dass Verlinkungsoptionen für Bitmaps und Fonts nicht am Substance 3D Material-Node zur Verfügung gestellt werden können.


Beispielhafte Darstellung von Einstellungen für ein Substance 3D Asset an einem Substance 3D Material-Node.

Von Fall zu Fall kann es auch vorkommen, dass noch zusätzliche technische Einstellungen in einer gesonderten Technical Parameters-Gruppe angeboten werden, so wie in der nachfolgenden Abbildung. Dabei geht es um das Verfahren, mit dem die RGB-Werte der Normalen-Berechnung interpretiert werden sollen.


Wahlmöglichkeit für die Interpretation berechneter Normal-Maps.
2024

OpenGL und DirectX interpretieren die RGB-Werte einer Normalen-Map unterschiedlich. Dabei geht es vor allem um die Grün-Werte dieser Textur. Bei OpenGL wird der erste Pixel des grünen Farbkanals unten erwarten, wogegen bei DirectX der erste grüne Pixel oben erwartet wird. Bei Auswahl der "falschen" Methode kann also der Effekt eines invertierten Grün-Kanals und somit einer umgedrehten Y-Richtung für die Normalen resultieren.
In den meisten Fällen wird die richtige Methode hier automatisch eingestellt. Falls das Asset jedoch keine Informationen zum verwendeten Format der Normalen zur Verfügung stellt, wird automatisch DirectX verwendet und die Umkehrung des Y-Anteils der Normalen am Bump Map-Node aktiviert. Wenn Sie dies nicht wünschen, können Sie diese Vorgaben auch manuell umschalten.

Diese Umschaltung wird nur deswegen angeboten, weil es die Substance Engine sowohl basierend auf OpenGL als auch auf DirectX gibt und daher nicht immer klar ersichtlich sein kann, mit welcher dieser Versionen die Erstellung der Assets und somit auch die Berechnung und Auswertung der Normal-Maps erfolgt. Sie können für sich jederzeit in den Programm-Voreinstellungen unter Erweiterungen/Substance-Engine unter Aktive Substance-Engine ablesen, welche dieser Varianten verwendet wird.