Arnold for Cinema 4D Forum
Rendering with Arnold in CINEMA 4D using the C4DtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Use the volume displacement technique for "normal" objects

Message 1 of 8
339 Views, 7 Replies

Use the volume displacement technique for "normal" objects

Hello there...

I tried to use the same material setup which i used for the volume displacement and displace a

normal material in the same way. got mixed results and tried some things but i can´t achieve the same result...can you give me an advice myabe? thank you!

Tags (2)
Labels (2)
Message 2 of 8
in reply to: eddi_fuhrmann

This is straight forward.

Use the volume displacement data as an Arnold render time displacement and you are done.
The Mesh displacement will create overhangs ( vector displacement ) just as it does when you make Volumetric clouds on primitives as seen in this example.

So you really just need to make sure your data sets sits in the correct space so it displaces out from the surfaces and not slides in a 45deg angle because data set sits in 0-1

Attached the general concept from max you can move over to C4D.

The left is the volume displacement of the torus, and the right is Arnolds displacement, using same data set.


Message 3 of 8

hm sorry but i did not really understand your work technique... i am looking for a way to controll and play with the displacement like in the volume displacement this possible with your way? thank you!

Message 4 of 8
in reply to: eddi_fuhrmann

Yes this is possible.
We just need someone to to instruct you have to port the logic into your host.
I dont use C4D.

But it should be as simple as taking the shader from the displacement slot on the volume material, and use the same output from this as a displacement on Geometry.
You dont need to do anything else.

If I look up the instruction material i get:
You must add an Arnold Tag to the geometry that you wish to displace to edit its subdivision and displacement attributes:

Message 5 of 8

I'm not entirely sure what you are looking for. Doing volume displacement, you need to connect the displacement map (texture or procedural) to the standard_volume shader. Doing displacement on a mesh, you need to create a displacement shader, set it to normal or vector displacement and connect the map (texture or procedural) to this displacement shader. See

Volume and mesh displacement are slightly different techniques which require different setup.

Message 6 of 8

for example i want to to try and displace normal meshes in the same way you displace them in the volume displacement tutorial by lee. control the direction and the start/end point for example.

i tried to use the same node setup for the mesh displacement like i used for the volume displacement but it won´t work that way...

Message 7 of 8

In theory you can use the same shaders for volume and mesh displacement, since what you need really is a vector output.

For instance, volume displacement driven by noise:


Mesh displacement:


Alternatively, you can use the dedicated displacement shader when displacing a mesh:


As I said before these are two different methods (voxels vs vertices), so the setup is different and also the result may be different.

Message 8 of 8
in reply to: peter.horvath6V6K3

Looks good, and what you should expect from doing this.
Also what I get to in my example.

You cannot have the exact same look, since a volume can be manu fragments of densities hanging for them self as seen on the volume here.
Displacing a mesh has no concept of break a mesh into independant small blobs doing that.

If you want to render a hard surface like the volume with disconnected parts, you need to use the "implicit" node. I doubt this is exposed in c4d. But it can be scripted to get a path into it ( I have this in my host for example )
In that case, you can get very near.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report