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