Share

Shading Engine - Arnold for Maya

The following describes the Arnold shading group attributes that belong in Maya's shading engine:

Surface shader

There is a surface_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. This can be useful in situations where you might need to display a shader in Maya's viewport that is different from the one that is assigned to the same surface. You could, therefore, connect both a Maya shader and an Arnold shader to the same shading engine because each renderer has its surface shader slot.

In the example below, a blue standard_surface shader is connected to the Arnold Surface Shader attribute of a red standard_surface shading group. The sphere is shaded with a red standard_surface shader in the viewport but renders as the blue standard_surface.

blue standard_surface -> Surface Shader

Volume Shader

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.
Tip:

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.

Example

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 -> Transparency of standard_volume

The completed shader network should look like the following image:

You should end up with something that looks like this:

Was this information helpful?