Material Group

Material groups can be thought of as containers that hold any of the various Shader Tree items, such as shaders, materials, textures, and even render outputs. These containers can be useful for simply organizing the Shader Tree, but are incredibly powerful when used to control how surfaces are applied to polygons at render time. Referred to in the Add Layer function of the Shader Tree as a Group, in this topic, the term used is Material Group to avoid confusion with the Groups Viewport.

Surfacing in Modo is separated from the geometry. Individually, Shader Tree item layers affect an entire scene, until limited to specific areas by way of a mask. The masks themselves are procedurally created, and defined by Polygon Tags. Tags are simply bits of information tied to a polygon that associate it with a particular grouping. The most common tag is a Material tag that, when applied to any polygon selection using the M shortcut or Texture > Assign Material Group... command, automatically creates an appropriately named Material Group layer in the Shader Tree, with the proper tag specification and a Material sub-item. Once created, changes made to the various layers under the Material Group only affect the polygons with that tag. Since polygons can only have one type of material tag at a time, additional layer masks can be applied using Selection Sets, polygon Parts, and item masks.

These masks that the material groups define are based on the settings under the Group header. They can be used individually, or in combination, and while the functions may appear simple, they are an efficient means of surfacing a scene. Understanding what each does is an important step in understanding the Shader Tree itself and realizing the power that the tree provides.

Group Item Panel

The following Layer options are available for the Material Group:

Enable - toggles the effect of the group (and its contained layers) on and off, duplicating the functionality of toggling visibility in the Shader Tree. When un-checked (disabled), the layer has no effect on the shading of the scene. However, disabled groups are saved with the scene and are persistent across Modo sessions.

Invert - inverts the RGB values for the group, producing a negative effect.

Blend Mode - affects blending between different groups, allowing you to stack several groups for different effects. For more on blending, please refer to the Layer Blend Modes topic.

Opacity - changes the transparency of the current group. Reducing this value increasingly reveals lower layers in the Shader Tree, if present, or dims the effect of the layer itself on the surface.

The following Group options are available for the Material Group:

Item - used to limit the application of the layers contained within a material group to a specific Mesh Item (these are the Mesh Item layers of the Items List). When defined, these are considered an Item Mask. The (all) setting applies the materials to the entire scene. This setting can also be used in combination with a polygon tag, further limiting the surface.

Polygon Tag Type - specify the type of polygon tag. Several types are possible and each limits or masks the application of the shading items contained within the group to only the polygons tagged as such:

Material - the most common polygon tag type. Material groups with this type of tag are automatically created when using the M keyboard shortcut. Polygons can only have one Material tag at a time.

Part - Part tags are similar to a selection set but, like a material tag, a polygon can only belong to one Part group at a time.

Selection Set - useful for recalling previous polygon selections. However, when specified here as a tag type, the selection set masks the material groups layers to the associated polygons of the specified selection set. One polygon can belong to many different selection sets.

Polygon Tag - When any type of tag is created, you are presented with a dialog box requesting a name. All tags of the defined type contained in the scene appear here, where you can use this dropdown to select the particular named tag you wish to use.

Scope - the affect of the material group's layers can be further limited to only Fur materials, polygonal Surface, or All. As a fur material typically derives its surfacing from the underlying polygons (technically, from the surface's material item layer), duplicating a material group and setting the scope to Fur allows you to specify surfacing attributes exclusive to the fur layers. This is how it's possible to have green grass growing from a brown dirt surface.

Layered Fur - enabling this checkbox allows multiple Fur item layers, with different settings, on a single surface.

Apply to Sub-Group - using undefined Material Groups (when no tags are specified) can be a convenient way to organize Shader Tree layers. With the addition of the Apply to Sub-Group option, they can also be an effective way to apply a setting to a number of material groups all at once.

In the example below, there are three colored spheres, a box, and a ground plane. In the Shader Tree, you can see that the three colored spheres are grouped together into an undefined Material Group. Directly below the group parent, a checkerboard texture has been added (next to the red arrow). Since it is above all the other layers in the tree, and the group above it is undefined, it affects the entire scene, as illustrated by example one.

By simply enabling the Apply to Sub Groups option to the top Material Group layer, the checkerboard effect is limited to those material groups that are descendants of the group, as illustrated by example two. By setting the checkerboard pattern to Normal Multiply as the blending mode, you can quickly see how powerful the Apply to Sub-Group option can be for quickly and easily applying a single texture layer to multiple surfaces, as illustrated in example three.

Apply to SubGroups

Tip:  As item layers and materials add up in the Shader Tree, it can quickly become a long list that gets confusing and tedious to edit. While there are many functions that speed up and simplify the task of locating certain layers (such as the material selection mode), good Shader Tree organization is important.

You can select (highlight) multiple related layers and press the keyboard shortcut Ctrl+G, which automatically groups together the selected items. In this case the material group creates no mask for shading, but is simply used as an organizational tool. Renaming the layer further helps in identifying it in later sessions.