Substance
Adobe Substance 3D Designer is a powerful, Node-based texturing tool designed for the creation of procedural textures. The textures created here (export them using the Publish command) are made available as assets for external programs using Substance Archive files (file extension *.sbsar). This means that Cinema 4D can import these substances and process them as material. In addition to substances that can be purchased (e.g., https://substance3d. adobe.com/assets), there are also freely available substances (e.g., at https://substance3d.adobe.com/community-assets).
Topics on this page
- A quick overview
- Classic materials for Substance 3D Assets
- How does a Substance Asset work in Cinema 4D?
- Limitations
A quick overview
The following diagram shows the various options that are possible when interacting between Adobe Substance 3D Assets and Cinema 4D. This range of options ensures the support of the different renderers (classic Cinema 3D or Redshift) and the different Node systems (Node Material or Shader Graph material).
To summarize:
- 1. To load a Substance 3D asset as a Redshift Node material, activate Redshift as a renderer in the Render Settings and use the Create/Support/Substance command in the Material Manager. Alternatively, an .sbsar file can also be dragged directly from the Finder or Explorer onto the Cinema 4D interface in order to create a corresponding material (see also the following note in the box).
Within the Node Material, a Substance Material Node will establish the connection to the .sbsar file and provide all available material properties and setting parameters.
The easiest option for creating a Redshift material for a Substance 3D asset is to simply drag the .sbsar file of a Substance 3D asset from the Finder or Explorer directly onto the Cinema 4D interface (e.g., onto the Material Manager, the Viewport, the Object Manager or the Attribute Manager). A Redshift Node material will then automatically be created, which reads the corresponding channels of the asset via its own Substance Material Node(see right-hand branch of the above illustration).
Alternatively, you can open a file dialog for loading a Substance 3D asset in .sbsar format directly in the Material Manager under Create/Support/Substance. After selecting the asset, a Redshift Node Material will also be created for the loaded asset.
If an existing Substance 3D asset should be used in several projects, it may also be useful to save it in the Asset Browser. The Substance 3D material can then be accessed from there at any time. To do this, drag the desired .sbsar file from the Finder or Explorer directly onto the Cinema 4D Asset Browser. A dialog box will then open in which you can select the desired name and also the category within the Asset Browser under which the Substance 3D material should be found from now on.
Further information on creating, managing and retrieving assets from the Asset Browser can be found on these pages in the documentation.
Further information on handling Substance 3D assets when rendering with Redshift can also be found on this page.
- 2. to load a Substance 3D asset as a classic Cinema 4D material, call up the Substance-Engine/Load Substance... command in the Extensions menu. This not only creates a Cinema 4D material, but also uses special Substance Shaders to read out the available substance output channels. The Substance Shaders in the material communicate with the Substance 3D Asset, which is managed in the separate Substance Asset Manager. An asset selected in the Substance Asset Manager will make its settings available in the Attribute Manager.
If you use Extensions/Substance-Engine/Load Substance... for loading, Substance 3D assets will be loaded as materials for the classic default renderer, even if Redshift is selected as the active renderer in the Render Settings. Redshift can also render these materials directly, but it does not support displacement via the RS Object tag or the Sub-Polygon Displacement option of the materials. Objects must therefore themselves have a sufficient number of subdivisions to show displacement in the rendering.
If the Standard Renderer or the Physical Renderer is active, dragging and dropping a Substance 3D asset onto the Cinema 4D interface will also automatically create a matching Cinema 4D standard material (see left branch of the above illustration).
- 3. a Substance Asset selected in the Substance Asset Manager can also be used to create a Redshift Shader Graph material by calling Create Material/Functions/Materials from selected Substance Assets in the Material Manager. The Shader Graph material uses the Substance Shaders also used in the classic material to read out the Substance Material properties.
If Substance 3D assets have been loaded via Extensions/Substance Engine/Load Substance ..., they will also appear in the separate Substance Asset Manager, which can also be opened via Extensions/Substance Engine. If a Substance 3D asset has been selected there, it can also be converted into a Redshift Shader Graph material in the Material Manager using the command Material/Functions/Create materialsfrom selected Substance assets. The option to use displacement and the RS Object tag is then also available as normal. However, the assignment of the textures generated by the Substance 3D asset to the properties and channels of the Redshift Material should also be checked again manually. It may be the case that individual Substance properties have to be newly or additionally linked in order to achieve the same result as in Substance 3D Designer. Detailed information on the use of Substance 3D Assets in Shader Graph materials can be found on this page.
Classic materials for Substance 3D Assets
- Call up the Load Substances command (Main menu: Extensions/Substance Engine) and select a Substance 3D asset file with the file extension *.sbsar.
- Once the file has been successfully loaded, a classic Cinema 4D standard material is created for the Substance 3D asset in addition to the asset itself, which can be assigned to objects as usual (if you are surprised that the texture resolution is too low when rendering, select the corresponding asset in the Substance Asset Manager, which you can also open via the Extensions/Substance Engine menu, and change the two parameters Width and Height, which are displayed in the Attribute Manager).
How does a Substance Asset work in Cinema 4D?
A Substance 3D asset is created in Adobe Substance 3D Designer. This usually consists of a number of Nodes with a large number of their own parameters. Within Substance 3D Designer, you can define which of these parameters are to be output. These parameters can then also be changed in Cinema 4D to influence the calculation of the Substance 3D asset. The integration of the Substance Engine in Cinema 4D automatically adjusts the output textures accordingly.
Below you will find information on how to customize the Substance 3D asset settings after a classic Cinema 4D material has been created via Extensions/Substance Engine/Load Substance.... However, the same options can also be used if you have selected a loaded asset via the Substance Asset Manager and created a Redshift Shader Graph material in the Material Manager via Material/Tools/Create Materials from Selected Substance Assets. This is because the same Substance shaders are used in the Shader Graph material as in the classic Cinema 4D material.
Redshift Node Materials, on the other hand, use their own Substance Material Node, where changes to the asset settings can be made directly. In this case, you will find all the information you need on this page. The following information is not relevant for you in this case.
An asset selected in the Substance Asset Manager makes its parameters available in the Attribute Manager, as shown in the figure above. You will find the path to the loaded asset under the number 1. This also makes it easy to update or replace an asset at a later date. The resolution of the textures calculated by the asset can be individually adjusted using the width and height parameters(see section 2).
Depending on the configuration of the asset in the Substance 3D Designer, the parameters created to control the asset calculation are offered below (see number 3 in the figure above). This part of the settings will therefore look different for each Substance Asset. However, the Substance Asset dialog closes at the bottom with the output group, in which previews of the textures calculated by the asset can be seen (see section 4). Which textures are calculated is also created exclusively within the Substance 3D Designer when the asset is defined.
If you have loaded the Substance 3D asset via the Load Substance ... function of the Extensions main menu of Cinema 4D. These textures are automatically assigned to the corresponding material channels of a newly created material by special Substance Shaders. However, you can also create Substance Shaders manually and use them to link any textures of the Substance 3D asset. This also enables the use of these textures within a Cinema 4D layer shader or a displacer object, for example.
There are therefore the following Substance elements in Cinema 4D:
- Substance Asset Manager: contains all loaded assets (use of extensions/substance engine/load substance...) and manages them. You can open the Substance Asset Manager at any time via Extensions/Substance Engine.
- Substance Asset: displays the asset settings of assets selected in the Substance Asset Manager in the Attribute Manager. Please note that these settings have no effect on Redshift Node materials. Only properties linked via Substance Shaders are updated in this way.
- Substance Shader: defines the asset output channel for the respective application. When loading a Substance 3D asset via Extensions/Substance-Engine/Load Substance ..., a classic Cinema 4D standard material is automatically created in which the asset channels are already integrated via Substance shaders.
In addition, there are the Substance-specific settings in the Preferences menu. - Substance Shaders can also be used in Redshift Shader Graph materials. The easiest way to do this is to select an already loaded Substance Asset in the Substance Asset Manager and then call up the Material/Tools/CreateMaterials from Selected Substance Assets command in the Material Manager.
- Substance 3D Material Node: Alternatively, Substance 3D assets can also be integrated directly via a Substance 3D Material Node, e.g., in an RS standard material. It is no longer necessary to load the asset into the Substance Asset Manager beforehand. The individual output channels of the Substance 3D asset can then be processed individually and assigned to the material.
It is even easier if you load a Substance 3D asset directly via Create/Utilities/Substance in the Material Manager, for example. A Redshift standard material will then be automatically created, in which a Substance 3D Material Node provides all the properties of the asset correctly linked.
When passing on (or team rendering) a project, you must supply both the *.c4d project file and the Substance files linked to it. The command Save Project with Assets... helps you to collect the linked assets in a folder.
It is also possible - provided this has been defined in Substance 3D Designer - to load textures in Cinema 4D within the asset and have them processed by the Substance 3D Material Nodes. You only need to use one Color Image Input Node in Substance 3D Designer. This will then be displayed in the asset as a loadable texture in the Image inputs sub-tab, which makes countless effects possible.
All asset parameters that affect the calculation of the textures can be edited directly in the Attribute Manager and can also be animated using keyframes. This will automatically trigger a recalculation of the Substance 3D asset for each animation image. To ensure that these changes also lead to an update of the materials in which Substance Shaders access these textures, the Animate preview option should be activated in the View settings of the material (this option is automatically activated when a material is created using the Load Substance... command). With Redshift Node materials, you change or animate the Substance Asset properties directly on the Substance Node.
If animations in the editor run too slowly when using Substances in Cinema 4D materials, these measures can help:
- Make sure that the option Cache Shaders for Viewport is activated.
- Deactivate the Animate Preview option in the View settings of the Substance material.
- Make sure that the texture resolution of the asset (see Width and Height parameters in the Asset settings) corresponds to that of the material (see Texture:Preview size in the View settings of the material). However, this point does not apply if the option mentioned in the first point is activated.
Limitations
- Cineware cannot handle Substance files that are located in the Cinema 4D search paths (i.e., saved with relative paths). An absolute path is required. Move the Substance files (.sbsar) to a separate path and relink them.
- Although all parameters available in Substance 3D Designer can be "exposed", there are some that cannot be interpreted outside Substance 3D Designer, e.g., they do not arrive in Cinema 4D (you can find a current list in the Substance 3D Designer documentation). These are the following parameter types (with the corresponding Nodes in brackets): 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) and Quadrant Node / Input Image Filtering (FX-Map Node: Quadrant).
- Currently, no user input for images and fonts is supported for .sbsar files.
- Substance textures cannot be edited in BodyPaint 3D for licensing reasons. Therefore, pay attention if materials cannot be activated for painting (this is the case if a substance shader is contained in a material).
- The keyframes of animated Substance Asset parameters cannot be displayed directly in the Powerslider (the simplified timeline below the viewports).
- A limitation prevents the manual assignment of color profiles to the output textures of the Substance Assets. However, textures that are intended for Normal mapping or RGB displacement will automatically be interpreted in the linear color space.
- If Substance Assets offer the input of images for calculation, this link can be lost when adding other projects (use File/Add...).
- A substance asset cannot be used directly as a texture, e.g., within a light source. Redshift cannot read an .sbsar file directly as a texture but can only use it in the form of a material. You can avoid this limitation in such cases by baking the desired Substance property directly in Substance 3D Designer as a texture and outputting it.