Shading nodes classification
 
 
 

When registering your new shading node in Maya, you can assign a classification to your node that will determine where it appears in the Create Render Node interface. Each classification corresponds to a Tab and Frame in which it appears.

The following is a list of classification strings and where they appear in the interface when you use them.

Tab Frame Classification String

Textures

2D Textures 3D Textures Environment Textures

“texture/2d” “texture/3d” “texture/environment”

Materials

Surface Materials Volumetric Materials Displacement Materials

“shader/surface” “shader/volume” “shader/displacement”

Lights

Lights

“light”

Utilities

General Utilities Color Utilities Particle Utilities Image Planes Glow

“utility/general” “utility/color” “utility/particle” “imageplane” “postprocess/opticalFX”

Implicit connections and the Create Render Node window

When you create a rendering node using Create Render Node, you are really executing embedded commands that are used to create a shading node and connect them together. The creation command is “shadingNode” and the connection command is “connectAttr”. If you use the commands in the command shell window, no auxiliary nodes are created. All auxiliary nodes are created by the user interface.

The following is a complete description of what the buttons in the Create Render Node window do. The commands are listed by what they execute; this shows you what nodes get created, and how they are connected. For some classifications, the behavior is dependent on the status of check boxes or radio buttons in the window.

Shaders

shader/surface

(for example, blinn)

  1. “shadingNode -asShader blinn;”

    The command creates the ‘blinn’ node, connects its “.message” attribute to the “.shaders” attribute on the defaultShaderList1 node - this lets the multilister know that the node is a shader.

    If the “With Shading Group” check box is checked, then the following also occurs:

  2. “sets -renderable true -noSurfaceShader true -empty -name blinn1SG;”

    “connectAttr -f blinn1.outColor blinn1SG.surfaceShader;”

    These command create a new shadingGroup and make the shading group’s surface shader the newly created blinn node.

shader/volume

(for example, lightFog)

  1. “shadingNode -asShader lightFog;”

    Same as above, used to let the multilister know that the node is a shader.

    If the “With Shading Group” check box is checked, then the following also occurs:

  2. “sets -renderable true -noSurfaceShader true -empty -name lightFog1SG;”

    “connectAttr -f lightFog1.outColor lightFog1SG.volumeShader;”

    This will create a new shading group and make the shading group’s volume shader the newly created light fog node.

shader/displacement

(for example, displacementShader)

  1. “shadingNode -asShader displacementShader;”

    Same as above.

    If the “With Shading Group” check box is checked, then the following also occurs:

  2. “sets -renderable true -noSurfaceShader true -empty -name displacementShader1SG;”

    “connectAttr -f displacementShader1.displacement DisplacementShader1SG.displacementShader;”

    Same as above, except that the new shader becomes the displacement shader for the new shading group.

Textures

texture/2d

(for example, checker)

  1. “shadingNode -asTexture checker;”

    Creates the texture node, tells the multilister that it is a texture.

    If the “With New Texture Placement” button is checked, then the following are also executed:

  2. “shadingNode -asUtility place2dTexture;”

    “connectAttr place2dTexture1.outUV checker1.uv;”

    Creates a 2d texture placement and connects it to the texture node.

    If the “As Projection” button is checked, then the following are also executed:

  3. “shadingNode -asTexture projection;”

    “shadingNode -asUtility place3dTexture;”

    “connectAttr place3dTexture1.wim[0] projection1.pm;”

    “connectAttr checker1.outColor projection1.image;”

    Creates a projection 3d texture with placement, and connects the newly created 2d texture to its “image” attribute.

    If the “As Stencil” button is checked, then the following are also executed:

  4. “shadingNode -asTexture stencil;”

    “shadingNode -asUtility place2dTexture;”

    “connectAttr place2dTexture2.outUV stencil1.uv;”

    “connectAttr checker1.outColor stencil1.image;”

    Creates a stencil 2d texture with placement, and connects the newly created 2d texture to its “image” attribute.

texture/3d

(for example, brownian)

  1. “shadingNode -asTexture brownian;”

    Creates the texture node, tells the multilister that it is a texture.

    If the “With New Texture Placement” button is checked, then the following are also executed:

  2. ”shadingNode -asUtility place3dTexture;”

    “connectAttr place3dTexture2.wim[0] brownian1.pm;”

    Creates a new 3d texture placement and connects its “.worldInverseMatrix” to the “placementMatrix” attribute of the newly created texture node.

texture/environment

(for example, sphere)

Identical to texture/3d above.

Lights

light

(for example, pointLight)

“shadingNode -asLight pointLight;”

Creates the light node, tells the multilister that it is a light.

Utilities

all utilities

(for example, imagePlane)

“shadingNode -asTexture -asUtility imagePlane;”

Creates the utility node, tells the multilister that it is a utility.