Skip to main content

Cinema 4D to Substance Painter Workflow

By October 29, 2022November 28th, 20233D Modeling

This guide will walk you through taking a 3D model from Cinema 4D, bring it into Rizom to Unwrap, importing into Substance Painter for texturing, then bringing it back into Cinema 4D.

Prep the Low-Poly Model in C4D

Disable all Subdivision Surface.

For any objects in a Sweep, perform a Current State to Object. This will create a polygonal object with a UVW tag. This also preserves the original Generator object.

Copy the parent object (normally grouped in a null) to a new scene. Delete all objects not getting unwrapped (RizomUV still sees hidden objects).

Select the parent null and Export Selected Objects as FBX.
Save the file with “_low” in the filename. This version will be used with unwrapping in RizomUV.

UV Unwrapping

Unwrap all objects, keeping texel density as close as possible.

Group objects together for consistency.

Make sure there are no curved objects. Use horizontal/vertical Pins as needed.

Rizom UVs


Create as many UDIMS as needed, in case some portions of the model need to be higher resolution than others.

If you want a higher resolution just use more UDIM tiles and split your islands across them. It’s not wrong to use different texel density values but depends on what you’re doing. I think mixed texel density is common for game stuff. I tend to make any areas of my model that won’t be visible in the final imagery a lower texel density too.

– John Dickinson

Prep the High-Poly Model in C4D

Re-import the low poly FBX into Cinema 4D.

Apply Subdivision Surface Level 1 (Level 2 if not many objects) to top parent null. Then perform a “Current State to Object” to make all objects subdivided.
Delete the old objects, leaving only the high poly objects.

Select all Phong tags and uncheck “Use Edge Breaks”, as these edges will show in Substance Painter if not.
Phong Angles can be left at 180°. Changing to default 40° may yield some “Missing seams on hard edges” when baking.

Renaming at this time is not necessary, as exporting to FBX always replaces spaces with underscores.

Texture Sets

To create multiple sets of textures in Substance, create basic C4D materials and apply them to the objects. Keep in mind that each texture set will be exported out of Substance as a separate set of textures. If only using one UDIM tile, it’s most likely you’ll only need one texture set.

Save the C4D file with “_high” in the filename. This is more or less a backup if we need to revisit the file.

Select the parent null and Export Selected Objects as FBX.
Save the file with “_high” in the filename. This version will be used for texturing in Substance Painter.

Texturing in Substance Painter

New Project Dialog

Inside Substance Painter choose File → New…

Use Template ASM – PBR Metallic Roughness. Select your high poly FBX file as the File.
Choose a Document Resolution of 2048.
If using UDIMS, check Use UV Tile workflow.

Substance Painter - New Project Dialog

Bake Mesh Maps

Choose Edit → Bake Mesh Maps.

Under Common, choose an Output Size of 2048.
Change Antialiasing to Supersampling 16x.

If only using a high-poly mesh, the Normal map is not needed. This is only needed for low-poly meshes.

Under Ambient occlusion, set Self Occlusion to Only Same Mesh Name, otherwise two separate objects will share the same ambient occlusion.

Under Curvature, set Self Intersection to Only Same Mesh Name, otherwise there will be artifacts in the curvature bake when two separate objects are near each other.

Under Texture set at the top, be sure to press the “Apply to all” button.

Press the Bake selected textures button on bottom.

Substance Painter Baking - Common Parameters

Substance Painter Baking - Ambient Occlusion

Substance Painter Baking - Curvature

Helpful Substance Painter Tips

Adding Text

Fixing Seams

Hide/Show Geometry

Opacity Channel Setup

Export Textures out of Substance Painter

After you’ve finished texturing your model, export the textures out of Substance Painter using the PBR Metallic Roughness template.

Upscale the size to 4096×4096 (4K)

Uncheck the Emissive output map, as this generally isn’t necessary in most cases.

Apply Textures in C4D

This part can be quite tedious, but I am looking into a quicker method.

Open the original C4D working file that includes your original objects.

Open the low-poly FBX file in C4D as well. Copy the FBX objects into the original C4D working file. Re-enable Subdivision Surface. Delete the UVW tags from the original C4D file, and move the UVW tags from the FBX objects onto the original objects.

The default Naming Tool works great for renaming any objects (if necessary).

Save as a new C4D file.

Create your material(s) that correspond to exported texture sets from Substance Painter. Apply these to your objects using your renderer of choice.

If using Corona, be sure to update the Metallic, Roughness, and Normal maps to use a Linear color profile.

Normal Maps: Corona uses DirectX. Redshift uses OpenGL.

Leave a Reply


This site uses Akismet to reduce spam. Learn how your comment data is processed.