C4DtoA automatically translates native Cinema 4D Standard Materials to Arnold shader networks using a standard surface shader and its parameters linked to other shaders (e.g. image or layer_rgba) depending on the settings. Depending on the active channels a normal_map or bump2d shader is connected to the standard. Displacement maps are also supported.
However, there are some limitations. This is because the mapping between the Arnold shader system and the C4D material is not possible sometimes. Also, please note that shader implementations (models, parameters, etc.) are not the same, which results in a slightly different look.
The C4D Material has a common approach using channels for mixing a texture with a color.
If no texture is defined, only the Color is exported to Arnold with Brightness as the weight.
If Texture is defined and there is no mixing (Mix Mode is Normal, and Mix Strength is 100%), then an image shader is exported with the texture path as the file name.
If mixing is enabled (Mix Mode is not Normal or Mix Strength is less than 100%), then a layer_color shader is exported. Layer setup depends on the mix mode:
|Mix Mode||Layer parameters|
The following tables summarize which settings of the C4D Material are supported and how they are translated to Arnold.
|Color, Brightness, Texture, Mix Mode, Mix Strength||Exported to Diffuse color as described in Color and texture mixing.|
- Diffuse Falloff
- Diffuse Level
Only the first layer is supported at the moment.
|Layer Color||Exported to Specular color and Reflection color as described in Color and texture mixing.|
|Layer Mask||If mask is enabled it's added as the third layer to the Specular or Reflection color with Multiply blend mode.|
|Roughness||Exported to Specular Roughness if Type is Beckmann, GGX, Phong, Ward, Anisotropic or Reflection (Legacy).|
|Width||Exported to Specular Roughness if Type is Specular - Blinn (Legacy) or Specular - Phong (Legacy).|
|Specular Strength||Exported as a multiplier of Specular weight.|
|Reflection Strength||Exported as a multiplier of Reflection weight.|
|Anisotropy||Exported to Anisotropy if Type is Anisotropic.|
|Exported to Rotation if Type is Anisotropic.|
Specular and Reflection channel is supported in Cinema 4D R15.
- Bump Strength
- Layer Anisotropy / Re-projection
- Layer Anisotropy / Pattern
- Layer Anisotropy / Mirror
- Layer Anisotropy / Scratches
- Layer Fresnel
- Layer Sampling
- Layer Cloth
- Falloff and Inner Width of legacy specular types
|Color, Brightness, Texture, Mix Mode, Mix Strength||Exported to Refraction as described in Color and texture mixing.|
- Total Internal Reflection: this is always on in the Arnold standard shader.
- Exit Reflections
- Fresnel Reflectivity
- Absorption Distance
- Min Samples
- Max Samples
|Texture||Exported as an image shader connected to Refraction / Opacity.|
|Invert||Exported as a subtract shader to invert the output of the image shader.|
|Image Alpha||If enabled the image shader outputs only the alpha channel (Single channel is on, Start channel is 3). Otherwise, an rgb_to_float shader is added to output the average color of the image.|
Opaque should be disabled on the object (Arnold Parameters tag > Opaque) otherwise opacity has no effect.
- Soft: This is always on.
|Color, Brightness, Texture, Mix Mode, Mix Strength||Exported to Emission color as described in Color and texture mixing.|
Exported as a bump2d shader above the standard shader.
- MIP Falloff
Exported as a normal_map shader above the standard shader.
|Texture||Exported as a C4D shader (e.g. Bitmap) connected to the normal_map's Map.|
|Flip X (Red)||Flip R|
|Flip Y (Green)||Flip G|
|Swap Y & Z (Y up)||Swap R and G|
- Method / World
- Flip Z (Blue)
The displacement channel is exported as a sub-network connected to the Arnold Displacement port of the Arnold material.
The exported displacement shader depends on Type:
- Intensity, Intensity (Centered), Red / Green: normal_displacement
- RGB (XYZ Tangent), RGB (XYZ Object), RGB (XYZ World): vector_displacement
- Height: Displacement height is object based in Arnold instead of the material based approach of Cinema 4D. You have to add an Arnold Parameters tag to an object to set the height.
- Sub-Polygon Displacement
Selected C4D Materials can be converted to Arnold Shader Network materials which allows you to edit and extend the shader network for your needs. The following shortcuts are available:
- Alt+W and C: Converts a C4D Material to an Arnold shader network by adding the equivalent Arnold Shader Network material to the scene next to the C4D Material.
- Alt+W and M: Replaces a C4D Material with the equivalent Arnold Shader Network material. The original C4D Material will be removed from the scene.
Shortcuts can be changed in Window > Customization > Customize Commands... dialog.