Create a ticket

Q100488: Auto Extension and Auto Retraction of materials starting with Mari 4.5v1


This article will cover the Auto Extension and Auto Retraction behaviour of materials when using the Layer Stack. The use cases presented will not be relevant to Mari versions released prior to Mari 4.5v1.



Materials are created from multiple texture files, procedurals, or plain colours that can be used to accurately represent how light interacts with real-world materials. A material is a union of all the texture maps that can be assigned to an object in one go. When a material is added to the object, Mari creates a Multi-Channel Layer in the Layer Stack which is used for adjusting all of the material’s channels at once.

To see the most accurate representation of the material, all of the channels for the texture maps have to be present. In the example below, a material is added to the object which does not have a Roughness channel.

The Auto-Extension behaviour in Mari allows Multi-Channel Layers to be extended when new channels are connected to the shader. When a new channel is connected to the shader input, a pop-up window will appear which gives the user the option to choose whether the new introduced channel would be visible or invisible to the shader. The two options are explained below:

  • Visible - The new stream introduced to the existing Multi-Channel Layers will be enabled and visible to the shader.
  • Invisible - The new stream introduced to the existing Multi-Channel Layers will be disabled and invisible to the shader

In the example below, a new Roughness channel is added to the existing shader and the new stream is set to visible. Mari is automatically extending the material to include the Roughness channel into the shader model.

Now, in the Multi-Channel Layer material properties, there is a Roughness input into the shader model:

The Auto-Retraction behaviour allows Mari to automatically retract the channel from the material, when the shader input is disconnected from the shader model. In the following example, the Roughness channel is disconnected from the shader.

When disconnecting a channel from the shader, a dialog will appear, which will warn the user that the channel contains Multi-Channel Layers and it is providing an option for the channel to get either disconnected or converted. Further details regarding those options can be found below:

  • Disconnect - Material layer will be removed from the channel. The disconnected channel will no longer be connected to the material stream
  • Convert - Material layer will be converted to standard Paintable layer. This will only affect the disconnected channel and it will not convert other material streams. After conversion, the layer can be adjusted like any other Paintable layer.



For further details of the Multi-Channel Layer workflow, please see the following documentation section:  Multi-Channel Layer Workflow Rules

Was this article helpful?

We're sorry to hear that

Please tell us why
0 out of 0 found this helpful