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