如何使用Maya的python代码将多维数据集制作为特定颜色

时间:2017-07-28 18:30:51

标签: python maya

我根据特定的顶点位置创建了多维数据集但我需要知道如何通过python脚本使这些多维数据集变为红色,而不必在Maya中选择多维数据集并手动将它们设置为红色。

1 个答案:

答案 0 :(得分:2)

要在maya中指定材质,您需要获取关联材质的着色组,该组在Maya中是const repeatElement = this.$element.find('my-child[ng-repeat]'); 节点。他们使用sets命令将其作为参数。

shadingEngine

您可以手动制作红色材料并将其称为任何您想要的,然后以这种方式分配。如果要以编程方式创建着色器,则为:

import maya.cmds as cmds

# assign shader to objects.  objects can be a single object or a list of objects
def assign_shader(shader, objects):
    # get the shadingGroup with listConnections
    shading_group = cmds.listConnections(shader, type='shadingEngine')[-1]
    # use `sets` to force the objects into the shading group
    cmds.sets(objects, fe=shading_group)

# examples
# assign_shader('lambert1', 'pCube1')
# assign_shader('lambert1', ['pCube1', 'pCube2'])

然后,您将 new_shader = cmds.shadingNode('lambert', asShader=True, name='yournamehere') new_sg = cmds.sets(renderable=True, noSurfaceShader=True, empty=True) cmds.connectAttr(new_shader + '.outColor', new_sg + ".surfaceShader", force=True) 提供给new_shader

如果你关心的只是一种简单的颜色,你应该使用上面的assign_shader着色器。要设置朗伯的颜色,它只是

lambert