There is a Volume Shader slot in the Arnold section of Shading Engines. When a shader is connected to this slot, it will be used instead of the Maya surface shader. When nothing is connected, the Maya surface shader will be used; so it will not break backward compatibility. 

A Maya scene that demonstrates this workflow can be found here.
Arnold can use a shape container for volume rendering points, sphere and box primitives. Information about how to render a mesh as a volume can be found here.

The example below shows you how to connect a custom volume shader to the Shading Group of a material: 

  • First of all, you will need to set a 'Step Size' for the mesh or particles that you wish to assign the Volume Shader (smaller values take longer to render).

Volume Attributes for a polymesh

  • Connect a Standard Volume shader to Volume Shader in the Arnold attributes of the Shading Group for the shader assigned to the sphere.

Standard Volume connected to Volume Shader in the Shading Group Attributes of a Standard Surface shader

  • Create a 3d noise texture and connect it to the Transparent Weight attribute of the Standard Volume (in this case a Maya 'Cloud' texture has been used).

Maya Cloud texture connected to Transparency of Standard Volume


 The completed shader network should look like the following image:


You should end up with something that looks like this:




Further examples of volume rendering. 'God rays' achieved using Atmosphere Volume.

  • No labels