EffectsChannelEx Overview

As is known, to any material or texture map in 3ds Max can be assigned a special identifier – Material ID Channel. Uses of this identifier allow applying to selected materials a various post-effects, both inside of 3ds Max, and in the external programs.

Historically, the interface of the material editor,†all post-effects which shipped with 3ds Max, and even the corresponding properties of objects in MAXScript allow to use value Material ID Channel only in the range from 0 to 15. And although for most of scenes this may be enough, such limitation is completely artificial.

The fact is that from the beginning the frame buffer, the core of 3ds Max, and even a plug-ins for exporting images (in particular to format .rpf), allow to work with Material ID Channel in the range from 0 to 255. The most of programs for post processing works with the same range too.

I represent the plug-in, which designed to improve the current situation. I can not change the interface of the material editor,†but by using the MAX SDK, I can offer advanced functions of MAXScript, which will allow using Material ID Channel in full range.

Plug-in EffectsChannelEx adds two new functions of MAXScript:

setEffectsChannel (<material> | <texture>) <integer>
getEffectsChannel (<material> | <texture>)

The first lets you assign Material ID Channel, the second returns the previously set value.

getEffectsChannel function was added only for the symmetry, as for reading the values you can still use the standard way:


Values of Material ID Channel, which set by using the setEffectsChannel are correctly processed by renders, exported to various formats, as well as used in the Render Elements (e.g. MultiMatteElement of V-Ray render).

To simplify use of the new functions, you can use the sample script for control the Material ID Channel.