Cinema 4D / BodyPaint 3D Program Documentation Tutorials Materials & Texturing Tutorial Car Model
Function available in CINEMA 4D Prime, Visualize, Broadcast, Studio & BodyPaint 3D

Leather Material

We will create leather seats for the car. Leather typically has a grain so we will use a bitmap texture for this material. Two textures are available - one has a diffuse structure and is designed for use in the Color channel and the other bitmap contains information about surface shading and is designed for use in the Normal channel. We’ll start with the Color channel. Load the image tex/tutorials/leather_02.jpg into the Texture field. In principle, this would be all we need to do. However, the use of bitmaps often requires additional adjustments since many will repeat at the seams when applied to an object. To avoid this we can mix bitmaps with shaders. To do so, add a Layer shader in the Color channel’s Texture field. The bitmap that was previously loaded will not be affected because the Layer shader needs it in order to take effect: textures or shaders have to be loaded into this shader, which is why you will find the leather texture in the Layer shader when you click on it’s preview image. In the Layer shader you will find buttons for adding bitmaps and shaders. Next to each element you will see a drop-down menu and a slider that can be used to mix the layers. Click on the Shader … button to load a new shader, then click on its preview image to display its options. Set its Noise setting to Nutous and reduce the Global Scale value to 86%. Click on the upwards-pointing arrow at the top right of the Material Editor window to return to the Layer shader’s top menu. Set the Noise shader’s mix mode (drop-down menu) to Multiply and reduce its strength to 25%, which will make it less dominant.


In principle, the multiplication of the shader in the Color channel has a darkening effect on the bitmap. However, this only affects the color. Other material channels such as Reflectance will not be affected. It therefore makes sense to also use the Diffusion channel to give a surface a used look. The Noise shader in turn is ideal for creating such a look because it provides a wide range of procedural patterns with no fixed resolution. The size of these patterns can be adjusted individually. For example, set Noise to Gaseous with a Global Scale value greater than 1400%. Increase the Brightness somewhat as well as the Contrast in the lower part of the Noise menu to create a diffuse, cloudy structure. In the Diffusion channel, use the Mix Strength slider to fine-tune the shader’s effect. A value of about 30% will cause the color, specular and reflectance properties to be affected subtly. The leather shouldn’t look too dirty or used. Make sure to enable the effect for the specular and reflective properties.


Leather surface have a very diffuse reflective property, which is very important for achieving a realistic look. This is why we will use a more complex setup to create this effect by using two layers in the Reflectance channel. One layer will be used to create the highlight properties and the other layer will supplement the reflective properties. The Add mode can generally be used for the highlight layer while reflective surfaces should use Normal mode.

For the highlight layer, rename the Default Specular layer to Highlights and set Type to GGX so its intensity has a more gradual falloff (set the Attenuation to Average) and increase the Roughness value to 50%. Increase the Specular Strength value to 90% and reduce the Reflection Strength value to 0%. Define a light red color in the Layer Color menu. This will both color and subdue the highlight. The leather will look softer and not like it has a protective coating over it. In the Layer Fresnel menu, set Fresnel to Dielectric and leave the IOR value at 1.35. This value is slightly higher than the value used for water, which gives the leather a slightly hydrated look.

Set the second layer’s Type to GGX as well and its Attenuation to Additive. This may not be physically correct but it helps us keep the specular effect separate from the surface color. Use a Roughness value of 30% with a Reflection Strength of 20% and a Specular Strength of 10%. Set the Fresnel effect to Dielectric and keep the IOR value of 1.35. The surface will have a silky specular property while also displaying the effect of bump maps and normals since both layers were given a Bump Strength value of 100%. We will discuss these material properties again later.

The Reflectance channel’s settings.

Bump and Normal channel settings

These channels generate almost the same effect but the Normal channel is a lot more variable because it lets you control the angle of a given surface. The Bump channel can only simulate raised and sunken regions on a surface. Both channels only affect the shading of surfaces and not their actual shape, i.e., they do not deform the mesh. Therefore, these channels are best used for simulating very fine surface structures such as pores or scratches, etc.

Add a Noise shader in the Bump channel and reduce its Strength to 10%. Set its Noise type to Gaseous and increase its Global Scale value to 300%. This will create the illusion of a slight grain and the surface will also look less smooth.

The Normal channel’s settings are even simpler - all you need is a Normal bitmap. This can, for example, be created using the Cinema 4D Sculpt feature or via the Bake Texture tag. Normal textures can also be imported from other applications. Load the texture tex/tutorials/leather_02_normal 8bit.jpg into the Normal channel’s Texture field. An important setting is the Method setting when loading a bitmap into this field.

World is only suitable for objects that will not be animated or moved. This method is therefore rarely used. The Object Method can be used for objects that will be scaled, rotated or moved without the Normal texture being affected. However, the most flexible Method is Tangent. Since it is calculated relative to the polygon coordinate system the object’s surface can even be deformed without affecting the Normal texture. In our example, the Tangent will be selected automatically because it was the Method saved for the texture.

Assigning materials

Our leather material is now finished and ready to be applied to the seats. This time we will have to do more than just drag & drop onto the respective objects. The material contains several textures whose size and projection have to be taken into consideration. For the seats we basically have cube-shaped objects. After the material has been dragged and dropped onto the objects, set Projection to Cubic in the Texture tag’s Tag menu. Increase the Tiles U and Tiles V values equally until the leather grain has the right scale. You might need to do a few test renders to find the right value.

The Texture tag’s settings.

Your leather seats should look similar to the ones pictured here