Rendering Displacement Maps from C4D

In this tutorial, we will demonstrate the best practices for rendering a vector displacement from C4D with Arnold. We will create some nose geometry using the C4D Sculpting tools. We will then bake this geometry into a vector displacement map from C4D and render it using C4DtoA with the correct settings.

Note: The scene (R18) can be downloaded here.

The tutorial is broken up into the following stages:

Sculpting

Baking the Vector Displacement

Vector Displacement Shader

Subdivision

Displacement

If ears are more of your thing, there is also an ear vector displacement example to accompany this tutorial.

Sculpting

Nose brush preset 'pulling' out geometry Grab end of nose and pull it down with the Grab tool

B aking the Vector Displacement

A conventional displacement map will not be able to provide us with the correct shape of the nose, so we must, therefore, export a vector displacement map instead. You can choose between world, object or tangent space maps depending on your needs.

Tangent Space

Object Space

The following settings are used when baking the map using object space.

Vector Displacement Shader## World Space

World space requires the same settings as the map used for object space .

Tangent Space

If the skin shader is too nosey noisy, you can try increasing the number of SSS samples.

'Vector space' of vector_displacement is set to tangent. The order is XZY. Flip_z is enabled.

Below you can see the difference when rendering with and without Flip Z enabled.

Flip Z: Enabled Flip Z: Disabled

Object Space

'Vector space' of vector_displacement is set to object. Order is XYZ. Flip_z is enabled.

Subdivision

If you have a more complex base mesh, you may also want to set the UV smoothing to linear to prevent shifting in the displacement.

Displacement

bounds_padding: 0 bounds_padding: 1

Original sculpt (left). Vector displacement (right).