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
Texel Density
Objects should have a texel density of at least 120 tx/cm (real world scale).
In the below example, our model was scaled up 10x, so we are looking for a TD of at least 12 tx/cm.
With our map resolution set to 4K, we have a TD of about 15, which will give us a good amount of detail.

A more in-depth guide on Texel Density can be found here: https://www.rizom-lab.com/how-to-use-texel-density-in-rizomuv/
And another guide by Timothy Dries found here: https://www.beyondextent.com/deep-dives/deepdive-texeldensity
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 2 to top parent null (it’s best to texture what you intend to render). 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.
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.
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.
Below are 5 example scenarios inside Substance Painter:
UV tile workflow enabled, no C4D textures applied ↴
(Preferred method. Able to see full model. All UDIMs share the same layers, can paint across UDIM tiles, each tile can have separate resolutions.
Outputs 4 sets of textures.)
UV tile workflow enabled + C4D textures applied to same UDIMs ↴
(Can only see one texture set at a time. Separate layers per texture set, cannot paint across texture sets, can only see one UDIM tile at a time, each tile can have separate resolutions. Ouputs 4 sets of textures.)
UV tile workflow enabled, C4D textures applied to separate UDIMs ↴
(Can only see one texture set at a time. UDIMs with same C4D texture share layers, can paint across UDIM tiles, each tile can have separate resolutions.
Outputs 8 sets of textures.)
UV tile workflow disabled w/ C4D textures applied to same UDIMs ↴
(Do not use this method with UDIMs. You can only paint on the objects in the first UDIM tile.
Separate layers per texture set, cannot paint across texture sets, each texture set can have separate resolutions. Outputs 4 sets of textures.)
UV tile workflow disabled, no C4D textures applied ↴
(Do not use this method with UDIMs. You can only paint on the objects in the first UDIM tile.
Everything shares the same layers and resolution. Outputs 1 set of textures.)
Texturing in Substance Painter
Bake Mesh Maps
Choose Mode → Bake Mesh Maps.
With Common settings selected, set the Output Size to 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.
Press the blue Bake selected textures button in the right viewport.
Helpful Substance Painter Tips
Adding Text
Fixing Seams
Hide/Show Geometry
Opacity Channel Setup
Injection Mold Seams
Texturing an Asset
Stamped Metal
Custom Patterns
Edge Wear to Decals
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.
Displacement
If using displacement, first check that it’s working properly in Substance Painter by enabling the Displacement & Tessellation option in the Shader settings.
Only materials that have height adjusted more or less than .02 should see any effect. There should not be any bubbling or deflating of entire parts.
To use displacement with Corona, the Min and Max level should be set to -1cm and 1cm respectively. Color profile should be set to Linear.











