使用cmds创建着色器的Maya不会出现在hypershade中

时间:2016-09-23 00:54:30

标签: maya

使用maya 2014/2015创建一个这样的着色器:

import maya.cmds as cmds
my_shader = cmds.createNode('lambert', n='mine')

将创建此结果。 enter image description here

任何人都知道如何让这个着色器反映在hypershade中?

1 个答案:

答案 0 :(得分:2)

着色器是一种略有不同的节点类型:

cmds.shadingNode('lambert', asShader=1)

您还需要创建一个shadingEngine节点,我们通常称之为ShaderGroups或SG`s:

cmds.shadingNode('shadingEngine', asUtility=1)

并将着色器的.outColor连接到SG的.surfaceShader属性。 SG节点实际上是Maya集的子类,使用sets命令为其分配对象或面。