ApplyMaterial

Apply a material from the mat input to your 3D object(s). For example, you can use this node to apply a global material to several merged objects (note that this overrides any individual materials applied to the geometry before it was merged).

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The 3D geometry object to which you want to apply a material. If you want to apply the same material to several objects, you can also connect a MergeGeo node here.

mat

The material you want to apply to your 3D object, for example, a BasicMaterial node.

Control (UI)

Knob (Scripting)

Default Value

Function

ApplyMaterial Tab

display

display

unchanged

Adjust the display characteristics of the 3D object. These settings don’t affect the render output of the scene; these are for display purposes only in the 3D Viewer.

off - hides the 3D object.

wireframe - displays only the outlines of the object’s geometry.

solid - displays all geometry with a solid color.

solid+wireframe - displays the geometry as solid color with the object’s geometry outlines.

textured - displays only the surface texture.

textured+wireframe - displays the wireframe plus the surface texture.

unchanged - doesn't change the object's display mode. The Viewer can override this setting.

selectable

selectable

enabled

When enabled, you can make selections as normal in the Viewer. When disabled, points cannot be selected or changed.

render

render_mode

unchanged

Sets how the object will render. This control is independent from the display selection, but has the same settings.

filter

filter_type

all

Select the geometry objects to which the material is applied:

all - apply the material to all incoming geometry objects.

name - only apply the material to incoming geometry objects that match the filter name settings.

Note:  For name to work, the geometry has to have a name attribute. The only nodes that add this attribute are ModelBuilder and ReadGeo (when reading in an Alembic and USD files), but third-party plug-ins can add it too.

filter_name_match

contains

Sets how to filter the incoming geometry objects to determine which objects the material is applied to:

equals - set the material on any objects whose name matches the string in the filter name field exactly.

doesn't equal - set the material on any objects whose name does not match the string in the filter name field exactly.

contains - set the material for any objects whose name contains the string in the filter name field.

This can be useful when you have some structure to your object names. For example, if you have objects like /Root/Chair/Seat, /Root/Chair/Back, and /Root/Table, you can select contains and set the filter name field to chair to apply the material to all parts of the chair while leaving the table alone.

doesn't contain - set the material for any objects whose name does not contain the string in the filter name field.

This control is only available when filter is set to name.

filter name

N/A

The filter name to use to determine which objects the material is applied to. You can type the filter name directly into this field or use the choose button to select a filter name from a list of incoming geometry objects.

This control is only available when filter is set to name.

choose

filter_refresh

N/A

Open the Object Name Chooser dialog. This allows you to select a filter name from a list of incoming geometry objects.

This control is only available when filter is set to name.

Step-by-Step Guides

Applying a Material Using the ApplyMaterial Node