Substance
Adobe Substance 3D Designer ist ein mächtiges, Node-basiertes Texturierungswerkzeug, das zur Erstellung von prozeduralen Texturen gedacht ist. Die dort erstellten Texturen (exportieren Sie diese mittels des Befehls "Publish") werden mittels sog. "Substance Archive"-Dateien (Dateiendung *.sbsar) für externe Programme als Asset zur Verfügung gestellt. D.h. Cinema 4D kann diese Substances importieren und als Material verarbeiten. Neben käuflich zu erwerbenden Substances (z. B. https://substance3d.adobe.com/assets) gibt es auch frei verfügbare (z. B. unter https://substance3d.adobe.com/community-assets).
Themen auf dieser Seite
- Ein schneller Überblick
- Klassische Materialien für Substance 3D Assets
- Wie funktioniert ein Substance Asset in Cinema 4D?
- Limitationen
Ein schneller Überblick
Das folgende Diagramm zeigt die verschiedenen Optionen, die beim Zusammenspiel zwischen Adobe Substance 3D Assets und Cinema 4D möglich sind. Diese Vielzahl an Optionen ergibt sich aus der Unterstützung der verschiedenen Renderer (klassische Cinema 3D oder Redshift) und den verschiedenen Node-Systemen (Node-Material oder Shader Graph-Material).
Zusammenfassend lässt sich dazu sagen:
- 1. Zum Laden eines Substance 3D Assets als Redshift Node-Material aktivieren Sie Redshift in den Rendervoreinstellungen als Renderer und verwenden im Material-Manager den Befehl Erzeugen/Unterstützung/Substance. Sie sind dann bereits fertig. Innerhalb des Node-Materials stellt ein Substance Material-Node die Verbindung zu der .sbsar-Datei her und stellt alle verfügbaren Materialeigenschaften und Einstellungsparameter zur Verfügung.
Die sicherlich einfachste Option zum Erstellen eines Redshift-Materials für ein Substance 3D Asset ist, die .sbsar-Datei eines Substance 3D Assets einfach aus dem Finder oder Explorer direkt auf das Interface von Cinema 4D zu ziehen (z. B. auf den Material-Manager, das Ansichtsfenster, den Objekt-Manager oder den Attribute-Manager). Es entsteht dann automatisch ein Redshift Node-Material, das die entsprechenden Kanäle des Assets über einen eigenen Substance Material-Node ausliest (siehe rechter Ast obiger Abbildung).
Alternativ hierzu können Sie auch im Material-Manager unter Erzeugen/Unterstützung/Substance direkt einen Dateidialog zum Laden eines Substance 3D Assets im .sbsar-Format öffnen. Nach Auswahl des Assets wird dann ebenfalls ein Redshift Node-Material für das geladene Asset erstellt.
Wenn ein vorhandenes Substance 3D Assets eventuell in mehreren Projekten zum Einsatz kommen soll, kann auch die Speicherung im Asset Browser sinnvoll sein. Von dort kann dann jederzeit auf das Substance 3D-Material zugegriffen werden. Dazu ziehen Sie die gewünschte .sbsar-Datei aus dem Finder oder Explorer direkt auf den Asset-Browser von Cinema 4D. Es öffnet sich dann ein Dialogfenster, über das Sie den gewünschten Namen und auch die Kategorie innerhalb des Asset Browsers auswählen können, unter der das Substance 3D-Material ab sofort zu finden sein soll.
Weiterführende Hinweise zum Anlegen, Verwalten und Abrufen von Assets aus dem Asset Browser sind auf diesen Seiten in der Dokumentation zu finden.
Weitergehende Informationen zum Umgang mit Substance 3D Assets beim Rendern mit Redshift finden Sie zudem auf dieser Seite.
- 2. Zum Laden eines Substance 3D Assets als klassisches Cinema 4D-Material rufen Sie im Erweiterungen-Menü den Befehl Substance-Engine/Lade Substance... auf. Hierdurch wird nicht nur ein Cinema 4D-Material erstellt, sondern in diesem Material sorgen auch spezielle Substance-Shader für das Auslesen der verfügbaren Substance-Ausgabekanäle. Die Substance Shader im Material kommunizieren dabei mit dem Substance 3D Asset, das im separaten Substance Asset Manager verwaltet wird. Ein im Substance Asset Manager ausgewählte Asset stellt seine Einstellungen im Attribute-Manager zur Verfügung.
Wenn Sie Erweiterungen/Substance-Engine/Lade Substance... zum Laden verwenden, werden Substance 3D Assets als Materialien für den klassischen Standard-Renderer geladen, selbst wenn Redshift als aktiver Renderer in den Rendervoreinstellungen ausgewählt wurde. Redshift kann diese Materialien zwar ebenfalls direkt rendern, allerdings wird dabei kein Displacement über das RS Objekt-Tag oder die Sub Polygon Displacement-Option der Materialien unterstützt. Objekte müssen daher selbst über ausreichend viele Unterteilungen verfügen, um Displacement im Rendering zu zeigen.
Sollte der Standard-Renderer oder der Physikalische Renderer aktiv sein, entsteht beim Drag&Drop eines Substance 3D Assets auf das Cinema 4D-Interface ebenfalls automatisch ein dazu passendes Cinema 4D Standardmaterial (siehe linker Ast obiger Abbildung).
- 3. Ein im Substance Asset Manager selektiertes Substance Asset kann durch Aufruf von Material/Funktionen/Materialien aus ausgewählten Substance-Assets erstellen im Material-Manager auch zur Erstellung eines Redshift Shader Graph-Materials genutzt werden. Das Shader Graph-Material nutzt dabei die auch im klassischen Material genutzten Substance Shader zum Auslesen der Substance-Materialeigenschaften.
Wurden Substance 3D Assets über Erweiterungen/Substance-Engine/Lade Substance... geladen, erscheinen diese auch im separaten Substance Asset Manager, der sich ebenfalls über Erweiterungen/Substance-Engine öffnen lässt. Wurde dort ein Substance 3D Asset ausgewählt, kann dieses im Material-Manager über den Befehl Material/Funktionen/Materialien aus ausgewählten Substance-Assets erstellen auch in ein Redshift Shader Graph-Material umgewandelt werden. Bei diesem besteht dann auch ganz normal die Option zur Nutzung von Displacement und des RS Objekt-Tags. Allerdings sollte die Zuweisung der durch das Substance 3D Asset generierten Texturen zu den Eigenschaften und Kanälen des Redshift-Materials auch manuell noch einmal überprüft werden. Es kann dort vorkommen, dass einzelne Substance-Eigenschaften neu oder zusätzlich verknüpft werden müssen, um das gleiche Resultat, wie in Substance 3D Designer zu erhalten. Ausführliche Informationen zur Verwendung von Substance 3D Assets in Shader Graph-Materialien finden Sie auf dieser Seite.
Klassische Materialien für Substance 3D Assets
- Rufen Sie den Befehl Lade Substances (Hauptmenü: Erweiterungen/Substance-Engine) auf und wählen Sie eine Substance 3D Asset-Datei mit der Dateiendung *.sbsar.
- Nach erfolgreichem Laden der Datei wird neben dem Asset selbst voreinstellungsgemäß ein klassisches Cinema 4D-Standardmaterial zu dem Substance 3D Asset erzeugt, das wie gewohnt Objekten zugewiesen werden kann (sollten Sie sich beim Rendern über eine zu geringe Texturauflösung wundern, selektieren Sie das zugehörige Asset im Substance Asset Manager, den Sie ebenfalls über das Menü Erweiterungen/Substance-Engine öffnen können und ändern die beiden Parameter Breite und Höhe, die Sie im Attribute-Manager angezeigt bekommen).
Wie funktioniert ein Substance Asset in Cinema 4D?
Ein Substance 3D Asset wird in Adobe Substance 3D Designer erstellt. Dieses besteht dort in der Regel aus einer Anzahl Nodes mit einer Vielzahl von eigenen Parametern. Innerhalb von Substance 3D Designer können Sie festlegen, welche dieser Parameter herausgeführt werden sollen. Diese Parameter können dann auch in Cinema 4D geändert werden, um die Berechnung des Substance 3D Assets zu beeinflussen. Die Integration der Substance-Engine in Cinema 4D passt die Ausgabetexturen automatisch entsprechend an.
Nachfolgend finden Sie Informationen zur Anpassung der Substance 3D Asset-Einstellungen nachdem ein klassisches Cinema 4D-Material über Erweiterungen/Substance Engine/Lade Substance...erstellt wurde. Die gleichen Optionen können aber auch dann genutzt werden, wenn Sie ein geladenes Asset über den Substance Asset Manager ausgewählt und im Material-Manager über Material/Tools/Create Materials from Selected Substance Assets ein Redshift Shader Graph-Material erstellt haben. Dies liegt daran, dass im Shader Graph-Material auf die gleichen Substance-Shader zugegriffen wird, die auch im klassischen Cinema 4D-Material genutzt werden.
Redshift Node-Materialien verwenden hingegen einen eigenen Substance Material-Node, an dem Veränderungen an den Asset-Einstellungen direkt vorgenommen werden können. In dem Fall finden Sie alle Informationen dazu auf dieser Seite. Die folgenden Informationen sind in dem Fall nicht von Bedeutung für Sie.
Ein im Substance Asset Manager selektiertes Asset stellt seine Parameter im Attribute-Manager zur Verfügung, so wie es in obiger Abbildung zu sehen ist. Den Pfad zum geladenen Asset finden Sie dort bei der Ziffer 1. Damit ist auch das nachträgliche Aktualisieren oder Austauschen eines Assets problemlos möglich. Die Auflösung der Texturen, die durch das Asset berechnet werden, kann individuell über die Breite und Höhe-Parameter angepasst werden (siehe Ziffer 2).
Je nach Konfiguration des Assets im Substance 3D Designer, werden darunter die zur Steuerung der Asset-Berechnung angelegten Parameter angeboten (siehe Ziffer 3 in obiger Abbildung). Dieser Teil der Einstellungen wird daher für jedes Substance Asset unterschiedlich aussehen. Der Substance Asset-Dialog schließt unten jedoch in jedem Fall mit der Ausgabe-Gruppe ab, in der Voransichten der durch das Asset berechneten Texturen zu sehen sind (siehe Ziffer 4). Welche Texturen berechnet werden, wird ebenfalls ausschließlich innerhalb des Substance 3D Designers bei der Definition des Assets angelegt.
Wenn Sie das Substance 3D Asset über die Lade Substance...-Funktion des Erweiterungen-Hauptmenüs von Cinema 4D geladen haben. werden diese Texturen automatisch durch spezielle Substance Shader den entsprechenden Materialkanälen eines neu erstellten Materials zugewiesen. Sie können aber auch manuell Substance Shader erstellen und darüber beliebige Texturen des Substance 3D Assets verlinken. Dies ermöglicht dann z. B. auch die Nutzung dieser Texturen innerhalb eines Cinema 4D Ebenen-Shaders oder eines Displacer-Objekts.
Es gibt also folgende Substance-Elemente in Cinema 4D:
- Substance Asset Manager: enthält alle geladenen Assets (Nutzung von Erweiterungen/Substance-Engine/Lade Substance...) und verwaltet diese. Sie können den Substance Asset Manager jederzeit über Erweiterungen/Substance-Engine öffnen.
- Substance Asset: zeigt die Asset-Einstellungen von im Substance Asset Manager selektierten Assets im Attribute-Manager an. Beachten Sie, dass diese Einstellungen keine Auswirkungen auf Redshift Node-Materialien haben. Nur über Substance-Shader verlinkte Eigenschaften werden auf diesem Weg aktualisiert.
- Substance Shader: definiert den Asset-Ausgabekanal für den jeweiligen Einsatzzweck. Beim Laden eines Substance 3D Assets über Erweiterungen/Substance-Engine/Lade Substance... entsteht automatisch auch ein klassisches Cinema 4D Standardmaterial, in dem die Asset-Kanäle über Substance-Shader bereits integriert sind.
Darüber hinaus gibt es in den Programm-Voreinstellungen Substance-spezifische Einstellungen. - Substance Shader können auch in Redshift Shader Graph-Materialien verwendet werden. Am einfachsten ist es, wenn Sie ein bereits geladenes Substance Asset im Substance Asset Manager selektieren und dann im Material-Manager den Befehl Material/Tools/Create Materials from Selected Substance Assets aufrufen.
- Substance 3D Material-Node: Alternativ hierzu können Substance 3D Assets auch direkt über einen Substance 3D Material-Node z. B. in ein RS Standard-Material integriert werden. Ein vorheriges Laden des Assets in den Substance Asset Manager ist dabei nicht mehr nötig. Die einzelnen Ausgabekanäle des Substance 3D Assets können dann individuell verarbeitet und dem Material zugewiesen werden.
Noch einfacher ist es, wenn Sie z. B. über Erzeugen/Utilities/Substance im Material-Manager direkt ein Substance 3D Asset laden lassen. Es entsteht dann automatisch ein Redshift Standard-Material, in dem ein Substance 3D Material-Node alle Eigenschaften des Assets korrekt verknüpft zur Verfügung stellt.
Bei der Weitergabe (oder auch dem Team Rendern) eines Projekts müssen Sie sowohl die "*.c4d"-Projektdatei, als auch die darin verknüpften Substance-Dateien mitliefern. Der Befehl Projekt inkl. Assets speichern... hilft Ihnen, die verknüpften Assets in einem Ordner zu sammeln.
Ebenfalls möglich – sofern das in Substance 3D Designer definiert wurde – ist, Texturen in CINEMA 4D innerhalb des Assets zu laden und diese durch die Substance 3D Material-Nodes verarbeiten zu lassen. Sie müssen in Substance 3D Designer nur einen Color Image Input-Node verwenden. Dieser wird im Asset dann im Untertab Bildeingänge als ladbare Textur angezeigt, womit unzählige Effekte möglich sind.
Alle Asset-Parameter, durch die die Berechnung der Texturen beeinflusst werden, lassen sich direkt im Attribute-Manager editieren und auch über Keyframes animieren. Dadurch wird automatisch eine Neuberechnung des Substance 3D Assets pro Animationsbild ausgelöst. Damit diese Veränderungen auch jeweils zu einer Aktualisierung der Materialien führt, in denen Substance Shader auf diese Texturen zugreifen, sollte die Option Vorschau animieren in den Ansicht-Einstellungen des Materials aktiviert werden (diese Option ist automatisch aktiv bei Erstellung eines Materials über den Lade Substance...-Befehl).
Bei Redshift Node-Materialien nehmen Sie die Veränderung oder Animation des Substance Asset-Eigenschaften direkt am Substance-Node vor.
Sollten Animationen im Editor bei Verwendung von Substances in Cinema 4D-Materialien zu langsam ablaufen, können diese Maßnahmen Abhilfe schaffen:
- Achten Sie darauf, dass in den die Option Shader für Ansicht cachen aktiviert ist.
- Deaktivieren Sie in den Ansicht-Einstellungen des Substance-Materials die Vorschau animieren -Option..
- Achten Sie darauf, dass die Texturauflösung des Assets (siehe Breite- und Höhe-Parameter in den Asset- Einstellungen) der des Materials entspricht (siehe Textur:Vorschaugröße in den Ansicht-Einstellungen des Materials). Dieser Punkt gilt jedoch nicht, wenn die beim ersten Punkt erwähnte Option aktiviert ist.
Limitationen
- Cineware kann mit Substance-Dateien, die in den Cinema 4D-Suchpfaden liegen (also mit relativen Pfaden gespeichert werden), nicht umgehen. Es wird ein absoluter Pfad benötigt. Verschieben Sie die Substance-Dateien (.sbsar) in einen separaten Pfad und verknüpfen Sie diese neu.
- Es können zwar alle in Substance 3D Designer vorhandenen Parameter herausgeführt ("exposed") werden, jedoch gibt es einige, die außerhalb von Substance 3D Designer nicht interpretiert werden können, also z. B. in Cinema 4D nicht ankommen (Sie finden eine aktuelle Liste in der Substance 3D Designer Dokumentation). Es handelt sich dabei um folgende Parameter-Typen (in Klammern die zugehörigen Nodes): Gradient Ramp (Gradient Map Node), Color Mode (Uniform Color, Gradient Map Nodes, FX-Map, Pixel Processor), Blending Modes (Blend Node, FX-Map Node), Quadrant Node / Patterns (FX-Map Node: Quadrant), Quadrant Node / Input Image Alpha (FX-Map Node: Quadrant) und Quadrant Node / Input Image Filtering (FX-Map Node: Quadrant).
- Aktuell werden an .sbsar-Dateien keine Nutzereingaben für Bilder und Fonts unterstützt.
- Substance-Texturen können aus lizenzrechtlichen Gründen nicht in BodyPaint 3D bearbeitet werden. Achten Sie deswegen darauf, falls sich Materialien nicht fürs Bemalen aktivieren lassen (ist der Fall, wenn ein Substance-Shader in einem Material enthalten ist).
- Die Keyframes animierter Substance Asset-Parameter können nicht direkt im Powerslider (der vereinfachten Zeitleiste unterhalb der Ansichtsfenster) angezeigt werden.
- Eine Limitierung verhindert die manuelle Zuweisung von Farbprofilen zu den ausgegebenen Texturen der Substance Assets. Texturen, die für das Normal-Mapping oder RGB-Displacement gedacht sind, werden jedoch automatisch im linearen Farbraum interpretiert.
- Wenn Substance Assets die Eingabe von Bildern zur Berechnung anbieten, kann diese Verknüpfung beim Hinzuladen anderer Projekte verloren gehen (Nutzung von Datei/Hinzuladen...).
- Ein Substance Asset lässt sich nicht direkt als Textur, z. B. innerhalb einer Lichtquelle, verwenden. Redshift kann eine .sbsar-Datei nicht direkt als Textur auslesen sondern nur in Form eines Material nutzen. Sie können diese Limitation in solchen Fällen umgehen, wenn Sie die gewünschte Substance-Eigenschaft direkt in Substance 3D Designer als Textur backen und ausgeben lassen.