Skip to main content

Cinema 4D to Substance Painter Workflow

By October 29, 2022November 1st, 20223D Modeling

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.

UDIMS

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 to necessary objects, then perform a “Current State to Object”.
Delete the old objects, leaving only the high poly objects. Rename as necessary.

Select all Phong tags and uncheck “Use Edge Breaks”, as these will show up in Substance Painter if not.

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.

Bake Mesh Maps

Choose Edit → Bake Mesh Maps.

Under Common, choose an Output Size of 2048.
Change Antialiasing to Subsampling 4×4.

Under Ambient occlusion, set Self Occlusion to Only Same Mesh Name.
Under Texture set at the top, be sure to press the “Apply to all” button.

Press the Bake selected textures button on bottom.

Helpful Substance Painter Tips

Adding Text

Fixing Seams

Hide/Show Geometry

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 most likely 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. Merge the objects with the original C4D file so that it uses the updated UV tags.

Save as a new C4D file.

Re-apply Subdivision Surface now with Level 2 to the low-poly models. Rename/fix object names as necessary.

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.

Leave a Reply

 

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