Working with Materials in the Node Graph

Materials are created from multiple texture files, procedurals, or plain colors, which can be used to accurately represent how light interacts with real-world materials. This method of shading is called Physically Based Rendering (PBR). You can apply these materials to your assets for a more realistic result as well as establishing a base line look for your asset before adding more bespoke paint and crafting details.

Here are examples of texture files:

You can create your materials manually using Material nodes and use them for texturing your assets. You can then export Material nodes as .mma files to share your materials with other texture artists.

Note:  If you only want to create a material from a PBR texture set without any additional nodes, you can use the Material Ingest Tool to automatically create materials. Refer to Creating Materials with the Material Ingest Tool.

Creating a Material Node from Texture Files

You can use a material template node called Material to create materials in Mari.

Note:  To apply materials to your asset, refer to Applying a Material to an Asset.

Creating a Material Node from an Existing Material

In the Shelf palette, from the Mari Materials tab or a custom tab containing materials, drag a material into the Node Graph.

This creates a Material node.
The images making up the material are imported in the Image Manager palette in a tab called Material Images. If the material is solely made from procedurals, no images are added to the Image Manager palette.

Note:  To apply your material to your asset, refer to Applying a Material to an Asset.

Exposing Material Properties Using the Promote Button

A Material node is a type of group node and you can expose node properties of a Group node by clicking the Promote button. See Using Backdrops, StickyNotes, Groups, and Gizmos for more information on Group nodes.

Group nodes don't display any properties by default, other than those shared by all nodes. See Working with Node Properties for more information.

Creating Knobs in a Material Node

Similar to a Group node you can add knobs (controls) to your Material node, which is a type of group node, using the Group Node Knobs dialog. You first need to expose the properties of the nodes contained in your material node and then link them to create controls to change the Material node's properties.

Copying and Pasting Node Knobs

You can copy and paste nodes within Material nodes that have promoted attributes. For example, you can have a Tiled node within a Material node that has its Rotation Angle (Degrees) property promoted as a knob on the Material node. Copying (Ctrl+C) and pasting (Ctrl+V) the Tiled node into the same Material, or a different Material, copies the promoted attribute over depending on where the node is pasted to, and whether the source node has links. See the table for a breakdown on this behaviour.

Action Result Comments

Pasting a node to the same Group

If original node's knob is promoted

Newly pasted node's attribute is promoted but unlinked. The name of the pasted node matches that of the copied source, using number prefixes to identify the different nodes.

Pasting a node to the same Group

If original node's knob is promoted and linked

Newly pasted node's attribute is promoted and linked to the copied node's linked knob. The name of the pasted node matches that of the copied source, using number prefixes to identify the different nodes.
Pasting a node to a different Group

If original node's knob is promoted

Newly pasted node's attribute is promoted but unlinked. The name of the pasted node matches that of the copied source, using number prefixes to identify the different nodes.
Pasting a node to a different Group

If original node's knob is promoted and linked

Newly pasted node's attribute is promoted and unlinked as the original node is not in the same Group. The name of the pasted node matches that of the copied source, using number prefixes to identify the different nodes.
Pasting a node to a different Group

If original node's knob is promoted and linked to other nodes in the clipboard

Newly pasted node's attribute is promoted and unlinked from the copied nodes not in the same Group, but linked to the sibling nodes pasted into the same Group. The name of the pasted node matches that of the copied source, using number prefixes to identify the different nodes.
Pasting a node to the root Node Graph All knobs linked or otherwise are removed.  

Exporting a Material Node

You can export your materials as .mma files to share with other texture artists.

Importing a Material (.MMA File)

You can import materials (.mma files) in the Node Graph using the following methods:

Note:  Mari includes Python API commands to return information from tags in .mma files without actually importing the file. In Mari, go to Python > Documentation and search the index for tagList()for more information.

You can import a material file directly in the Node Graph by dragging the .mma file from your file browser into the Node Graph.

This creates a Material node.
The images composing the material are imported in the Image Manager palette in a tab called Material Images. If the material is solely made from procedurals, no images are added to the Image Manager palette.

OR

Applying a Material to an Asset

Once your Material node is added to the Node Graph, you need to connect it to your scene to apply it to your asset. You can use two methods:

Note:   Material nodes must match the Shader Model of your project in order to apply them to your assets, meaning that material nodes' shader inputs must match the intended target shader input.

Note:  To properly apply materials to your scene, ensure that:
• You've selected the required user shader in the Shaders palette, for example, Principled BRDF.
•You have channels created and connected to the appropriate inputs of the shader that match the streams/material outputs of your materials. See Creating Multiple Channels from Presets for auto-creating and connecting channels.

Note:  To get the best visual result, ensure you have an environment light. See Configuring the Lighting.

Batch Connection Method

To apply a material to an asset using the Mari's batch connection method:

Note:  You can also use the batch connection method to connect multi-channel nodes to Output nodes when working inside Material nodes. For more information, see Connecting Multi-Channel Nodes.

Note:  A material node is not a paintable node but you can use masks to choose how to apply the material to your asset.

Manual Connection Method

To apply a material to an asset using Mari's manual connection method:

Merging Multi-Channel Material Nodes in the Node Graph

You can merge two multi-channel material nodes in the Node Graph by pressing M on the keyboard. This creates a new Multi-Channel Merge node.

Note:  For more information on Multi-Channel Merge nodes, see Multi-Channel Merge Node.

To merge two multi-channel material nodes:

A Multi-Channel Merge node can also be created using the M shortcut when just one multi-channel material node is selected.